數據恢複咨詢熱線:400-666-3702??

歡迎訪問南京兆柏數據恢複公司,專業數據恢複15年

兆柏數據恢複公司

?硬件數據恢複案例

?當前位置: 主頁 > 硬盤數據恢複案例 > 硬件數據恢複案例 >

華爲存儲oracle數據庫恢複

?浏覽量: 0 次??来源:未知??发布日期:2019-09-19 09:34:43

华为S5300存储阵列RAID瘫痪,Oracle数据库内有重要数据需要恢复,恢复数据的整个存储空间由450GB和600G FC的硬盘组成,共12块,其中11块硬盘组成一个RAID5的阵列,剩余1块做成热备盘使用。由于RAID5阵列中出现1块硬盘故障,热备盘成功激活,在进行同步的过程中又一块硬盘出现故障,因此导致RAID5阵列瘫痪,上层LUN无法正常使用。
 
一、檢測磁盤
由于存儲是因爲RAID陣列中某些磁盤掉線,從而導致整個存儲不可用。因此接收到磁盤以後先對所有磁盤做物理檢測,檢測完後發現一塊硬盤有物理故障,其他硬盤沒有物理故障。
 
二、備份數據
考慮到,數據的安全性以及可還原性,在做數據恢複之前需要對所有源數據做備份,以防萬一其他原因導致數據無法再次恢複。使用dd命令或winhex工具將所有磁盤都鏡像成文件。
 
三、故障分析
1、分析故障原因
由于前兩個步驟並檢測到磁盤有物理故障,由此推斷可能是由于某些磁盤讀寫不穩定和物理故障導致故障發生。因爲華爲S5300控制器檢查磁盤的策略很嚴格,一旦某些磁盤性能不穩定,華爲S5300控制器就認爲是壞盤,就將認爲是壞盤的磁盤踢出RAID組。而一旦RAID組中掉線的盤到達到RAID級別允許掉盤的極限,那麽這個RAID組將變的不可用,上層基于RAID組的LUN也將變的不可用,之後又新建RAID,有一塊硬盤在同步的過程中被損壞,目前初步了解的情況爲基于RAID組的LUN分配給linux系統使用,重要數據爲Oracle數據庫。
 
2、分析RAID組結構
华为S5300存储的LUN都是基于RAID组的,因此需要先分析底层RAID组的信息,然后根据分析的信息重构原始的RAID组。分析每一块数据盘,发现一块盘的数据同其它数据盘不太一样,初步认为可能是hot Spare盘。接着分析其他数据盘,分析Oracle数据库页在每个磁盘中分布的情况,并根据数据分布的情况得出RAID组的条带大小,磁盘顺序及数据走向等RAID组的重要信息。
 
3、分析RAID組被同步損壞盤
根據上述分析的RAID信息,嘗試通過兆柏自主開發的RAID虛擬程序將原始的RAID組虛擬出來。但由于整個RAID組中掉線兩塊盤並且有一塊硬盤數據被同步損壞。仔細分析每一塊硬盤中的數據,發現有一塊硬盤在同一個條帶上的數據和其他硬盤明顯不一樣,因此初步判斷此硬盤可能是被同步掉損壞的硬盤,通過兆柏自主開發的RAID校驗程序對這個條帶做校驗,因此可以明確被同步損壞盤了。
 
4、分析RAID組中的LUN信息
由于LUN是基于RAID組的,因此需要根據上述分析的信息將RAID組最新的狀態虛擬出來。然後分析LUN在RAID組中的分配情況,以及LUN分配的數據塊MAP。因此只需要將LUN的數據塊分布MAP提取出來。然後針對這些信息編寫相應的程序,LUN的數據MAP做解析,然後根據數據MAP並導出LUN的數據。
 
四、解析EXT3文件系統
 
1、解析EXT3文件系統
     由于是使用热备盘虚拟的RAID结构,EXT3文件系统无法正常挂载,所以只能提取oracle数据库文件,利用自主开发的文件系统解析程序对其进行文件系统的解析,导出oracle数据库文件,并把数据库文件移交给数据库工程师进行校验和验证
 
五、檢測Oracle數據庫文件及修複
 
1、檢測數據庫文件是否完整
          使用Oracle数据库文件检测工具检测每个数据库文件是否完整,发现有错误。再使用兆柏自主研发的Oracle数据库检测工具(检验更严格),发现有部分数据库文件和日志文件错误, system 和 sysaux表空间各存在100多坏块;3个控制文件都存在坏块许多坏块,控制文件全部损坏;eschoolspace表空间的3个文件的坏块更多,达到1000个;undotbs02丢失;数据库工程师对此类文件进行修复:
 
2、修複Oracle數據庫
              我们创建了控制文件,创建undo表空间,启动数据库到mount。system数据文件坏块使得数据库不能open。各种隐含参数也不能绕过system的坏块;搭建数据库环境。使用dmp文件还原数据库。使用3月9号之后的导入,都报错,大约只能导入10G左右的数据,如下图:
 
六、數據驗證
        由用户方配合,启动Oracle数据库,在本地虚拟机安装OA客户端。通过OA客户端对数据记录进行验证,并且用户安排不同部门人员进行远程验证。
 
七、數據恢複結論
由于故障發生後又重建RAID,導致一塊盤的數據被同步損壞,對後期的數據恢複造成了困難。因爲熱備盤同步了一段時間寫入了部分數據,所以使用熱備盤裏面的數據進行恢複,只能恢複部分數據,只有3月9日之前的數據。
相關推薦