服務(wù)器存儲(chǔ)數(shù)據(jù)恢復(fù)環(huán)境:
某品牌光纖存儲(chǔ)上共有16塊FC硬盤(pán)。存儲(chǔ)上的卷映射到Linux操作系統(tǒng)上。Linux操作系統(tǒng)上運(yùn)行Oracle數(shù)據(jù)庫(kù)。
服務(wù)器存儲(chǔ)故障&檢測(cè):
存儲(chǔ)上2塊硬盤(pán)故障燈亮起,存儲(chǔ)映射到linux操作系統(tǒng)上的卷掛載不上,業(yè)務(wù)中斷。
使用storage manager連接到存儲(chǔ)查看存儲(chǔ)目前狀態(tài),發(fā)現(xiàn)邏輯卷狀態(tài)失??;6號(hào)盤(pán)報(bào)告“警告”,10號(hào)盤(pán)和13號(hào)盤(pán)報(bào)告“失敗”;通過(guò)storage manager將當(dāng)前存儲(chǔ)的完整日志狀態(tài)備份下來(lái),解析備份的日志獲取關(guān)于邏輯卷結(jié)構(gòu)的部分信息。
將16塊FC盤(pán)標(biāo)記后從存儲(chǔ)中取出,使用專(zhuān)業(yè)設(shè)備檢測(cè)后發(fā)現(xiàn)16塊盤(pán)均能正常識(shí)別,6號(hào)盤(pán)的SMART狀態(tài)為“警告”,和在storage manager中的報(bào)告結(jié)果一致。
將所有磁盤(pán)以只讀方式進(jìn)行扇區(qū)級(jí)全盤(pán)鏡像。在鏡像過(guò)程中觀察鏡像的速度和穩(wěn)定性,發(fā)現(xiàn)6號(hào)盤(pán)的鏡像速度異常,結(jié)合之前檢測(cè)結(jié)果,基本上可以判斷6號(hào)盤(pán)應(yīng)該存在損壞或者不穩(wěn)定扇區(qū)。經(jīng)過(guò)觀察發(fā)現(xiàn)6號(hào)盤(pán)的壞道并不多,但是存在大量的讀取響應(yīng)時(shí)間長(zhǎng)的不穩(wěn)定扇區(qū)。調(diào)整鏡像策略繼續(xù)對(duì)6號(hào)盤(pán)做鏡像。
所有磁盤(pán)鏡像完成后,查看日志,發(fā)現(xiàn)在storage manager和硬盤(pán)SMART狀態(tài)檢測(cè)中均沒(méi)有發(fā)現(xiàn)問(wèn)題的1號(hào)盤(pán)也存在壞道,10號(hào)和13號(hào)盤(pán)均存在大量不規(guī)律的壞道。根據(jù)壞道列表定位到目標(biāo)鏡像文件,分析后發(fā)現(xiàn)ext3文件系統(tǒng)的部分關(guān)鍵源數(shù)據(jù)信息已經(jīng)被壞道破壞。只能等所有磁盤(pán)鏡像完畢后,
通過(guò)同一條帶進(jìn)行xor以及根據(jù)文件系統(tǒng)上下文關(guān)系手動(dòng)修復(fù)被損壞的文件系統(tǒng)。
雖然通過(guò)調(diào)整鏡像策略完成6號(hào)盤(pán)的鏡像,但是調(diào)整后的鏡像策略會(huì)自動(dòng)跳過(guò)一些不穩(wěn)定扇區(qū),所以做出來(lái)的鏡像是不完整的。再次調(diào)整鏡像策略,繼續(xù)鏡像被跳過(guò)的扇區(qū),直到全部鏡像完成。
基于鏡像文件分析所有磁盤(pán)底層數(shù)據(jù)。通過(guò)對(duì)ext3文件系統(tǒng)的逆向分析以及對(duì)日志文件的分析,獲取到16塊FC盤(pán)在存儲(chǔ)中的盤(pán)序、RAID的塊大小、RAID的校驗(yàn)走向和方式等重組RAID所需要的信息。嘗試使用上述獲取到的信息重組RAID,重組完成后解析ext3文件系統(tǒng)。和用戶溝通后,提取出一些oracle的dmp文件,用戶嘗試使用這些dmp文件恢復(fù)Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)。
在使用dmp文件恢復(fù)Oracle數(shù)據(jù)庫(kù)的過(guò)程中,數(shù)據(jù)庫(kù)報(bào)告imp-0008錯(cuò)誤。對(duì)導(dǎo)入dmp文件的日志文件進(jìn)行分析,發(fā)現(xiàn)恢復(fù)出來(lái)的dmp文件存在問(wèn)題。重新分析raid結(jié)構(gòu),進(jìn)一步確定ext3文件系統(tǒng)被破壞的程度,重新恢復(fù)dmp文件和dbf原始庫(kù)文件。將恢復(fù)出來(lái)的dmp文件進(jìn)行導(dǎo)入測(cè)試,這次沒(méi)有發(fā)現(xiàn)問(wèn)題。對(duì)恢復(fù)出來(lái)的dbf原始庫(kù)文件進(jìn)行校驗(yàn)檢測(cè),所有文件均能通過(guò)檢測(cè)。
Oracle數(shù)據(jù)庫(kù)恢復(fù)過(guò)程:
1、拷貝數(shù)據(jù)庫(kù)文件到原數(shù)據(jù)庫(kù)服務(wù)器,目標(biāo)路徑為/home/oracle/tmp/syntong。
在根目錄下創(chuàng)建一個(gè)oradata文件夾,將備份的syntong文件夾拷貝到oradata目錄下。更改oradata文件夾及其所有文件的屬組和權(quán)限。
2、備份原數(shù)據(jù)庫(kù)環(huán)境,包括ORACLE_HOME下product文件夾下的相關(guān)文件。配置監(jiān)聽(tīng),使用原機(jī)中的splplus連接到數(shù)據(jù)庫(kù)。嘗試啟動(dòng)數(shù)據(jù)庫(kù)到nomount狀態(tài),查詢(xún)基本狀態(tài),確認(rèn)環(huán)境和參數(shù)文件均沒(méi)有問(wèn)題。 嘗試啟動(dòng)數(shù)據(jù)庫(kù)到mount狀態(tài),查詢(xún)狀態(tài)沒(méi)有問(wèn)題。啟動(dòng)數(shù)據(jù)庫(kù)到open狀態(tài)時(shí)報(bào)錯(cuò)。
北亞企安數(shù)據(jù)恢復(fù)—光纖存儲(chǔ)數(shù)據(jù)恢復(fù)
3、進(jìn)一步檢測(cè)和分析后基本上可以判斷此故障發(fā)生原因是控制文件和數(shù)據(jù)文件信息不一致,這一類(lèi)問(wèn)題通常是因?yàn)閿嚯娀虍惓jP(guān)機(jī)導(dǎo)致的。
4、逐個(gè)檢測(cè)數(shù)據(jù)庫(kù)文件,沒(méi)有發(fā)現(xiàn)有文件存在物理?yè)p壞。
5、在mount狀態(tài)下備份控制文件:alter database backup controlfile to trace as ' /backup/controlfile'。查看&修改備份的控制文件,獲取重建控制文件命令。將這些命令復(fù)制到一個(gè)新建腳本文件controlfile.sql中。
6、關(guān)閉數(shù)據(jù)庫(kù),刪除/oradata/syntong/下的3個(gè)控制文件。 啟動(dòng)數(shù)據(jù)庫(kù)到nomount狀態(tài),執(zhí)行controlfile.sql 腳本。
北亞企安數(shù)據(jù)恢復(fù)—光纖存儲(chǔ)數(shù)據(jù)恢復(fù)
7、完成控制文件的重建后,啟動(dòng)數(shù)據(jù)庫(kù)。仍然報(bào)錯(cuò),需要進(jìn)一步處理。
北亞企安數(shù)據(jù)恢復(fù)—光纖存儲(chǔ)數(shù)據(jù)恢復(fù)
執(zhí)行恢復(fù)命令:
北亞企安數(shù)據(jù)恢復(fù)—光纖存儲(chǔ)數(shù)據(jù)恢復(fù)
做介質(zhì)恢復(fù),直到返回報(bào)告。
8、嘗試open數(shù)據(jù)庫(kù)。
SQL> alter database open resetlogs;
9、數(shù)據(jù)庫(kù)啟動(dòng)成功。把原temp表空間的數(shù)據(jù)文件加入到對(duì)應(yīng)的temp表空間中。
10、對(duì)數(shù)據(jù)庫(kù)進(jìn)行各種常規(guī)檢查,沒(méi)有發(fā)現(xiàn)任何問(wèn)題
11、進(jìn)行emp備份。全庫(kù)備份完成,沒(méi)有報(bào)錯(cuò)。將應(yīng)用程序連接到數(shù)據(jù)庫(kù)驗(yàn)證數(shù)據(jù)。
12、經(jīng)過(guò)仔細(xì)驗(yàn)證,用戶方確認(rèn)數(shù)據(jù)庫(kù)數(shù)據(jù)沒(méi)有問(wèn)題,認(rèn)可數(shù)據(jù)恢復(fù)結(jié)果。
審核編輯 黃宇
-
光纖
+關(guān)注
關(guān)注
19文章
3918瀏覽量
73199 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9160瀏覽量
85426 -
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
573瀏覽量
17457
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論