天天看點

Oracle資料庫檔案壞塊損壞的恢複方法

本文轉自 宋國建 51CTO部落格,原文連結:http://blog.51cto.com/sun510/2057394資料恢複故障描述:打開oracle資料庫報錯 “system01.dbf需要更多的恢複來保持一緻性,資料庫無法打開”。工程師檢測資料庫檔案發現sysaux01.dbf有壞塊,sysaux01.dbf檔案損壞。資料庫沒有備份,不能通過備份去恢複資料庫。客戶提供了資料庫oraclehome目錄的所有檔案,急需恢複zxfg使用者下的資料。

oracle資料庫故障分析:“system01.dbf需要更多的恢複來保持一緻性”,可能是控制檔案損壞、資料檔案損壞,資料檔案與控制檔案的SCN不一緻等。對資料庫檔案進一步檢測、分析,結果sysaux01.dbf檔案有壞塊。修複數并啟動資料庫後,許多查詢報錯,export和 data pump工具不能使用,查詢告警日志,分析報錯,由于sysaux檔案損壞,導緻發生上訴錯誤。從資料庫層面不能修複資料庫。system和使用者表空間的資料檔案都是正常的,可以利用底層解析資料檔案,恢複使用者資料。

oracle資料庫檢測與資料恢複恢複:

1 利用DBV 檢測資料檔案

圖一

Oracle資料庫檔案壞塊損壞的恢複方法

分析結果發現SYSAUX01.DBF檔案資料塊(Data)檢測失敗40頁,索引頁(Index)檢測失敗29頁,其他檔案檢測正常。

2 修複資料庫,打開資料庫

圖二

Oracle資料庫檔案壞塊損壞的恢複方法

圖三

Oracle資料庫檔案壞塊損壞的恢複方法

3 查詢資料庫報錯,export 和data pump報錯

圖四

Oracle資料庫檔案壞塊損壞的恢複方法

圖五

Oracle資料庫檔案壞塊損壞的恢複方法

進行各種嘗試 ,查閱大量資料。資料庫的這種内部錯誤,不能通過指令修複。

4底層解析,将ZXFG使用者的資料導入到新的資料庫中

圖六

Oracle資料庫檔案壞塊損壞的恢複方法

圖七

Oracle資料庫檔案壞塊損壞的恢複方法

資料庫資料恢複結果

底層解析資料庫檔案,将zxfg使用者的資料導入到新的資料庫中,完全恢複使用者需要的資料,恢複100%的資料,客戶非常滿意。,如需轉載請自行聯系原作者