raid5兩塊硬盤掉線,裏面是數據庫如何恢復數據

【raid數據恢復故障描述】

華爲S5300存儲,存儲中以供有16塊FC硬盤,整個存儲空間由450GB FC的硬盤組成一個RAID5磁盤陣列(包含一塊熱備盤)。該存儲中的RAID5陣列3號硬盤由於未知原因離線,熱備盤上線並進行數據同步,同步完成到50%左右時8號盤由於未知原因離線,同步失敗,raid陣列癱瘓,上層的lun失效,急需對該存儲中的raid陣列進行數據恢復。

【raid數據恢復過程一:檢測raid陣列所有磁盤】

首先對該raid中所有磁盤(包括正常磁盤和掉線磁盤)進行物理檢測以確定離線盤有無物理故障,檢測結果爲3號盤存在物理故障,其他所有包括8號盤均無物理故障。

【raid數據恢復過程二:備份raid陣列所有磁盤】

物理檢測結束後使用dd命令或數據恢復工具將所有磁盤都鏡像成文件備份(這麼做的目的是爲了在鏡像中進行數據恢復操作,保護用戶源數據)。

【raid數據恢復過程三:分析該陣列raid結構】

工程師對該raid陣列中的所有磁盤進行分析,找出熱備盤(熱備盤理論上與其他數據盤有明顯區別,可以直接區分)由於raid是條帶化的,所有陣列中的數據均按照一定規律進行存儲,所以工程師分析raid中的數據庫頁在每一個物理磁盤中的分佈情況計算出raid組的磁盤順序、數據走向、條帶大小等基本信息。

【raid數據恢復過程四:找出raid陣列中被同步的壞盤】

根據分析得出的RAID信息,嘗試通過RAID虛擬程序將原始的RAID組虛擬出來。但由於整個RAID組中掉線兩塊盤並且有一塊硬盤數據被同步損壞。仔細分析每一塊硬盤中的數據,發現有一塊硬盤在同一個條帶上的數據和其他硬盤明顯不一樣,因此初步判斷此硬盤可能是被同步掉損壞的硬盤,通過RAID校驗程序對這個條帶做校驗,因此可以明確被同步損壞盤了。

【raid數據恢復過程四:分析raid陣列lun信息】

分析lun信息首先虛擬出raid陣列狀態,分析lun在陣列中的分配狀態,分析lun分配的數據塊,然後根據數據MAP並導出LUN的數據。

【文件系統數據恢復過程:解析EXT3文件系統】

由於是使用熱備盤虛擬的RAID結構,EXT3文件系統無法正常掛載,所以只能提取oracle數據庫文件,利用自主開發的文件系統解析程序對其進行文件系統的解析,導出oracle數據庫文件,並把數據庫文件移交給數據庫工程師進行校驗和驗證

【數據庫修復過程一:檢測數據文件完整性】

使用Oracle數據庫文件檢測工具檢測每個數據庫文件是否完整,發現有錯誤。再使用Oracle數據庫檢測工具(檢驗更嚴格),發現有部分數據庫文件和日誌文件錯誤, system 和 sysaux表空間各存在100多壞塊;3個控制文件都存在壞塊許多壞塊,控制文件全部損壞;eschoolspace表空間的3個文件的壞塊更多,達到1000個;undotbs02丟失;數據庫工程師對此類文件進行修復,
圖一:
raid5兩塊硬盤掉線,裏面是數據庫如何恢復數據
圖二:
raid5兩塊硬盤掉線,裏面是數據庫如何恢復數據

【數據庫修復過程一:修復數據庫】

我們創建了控制文件,創建undo表空間,啓動數據庫到mount。system數據文件壞塊使得數據庫不能open。各種隱含參數也不能繞過system的壞塊;搭建數據庫環境。使用dmp文件還原數據庫。使用3月9號之後的導入,都報錯,大約只能導入10G左右的數據。
圖三:
raid5兩塊硬盤掉線,裏面是數據庫如何恢復數據

【數據驗證:數據恢復成功】

由用戶方配合,啓動Oracle數據庫,在本地虛擬機安裝OA客戶端。通過OA客戶端對數據記錄進行驗證,並且用戶安排不同部門人員進行遠程驗證。驗證通過,數據恢復成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章