服務器存儲數據恢復環境:
某品牌服務器存儲上有16塊FC硬盤,存儲設備前面板的10號硬盤指示燈和13號硬盤指示燈亮黃燈,存儲設備映射到服務器redhat linux系統上的卷無法掛載,業務中斷。
服務器存儲數據恢復過程:
1、通過存儲設備廠商的管理程序storage manager連接到服務器存儲上查看當前存儲狀態,邏輯卷狀態failed。查看物理磁盤狀態,6號盤報告“警告”,10號和13號盤報告“失敗”。
通過storage manager將故障存儲的完整日志狀態備份,解析備份出來的存儲日志獲取邏輯卷結構的部分信息。
2、北亞企安數據恢復工程師將故障存儲中16塊FC盤做好標記后,從存儲設備中取出。使用專業鏡像設備對16塊FC盤進行初步測試。經過測試發現16塊盤均能正常識別。分別檢測16塊盤的SMART狀態,結果6號盤的SMART狀態為“警告”,和storage manager中的報告一致。
3、北亞企安數據恢復工程師在windows環境下將識別出來的FC盤在磁盤管理器中標記為脫機狀態,然后對原始磁盤進行扇區級別完整鏡像。將原始磁盤中的所有物理扇區鏡像到windows系統下的邏輯磁盤并以文件形式保存。
在鏡像過程中服務器數據恢復工程師發現6號磁盤的鏡像速度極慢,結合先前檢測結果綜合判斷,6號盤應該存在大量損壞以及不穩定扇區,導致windows環境下的一些軟件無法對其進行操作。
4、使用專業鏡像設備對6號硬盤進行壞道鏡像操作,在鏡像過程中觀察鏡像的速度和穩定性。在鏡像過程中發現6號盤上的壞道并不多,但是存在大量讀取響應時間長的不穩定扇區。于是服務器數據恢復工程師調整6號盤的拷貝策略,將“遇到壞道跳過扇區數”和“響應等待時間”等參數作一些調整后繼續對6號盤進行鏡像操作。同時觀察剩余盤在windows環境下鏡像的情況。
5、鏡像完成后查看日志,發現在storage manager和SMART狀態中均沒有報錯的1號盤也存在壞道,10號和13號盤均存在大量不規則的壞道分布。
根據壞道列表使用工具定位到目標鏡像文件進行分析后發現,ext3文件系統的一些關鍵源數據信息被壞道破壞。只能等6號盤鏡像完畢后,通過同一條帶進行xor以及根據文件系統上下文關系手動修復被損壞的文件系統。
6、6號盤鏡像完成,但是為了最大限度做出有效扇區和保護磁頭所設置的拷貝策略,會讓這次完成的鏡像在鏡像過程中自動跳過一些不穩定扇區,所以現在的鏡像是不完整的。于是服務器數據恢復工程師調整拷貝策略,繼續鏡像被跳過的扇區,直到6號盤所有扇區全部鏡像完成。
7、所有硬盤鏡像完成后,基于鏡像文件分析所有硬盤底層數據。根據北亞企安數據恢復工程師對ext3文件系統的逆向研究和對日志文件的分析,獲取到16塊FC盤的盤序、RAID塊大小、RAID的校驗走向和方式等重組RAID的必要信息,根據獲取到的信息虛擬重組RAID。RAID搭建完成后進一步解析ext3文件系統。
8、和用戶方溝通后提取出一些oracle數據庫的dmp文件,用戶方嘗試通過dmp文件恢復數據庫。
在dmp恢復的過程中,oracle數據庫報告imp-0008錯誤。北亞數據恢復中心的oracle數據庫工程師分析導入dmp文件的日志文件后,發現恢復的dmp文件存在問題,從而導致dmp導入數據失敗。
9、服務器數據恢復工程師重新分析raid結構,進一步確定ext3文件系統被破壞的程度,重新恢復dmp文件和dbf原始庫文件。
10、將恢復出來的dmp文件移交給用戶方進行數據導入測試,這次測試順利,沒有發現問題。對恢復出來的dbf原始庫文件進行校驗檢測,所有文件均能通過測試。
11、數據庫工程師到達現場,和用戶溝通后決定使用恢復出來的dbf原始庫文件進行操作,以確保把數據恢復到最佳狀態。
oracle數據庫恢復過程:
1、拷貝數據庫文件到原數據庫服務器作為備份,備份文件所在文件夾路徑為/home/oracle/tmp/syntong。在根目錄下創建一個名為“oradata”的目錄,把syntong文件夾拷貝到oradata目錄下。更改oradata文件夾及其所有文件的屬組和權限。
2、備份原數據庫環境,包括ORACLE_HOME下product文件夾下的相關文件。配置監聽,使用原機中的splplus連接到數據庫,嘗試啟動數據庫到nomount狀態。進行基本狀態查詢后,了解到環境和參數文件沒有問題。 嘗試啟動數據庫到mount狀態,進行狀態查詢沒有發現問題。當啟動數據庫到open狀態,出現報錯:
ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: '/oradata/syntong/system01.dbf'
ORA-01207: file is more recent than control file - old control file
經過進一步的檢測和分析,判斷此故障為控制文件和數據文件信息不一致,這是一類常因斷電或突然關機引發的故障。
3、對數據庫文件進行逐個檢測,檢測到所有數據文件都不存在物理損毀的情況。
4、在mount狀態下,對控制文件進行備份。alter database backup controlfile to trace as ' /backup/controlfile'。對備份的控制文件進行查看修改,取得其中的重建控制文件命令。把這些命令復制到一個新建腳本文件controlfile.sql中。
5、關閉數據庫,刪除/oradata/syntong/下的3個控制文件。 啟動數據庫到nomount狀態,執行controlfile.sql 腳本。
SQL>startup nomount
SQL>@controlfile.sql
6、完成重建控制文件后,啟動數據庫報錯,需要做進一步處理。
SQL> alter database open
alter database open
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/free/oracle/oradata/orcl/system01.dbf'
然后執行恢復命令:
recover database using backup controlfile until cancel
Recovery of Online Redo Log: Thread 1 Group 1 Seq 22 Reading mem 0
Mem# 0 errs 0: /free/oracle/oradata/orcl/redo01.log
…
做介質恢復,直到返回報告,恢復完成。
7、嘗試open數據庫。
SQL> alter database open resetlogs
8、成功啟動數據庫。把原來temp表空間的數據文件加入到對應的temp表空間中。
9、對數據庫進行各種常規檢查,沒有發現任何錯誤。
10、進行emp備份。全庫備份完成也沒有報錯。將應用程序連接到數據庫,進行應用層面的數據驗證。經過驗證沒有發現問題。本次數據恢復工作完成。
審核編輯 黃宇
-
服務器
+關注
關注
14文章
10251瀏覽量
91480 -
數據恢復
+關注
關注
10文章
712瀏覽量
18983
發布評論請先 登錄
服務器數據恢復—存儲映射的卷無法掛載故障,多場景數據完整恢復實操解析
評論