Oracle數(shù)據(jù)庫故障:
機(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ù)進(jìn)行不完全恢復(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錯誤。進(jìn)行其他查詢,部分查詢正常,部分查詢報錯,且都是報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ù)庫,但是報同樣的錯誤,甚至一些查詢都無法進(jìn)行,導(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)過檢測,用戶方確認(rèn)恢復(fù)數(shù)據(jù)完整有效,認(rèn)可數(shù)據(jù)恢復(fù)結(jié)果。
審核編輯 黃宇
-
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
536瀏覽量
17338 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3750瀏覽量
64217 -
Oracle
+關(guān)注
關(guān)注
2文章
286瀏覽量
35086
發(fā)布評論請先 登錄
相關(guān)推薦
評論