Oracle數據庫故障:
機房異常斷電后,Oracle數據庫啟庫報錯:“system01.dbf需要更多的恢復來保持一致性,數據庫無法打開”。數據庫沒有備份,歸檔日志不連續(xù)。用戶方提供了Oracle數據庫的在線文件,需要恢復zxfg用戶的數據。
Oracle數據庫恢復方案:
檢測數據庫故障;嘗試掛起并修復數據庫;解析數據文件。
Oracle數據庫數據恢復過程:
1、利用DBV命令檢測數據文件的完整性。
北亞企安數據恢復—Oracle數據恢復
分析發(fā)現(xiàn)SYSAUX01.DBF文件的數據塊(Data)和索引頁(Index)都有幾十頁檢測失敗,說明SYSAUX01.DBF存在壞塊,其他文件檢測完整。
2、本地掛起數據庫并嘗試修復數據庫。
北亞企安數據恢復—Oracle數據恢復
起庫報ORA-01110錯誤,System01.dbf需要更多一致性恢復。使用recover database命令,利用在線日志做介質恢復。
北亞企安數據恢復—Oracle數據恢復
由于數據庫的控制文件已被修改,需要使用控制文件恢復數據庫。
北亞企安數據恢復—Oracle數據恢復
由于恢復數據庫需要某天的歸檔日志,但是歸檔日志丟失,只能使用cancel參數進行不完全恢復。
北亞企安數據恢復—Oracle數據恢復
3、執(zhí)行alter database open命令,打開數據庫。
北亞企安數據恢復—Oracle數據恢復
4、查詢實例狀態(tài),數據庫報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、使用北亞企安自主研發(fā)的DBF解析工具獲取數據。
北亞企安數據恢復—Oracle數據恢復
8、遷移對象到數據庫中。創(chuàng)建數據庫,在數據庫中創(chuàng)建用戶,為用戶分配表空間,解鎖用戶并授權。將解析到的用戶對象遷移到數據庫中。
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文章
720瀏覽量
19028 -
數據庫
+關注
關注
7文章
4068瀏覽量
68472 -
Oracle
+關注
關注
2文章
307瀏覽量
38638
發(fā)布評論請先 登錄
服務器RAID陣列故障數據恢復典型案例與技術解析
Oracle軟件在主機平臺的應用
MySQL數據庫備份恢復方式對比
Oracle數據庫ASM實例無法掛載的數據恢復案例
不用編程不用聯(lián)網,快速實現(xiàn)PLC與數據庫雙向數據通訊的案例
mysql數據恢復—mysql數據庫表被truncate的數據恢復案例
Oracle數據恢復—格式化分區(qū)導致Oracle數據庫報錯的數據恢復案例
數據庫數據恢復—MongoDB數據庫文件丟失的數據恢復案例
oracle數據恢復—oracle數據庫誤執(zhí)行錯誤truncate命令如何恢復數據?
MySQL數據庫是什么
分布式存儲數據恢復—虛擬機上hbase和hive數據庫數據恢復案例
數據庫數據恢復——MongoDB數據庫文件拷貝后服務無法啟動的數據恢復
Oracle數據恢復—異常斷電后Oracle數據庫啟庫報錯的數據恢復案例
評論