[BBED]斷電異常後修復Oracle資料檔案(ORA-00702: bootstrap verison)
首先,感謝網路時代及各位技術分享者,雖環境各有不同,提供了很多思路和技術點,讓後來者更好的去實踐。
環境:Windows2012 資料中心版,Oracle11.2.0.4 單機
問題:
啟動資料庫時,報如下錯誤
ORA-00704: bootstrap process failure ORA-00702: bootstrap verison '' inconsistent with version '8.0.0.0.0' Error 704 happened during db open, shutting down database USER (ospid: 189078): terminating the instance due to error 704 Instance terminated by USER, pid = 189078
問題背景:系統掉電,重啟後就出現該問題。
警告日誌也沒太多參考資訊,跟蹤啟動過程
--跟蹤語句U如下
alter session set events '10046 trace name context forever,level 12'; oradebug setmypid alter session set events '10046 trace name context forever,level 12'; oradebug tracefile_name
檢視跟蹤檔案
--跟蹤檔案最後輸出資訊如下 EXEC #80694976:c=0,e=26374,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,plh=867914364,tim=4808628360 WAIT #80694976: nam='db file sequential read' ela= 672 file#=1 block#=520 blocks=1 obj#=59 tim=4808629202 WAIT #80694976: nam='db file scattered read' ela= 815 file#=1 block#=521 blocks=3 obj#=59 tim=4808651345 FETCH #80694976:c=0,e=23124,p=4,cr=5,cu=0,mis=0,r=0,dep=1,og=4,plh=867914364,tim=4808651593 STAT #80694976 id=1 cnt=0 pid=0 pos=1 obj=59 op='TABLE ACCESS FULL BOOTSTRAP$ (cr=5 pr=4 pw=0 time=23124 us)' ORA-00704: ???????? ORA-00702: ?????? '' ??? '8.0.0.0.0' ??? ORA-00704: ???????? ORA-00702: ?????? '' ??? '8.0.0.0.0' ??? *** 2019-11-20 21:47:07.570 USER (ospid: 324): terminating the instance due to error 704 EXEC #80717456:c=203125,e=2024015,p=12,cr=6,cu=0,mis=0,r=0,dep=0,og=1,plh=0,tim=4809376651 ERROR #80717456:err=1092 tim=4809376759
意思,建立完表 BOOTSTRAP$ 後,做掃描,出現問題,讀塊讀到521。
檢查下塊520/521 屬於什麼物件(透過正常的資料庫查詢結果)
如上圖,可以看到,物件 BOOTSTRAP$ 包括資料檔案1的520-523塊。
檢查下該物件內容
如上圖,可以看到版本顯示,還可以看到一些建立其他物件的語句,也就是說,該表包含了OBJ$,C_OBJ$,TAB$等基表的建立語句,本次問題就是在建立完成後無法掃描該表,。其他基表無法建立報錯
問題比較明顯,就是 BOOTSTRAP$壞了,需要修復。透過dbv檢查,並沒有發現壞塊,透過其他資料,可以嘗試用bbed 複製一個好的 BOOTSTRAP$ 塊到該資料檔案下。
用dbca建立一個測試庫(目的,平臺、資料庫版本一樣),建立完畢後,備份system01.dbf 資料檔案,刪除該測試庫。
使用bbed工具進行修復
需要注意的是,linux 、windows 資料檔案塊有區別,具體如下:
#windows
#linux
簡單說明,就是windows 資料檔案頭是從塊2開始(塊1是系統標識,bbed無權檢視),linux是從塊1開始(塊0 是系統標識)。
例如: 在資料庫裡識別的520,linux下 bbed 寫 block 520,windows 需要寫block 521.
此為windows平臺,操作如下:
1 D:\bbed_df\SYSTEM01_new.DBF 20 D:\bbed_df\SYSTEM01.DBF set ORACLE_HOME=C:\app\Administrator\product\11.2.0\dbhome_1 bbed PASSWORD=blockedit mode=edit blocksize=8192 listfile=D:\bbed_win\bbed_1.txt copy file 1 block 521 to file 20 block 521 copy file 1 block 522 to file 20 block 522 copy file 1 block 523 to file 20 block 523 copy file 1 block 524 to file 20 block 524
如上圖,我們檢查的是 檔案20 塊 524, 驗證時, 寫的system01.dbf 的塊標識是523。
注:bbed使用網路上一堆資料,Oracle11g已經不支援了,需要用Oracle10g甚至9i的一些相關包,可以儲存備用,Windows毛病多,用的時候即使系統有環境變數,也需要再設定下ORACLE_HOME。
bbed 功能確實很強大,也是在沒有備份情況下,很好的修復工具,這也是最後的嘗試。
不論如何,建議定期備份,注意不是資料泵/exp方式,用rman,資料庫太多,就採購備份軟體,集中備份,萬一出現,備份那點成本也就不算成本了。
備份很重要,相當重要 非常重要! ! !
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29487349/viewspace-2765103/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 6_Oracle truncate異常恢復之bbed修復Oracle
- ORACLE 10g中使用BBED修復損壞資料檔案Oracle 10g
- 【北亞資料恢復】異常斷電導致Oracle資料庫報錯的oracle資料恢復資料恢復Oracle資料庫
- 非歸檔模式下異常斷電導致的資料庫無法啟動的問題修復模式資料庫
- 伺服器斷電Oracle資料庫修復資料過程伺服器Oracle資料庫
- BBED (Oracle Block Brower and EDitor Tool) :資料塊修復工具OracleBloC
- [20160329]bbed修復offline的資料檔案.txt
- 【恢復】使用控制檔案的trace備份恢復因異常斷電導致所有控制檔案損壞的資料庫故障資料庫
- 【伺服器資料恢復】多次異常斷電後儲存執行中突然崩潰的資料恢復伺服器資料恢復
- 【伺服器資料恢復】異常斷電導致虛擬機器檔案丟失不能啟動的資料恢復案例伺服器資料恢復虛擬機
- 斷電後的系統修復(轉)
- SQL Anywhere db檔案損壞修復 DB檔案修復 DB資料庫修復SQL資料庫
- ORACLE伺服器異常斷電,控制檔案故障的處理步驟Oracle伺服器
- 7_Oracle truncate異常恢復之plsql修復OracleSQL
- ORA-00279異常處理_offline資料檔案缺失日誌檔案問題一鍵修復
- 【vSAN資料恢復案例】異常斷電導致vSAN底層資料損壞的資料恢復資料恢復
- BBED 修改oracle 資料檔案的 SCN 號來做資料庫不完全恢復。Oracle資料庫
- Oracle 之利用BBED修改資料塊SCN----沒有備份資料檔案的資料恢復Oracle資料恢復
- dataguard利用從庫的檔案恢復主庫發生異常的資料檔案。
- bbed 與檔案頭恢復
- 跨區mv大檔案異常中斷
- BBED修復資料庫常用命令介紹資料庫
- system資料檔案頭損壞修復
- 【伺服器資料恢復】異常斷電導致ESXI無法連線儲存的資料恢復案例伺服器資料恢復
- rman恢復資料檔案-----塊折斷
- 深入解析:段頭塊損壞bbed異常恢復
- 【BBED】 sys.bootstrap$ 物件的恢復boot物件
- oracle_bbed.Datafile.Header_System.資料檔案頭資訊OracleHeader
- Oracle_UNDO壞塊測試和修復(BBED)Oracle
- Oracle後設資料物件Invalid修復過程Oracle物件
- 一次意外斷電導致mysql檔案損壞,啟動異常MySql
- 【虛擬機器資料恢復】異常斷電導致虛擬機器無法啟動的資料恢復案例虛擬機資料恢復
- oracle 控制檔案的修復小結Oracle
- 【北亞資料恢復】異常斷電導致linux伺服器無法啟動,資料庫損壞的資料恢復資料恢復Linux伺服器資料庫
- Reflector反編譯.NET檔案後修復編譯
- 資料恢復-電腦管家檔案恢復工具資料恢復
- [20160531]windows下bbed修復corrupt資料塊Windows
- 【北亞伺服器資料恢復】異常斷電導致ESXI系統無法連線儲存的資料恢復伺服器資料恢復