【北亞資料恢復】伺服器斷電導致Oracle資料庫報錯的資料恢復案例

北亞資料恢復發表於2022-03-15

故障:

由於伺服器意外斷電,導致伺服器上的Oracle資料庫報錯:“system01.dbf需要更多的恢復來保持一致性”。由於資料庫

並沒有備份,僅有一些斷斷續續的歸檔日誌,使用者聯絡北亞資料恢復中心修復Oracle資料庫。


Oracle資料恢復過程:

1、檢測伺服器及資料庫情況。用dbv命令檢測資料檔案是否是完整的。見下圖:


通過上圖可以看到檢測的檔案資料塊中有40頁的資料是檢測失敗的狀態。另外有29頁的索引資料也是失敗狀態。除此以外

其他檔案均為正常狀態。


2、掛起並修復資料庫

北亞資料恢復工程師在北亞資料恢復專用伺服器上搭建了一組Windows server環境,並搭建了和原伺服器上相同的Oracle

資料庫環境,嘗試將資料庫掛起來,檢視Oracle資料庫的報錯情況,見下圖:


3、根據Oracle資料庫的報錯情況,北亞資料恢復工程師採取了利用線上日誌恢復資料的方法,使用recover database命令

進行oracle資料庫修復。

4、修復過程中發現,由於歸檔日誌不連續,恢復資料庫所需時間段的歸檔日誌缺失,北亞資料恢復工程師只能使用cancel

引數進行不完全資料恢復。

5、北亞資料恢復工程師再次執行恢復命令,開啟資料庫查詢例項狀態,發現仍有部分資料包錯,報錯內容為“ora_00600”

,見下圖:

6、這類資料庫內部錯誤是無法通過命令進行修復的,北亞資料恢復中心工程師藉助expdp/exp工具嘗試對資料庫進行匯出,

但這兩個工具匯出資料庫時依然有報錯,資料庫已經不可能進行修復。


7、解析資料庫檔案獲取資料。使用北亞自主研發的一款dbf解析工具,獲取到使用者資料庫內的資料。見下圖:

8、北亞資料恢復工程師獲取到資料庫資料後在北亞資料恢復專用伺服器內搭建資料庫環境,建立資料庫、使用者、分配表空間

等。將解析出來的資料庫資料遷移到新資料庫中。使用toad for oracle工具驗證資料。見下圖:


9、匯出資料庫資料並驗證。北亞資料恢復工程師再次使用exp工具將資料庫匯出,匯出命令:

exp system/abc  file=C:\test\dump\zxfg.dmp log=C:\test\dump\zxfg.log owner=zxfg

本次匯出正常,沒有任何報錯。經使用者親自驗證,Oracle資料庫完整,本次資料恢復成功。


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

相關文章