raid5癱瘓導致資料庫損壞的恢復過程

北亞資料恢復發表於2018-05-23

【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丟失;資料庫工程師對此類檔案進行修復,
圖一:

圖二:

【資料庫修復過程一:修復資料庫】

我們建立了控制檔案,建立undo表空間,啟動資料庫到mount。system資料檔案壞塊使得資料庫不能open。各種隱含引數也不能繞過system的壞塊;搭建資料庫環境。使用dmp檔案還原資料庫。使用3月9號之後的匯入,都報錯,大約只能匯入10G左右的資料。
圖三:


【資料驗證:資料恢復成功】

由使用者方配合,啟動Oracle資料庫,在本地虛擬機器安裝OA客戶端。透過OA客戶端對資料記錄進行驗證,並且使用者安排不同部門人員進行遠端驗證。驗證透過,資料恢復成功

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2155003/,如需轉載,請註明出處,否則將追究法律責任。

相關文章