【服務(wù)器數(shù)據(jù)恢復(fù)】HP-Unix小機Oracle數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境:
一臺服務(wù)器中有一組由數(shù)塊SAS硬盤組建的RAID5陣列,陣列中有1塊熱備盤,上層部署OA以及Oracle數(shù)據(jù)庫。
服務(wù)器故障:
該磁盤陣列中有2塊硬盤出現(xiàn)故障先后離線,RAID5陣列癱瘓,上層LUN無法正常使用。經(jīng)過檢測發(fā)現(xiàn)硬盤無物理故障,無壞道。
服務(wù)器數(shù)據(jù)恢復(fù)過程:
1、將故障服務(wù)器中所有磁盤編號后取出,以只讀方式做全盤鏡像,備份完成后將磁盤按照編號還原到原服務(wù)器中。后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作都基于鏡像文件進行,避免對原始磁盤數(shù)據(jù)造成二次破壞。

2、基于鏡像文件分析底層數(shù)據(jù)獲取RAID條帶大小、磁盤順序及數(shù)據(jù)走向等RAID相關(guān)信息,根據(jù)獲取到RAID信息重組RAID5。
3、分析LUN在RAID中的分配情況和LUN分配的數(shù)據(jù)塊MAP。提取每一個LUN的數(shù)據(jù)塊分布MAP,北亞企安數(shù)據(jù)恢復(fù)工程師編寫程序解析所有LUN的數(shù)據(jù)MAP,根據(jù)數(shù)據(jù)MAP導(dǎo)出所有LUN的數(shù)據(jù)。

4、對導(dǎo)出的LUN的數(shù)據(jù)進行分析,發(fā)現(xiàn)所有LUN中均包含HP-Unix的LVM信息。通過解析每個LUN中的LVM信息,發(fā)現(xiàn)共有三套LVM:一個LVM劃分了一個LV來存放OA服務(wù)器端的數(shù)據(jù);第二個LVM中也劃分了一個LV來存放臨時備份數(shù)據(jù);剩下的4個LUN組建了一個LVM,劃分了一個LV來存放Oracle數(shù)據(jù)庫文件。5、北亞企安數(shù)據(jù)恢復(fù)工程師編寫程序解釋每套LVM中的LV卷,但在解釋的過程中程序報錯。經(jīng)過分析發(fā)現(xiàn)報錯原因是raid5癱瘓導(dǎo)致LVM信息損壞。人工修復(fù)損壞區(qū)域后,同步修改解釋程序后成功解釋LVM邏輯卷。
6、搭建HP-Unix環(huán)境,將解釋出來的LV卷映射到HP-Unix并嘗試掛載文件系統(tǒng)。但是掛載文件系統(tǒng)時出錯,嘗試使用“fsck –F vxfs” 命令修復(fù)vxfs文件系統(tǒng),但修復(fù)完成后還是無法掛載。
7、分析解釋出來的LV,根據(jù)VXFS文件系統(tǒng)的底層結(jié)構(gòu)校驗此文件系統(tǒng)的完整性。經(jīng)過分析發(fā)現(xiàn)VXFS文件系統(tǒng)果然有問題,出現(xiàn)問題的原因是:當(dāng)raid5癱瘓時VXFS文件系統(tǒng)正在執(zhí)行IO操作,導(dǎo)致部分文件系統(tǒng)元文件沒有更新以及損壞。手工修復(fù)這些損壞的元文件直至能夠正常解析VXFS文件系統(tǒng)。
8、將修復(fù)好的LV卷掛載到HP-Unix小機上,嘗試Mount文件系統(tǒng),這次沒有報錯,成功掛載。
9、在HP-Unix小機上成功mount文件系統(tǒng)后,將所有用戶數(shù)據(jù)均備份至指定的磁盤空間。部分文件目錄截圖如下:

10、使用Oracle數(shù)據(jù)庫文件檢測工具檢測數(shù)據(jù)庫文件的完整性,檢測無誤后使用北亞企安自主研發(fā)的Oracle數(shù)據(jù)庫檢測工具進行檢測,經(jīng)過檢測發(fā)現(xiàn)部分?jǐn)?shù)據(jù)庫文件和日志文件校驗不一致。數(shù)據(jù)庫工程師對這部分文件進行修復(fù)后并再次校驗,直至所有數(shù)據(jù)庫文件均通過校驗。
11、將恢復(fù)出來的Oracle數(shù)據(jù)庫附加到原始生產(chǎn)環(huán)境中,嘗試啟動Oracle數(shù)據(jù)庫,啟動成功。

數(shù)據(jù)驗證:
在用戶方的配合下啟動Oracle數(shù)據(jù)庫和OA服務(wù)端。在本地電腦上安裝OA客戶端,通過OA客戶端驗證新舊數(shù)據(jù)記錄,安排不同部門人員進行遠程驗證。經(jīng)過反復(fù)驗證確認數(shù)據(jù)完整無誤。本次數(shù)據(jù)恢復(fù)工作完成。