Oracle數(shù)據(jù)庫故障:
機房異常斷電后,Oracle數(shù)據(jù)庫啟庫報錯:“system01.dbf需要更多的恢復(fù)來保持一致性,數(shù)據(jù)庫無法打開”。數(shù)據(jù)庫沒有備份,歸檔日志不連續(xù)。用戶方提供了Oracle數(shù)據(jù)庫的在線文件,需要恢復(fù)zxfg用戶的數(shù)據(jù)。
Oracle數(shù)據(jù)庫恢復(fù)方案:
檢測數(shù)據(jù)庫故障;嘗試掛起并修復(fù)數(shù)據(jù)庫;解析數(shù)據(jù)文件。
Oracle數(shù)據(jù)庫數(shù)據(jù)恢復(fù)過程:
1、利用DBV命令檢測數(shù)據(jù)文件的完整性。
北亞企安數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)恢復(fù)
分析發(fā)現(xiàn)SYSAUX01.DBF文件的數(shù)據(jù)塊(Data)和索引頁(Index)都有幾十頁檢測失敗,說明SYSAUX01.DBF存在壞塊,其他文件檢測完整。
2、本地掛起數(shù)據(jù)庫并嘗試修復(fù)數(shù)據(jù)庫。
北亞企安數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)恢復(fù)
起庫報ORA-01110錯誤,System01.dbf需要更多一致性恢復(fù)。使用recover database命令,利用在線日志做介質(zhì)恢復(fù)。
北亞企安數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)恢復(fù)
由于數(shù)據(jù)庫的控制文件已被修改,需要使用控制文件恢復(fù)數(shù)據(jù)庫。
北亞企安數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)恢復(fù)
由于恢復(fù)數(shù)據(jù)庫需要某天的歸檔日志,但是歸檔日志丟失,只能使用cancel參數(shù)進行不完全恢復(fù)。
北亞企安數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)恢復(fù)
3、執(zhí)行alter database open命令,打開數(shù)據(jù)庫。
北亞企安數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)恢復(fù)
4、查詢實例狀態(tài),數(shù)據(jù)庫報ora_00600錯誤。進行其他查詢,部分查詢正常,部分查詢報錯,且都是報ora_00600錯誤。
北亞企安數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)恢復(fù)
5、查看警告日志,追蹤文件查看內(nèi)部錯誤代碼;
警告日志部分內(nèi)容: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工具導(dǎo)出數(shù)據(jù)庫。
北亞企安數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)恢復(fù)
expdp導(dǎo)出數(shù)據(jù)庫報錯,和上面的查詢報同樣的錯誤。數(shù)據(jù)庫導(dǎo)出失敗。嘗試使用exp導(dǎo)出數(shù)據(jù)庫,但是報同樣的錯誤,甚至一些查詢都無法進行,導(dǎo)出數(shù)據(jù)庫失敗。因此數(shù)據(jù)庫的恢復(fù)已不可能。
7、使用北亞企安自主研發(fā)的DBF解析工具獲取數(shù)據(jù)。
北亞企安數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)恢復(fù)
8、遷移對象到數(shù)據(jù)庫中。創(chuàng)建數(shù)據(jù)庫,在數(shù)據(jù)庫中創(chuàng)建用戶,為用戶分配表空間,解鎖用戶并授權(quán)。將解析到的用戶對象遷移到數(shù)據(jù)庫中。
9、使用toad for oracle工具驗證數(shù)據(jù)。
北亞企安數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)恢復(fù)
10、使用exp或者expdp導(dǎo)出zxfg用戶下的所有對象。本案例使用exp導(dǎo)出數(shù)據(jù)。
命令如下:exp system/abc file=C:testdumpzxfg.dmp log=C:testdumpzxfg.log owner=zxfg
北亞企安數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)恢復(fù)
11、查看導(dǎo)出的dmp文件及導(dǎo)出的日志,確保導(dǎo)出文件沒有問題。
12、用戶導(dǎo)入數(shù)據(jù),查看導(dǎo)入數(shù)據(jù)的完整性。經(jīng)過檢測,用戶方確認恢復(fù)數(shù)據(jù)完整有效,認可數(shù)據(jù)恢復(fù)結(jié)果。
審核編輯 黃宇
-
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
633瀏覽量
17982 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3893瀏覽量
65714 -
Oracle
+關(guān)注
關(guān)注
2文章
298瀏覽量
35776
發(fā)布評論請先 登錄
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫文件拷貝后服務(wù)無法啟動的數(shù)據(jù)恢復(fù)

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server附加數(shù)據(jù)庫提示“錯誤 823”的數(shù)據(jù)恢復(fù)案例

服務(wù)器數(shù)據(jù)恢復(fù)—raid5陣列上層win系統(tǒng)+oracle數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—ORACLE常見故障的數(shù)據(jù)恢復(fù)可行性分析
Sybase數(shù)據(jù)恢復(fù)—Sybase數(shù)據(jù)庫無法啟動怎么恢復(fù)數(shù)據(jù)?

Oracle報錯“system01.dbf需要更多的恢復(fù)來保持一致性”的數(shù)據(jù)恢復(fù)案例

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—通過拼接數(shù)據(jù)庫碎片恢復(fù)SQLserver數(shù)據(jù)庫

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Oracle ASM實例無法掛載的數(shù)據(jù)恢復(fù)案例

oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫打開報錯的數(shù)據(jù)恢復(fù)案例

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫文件system01.dbf損壞的數(shù)據(jù)恢復(fù)案例

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫出現(xiàn)823錯誤的數(shù)據(jù)恢復(fù)案例

評論