Oracle數據庫故障:
機房異常斷電后,Oracle數據庫啟庫報錯:“system01.dbf需要更多的恢復來保持一致性,數據庫無法打開”。數據庫沒有備份,歸檔日志不連續。用戶方提供了Oracle數據庫的在線文件,需要恢復zxfg用戶的數據。
Oracle數據庫恢復方案:
檢測數據庫故障;嘗試掛起并修復數據庫;解析數據文件。
Oracle數據庫數據恢復過程:
1、利用DBV命令檢測數據文件的完整性。
北亞企安數據恢復—Oracle數據恢復
分析發現SYSAUX01.DBF文件的數據塊(Data)和索引頁(Index)都有幾十頁檢測失敗,說明SYSAUX01.DBF存在壞塊,其他文件檢測完整。
2、本地掛起數據庫并嘗試修復數據庫。
北亞企安數據恢復—Oracle數據恢復
起庫報ORA-01110錯誤,System01.dbf需要更多一致性恢復。使用recover database命令,利用在線日志做介質恢復。
北亞企安數據恢復—Oracle數據恢復
由于數據庫的控制文件已被修改,需要使用控制文件恢復數據庫。
北亞企安數據恢復—Oracle數據恢復
由于恢復數據庫需要某天的歸檔日志,但是歸檔日志丟失,只能使用cancel參數進行不完全恢復。
北亞企安數據恢復—Oracle數據恢復
3、執行alter database open命令,打開數據庫。
北亞企安數據恢復—Oracle數據恢復
4、查詢實例狀態,數據庫報ora_00600錯誤。進行其他查詢,部分查詢正常,部分查詢報錯,且都是報ora_00600錯誤。
北亞企安數據恢復—Oracle數據恢復
5、查看警告日志,追蹤文件查看內部錯誤代碼;
警告日志部分內容:ORA-00600: internal error code, arguments: [13013], [5001], [267], [8456009], [5], [8456009], [17], [], [], [], [], []
Non-fatal internal error happenned while SMON was doing logging scn->time mapping.
6、嘗試用expdp/exp工具導出數據庫。
北亞企安數據恢復—Oracle數據恢復
expdp導出數據庫報錯,和上面的查詢報同樣的錯誤。數據庫導出失敗。嘗試使用exp導出數據庫,但是報同樣的錯誤,甚至一些查詢都無法進行,導出數據庫失敗。因此數據庫的恢復已不可能。
7、使用北亞企安自主研發的DBF解析工具獲取數據。
北亞企安數據恢復—Oracle數據恢復
8、遷移對象到數據庫中。創建數據庫,在數據庫中創建用戶,為用戶分配表空間,解鎖用戶并授權。將解析到的用戶對象遷移到數據庫中。
9、使用toad for oracle工具驗證數據。
北亞企安數據恢復—Oracle數據恢復
10、使用exp或者expdp導出zxfg用戶下的所有對象。本案例使用exp導出數據。
命令如下:exp system/abc file=C:testdumpzxfg.dmp log=C:testdumpzxfg.log owner=zxfg
北亞企安數據恢復—Oracle數據恢復
11、查看導出的dmp文件及導出的日志,確保導出文件沒有問題。
12、用戶導入數據,查看導入數據的完整性。經過檢測,用戶方確認恢復數據完整有效,認可數據恢復結果。
審核編輯 黃宇
-
數據恢復
+關注
關注
10文章
596瀏覽量
17793 -
數據庫
+關注
關注
7文章
3868瀏覽量
65027 -
Oracle
+關注
關注
2文章
297瀏覽量
35418
發布評論請先 登錄
相關推薦
數據庫數據恢復—SQL Server附加數據庫提示“錯誤 823”的數據恢復案例

服務器數據恢復—raid5陣列上層win系統+oracle數據庫數據恢復案例
數據庫數據恢復—ORACLE常見故障的數據恢復可行性分析
oracle數據恢復—存儲掉盤導致Oracle數據庫文件大小變為0kb的數據恢復案例

數據庫數據恢復—通過拼接數據庫碎片恢復SQLserver數據庫

數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例

評論