[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資料庫報錯的oracle資料恢復資料恢復Oracle資料庫
- 伺服器斷電Oracle資料庫修復資料過程伺服器Oracle資料庫
- ORA-00279異常處理_offline資料檔案缺失日誌檔案問題一鍵修復
- 7_Oracle truncate異常恢復之plsql修復OracleSQL
- BBED 修改oracle 資料檔案的 SCN 號來做資料庫不完全恢復。Oracle資料庫
- 【伺服器資料恢復】異常斷電導致虛擬機器檔案丟失不能啟動的資料恢復案例伺服器資料恢復虛擬機
- SQL Anywhere db檔案損壞修復 DB檔案修復 DB資料庫修復SQL資料庫
- 【伺服器資料恢復】多次異常斷電後儲存執行中突然崩潰的資料恢復伺服器資料恢復
- Oracle 之利用BBED修改資料塊SCN----沒有備份資料檔案的資料恢復Oracle資料恢復
- 【vSAN資料恢復案例】異常斷電導致vSAN底層資料損壞的資料恢復資料恢復
- 【kingsql分享】使用BBED修改Oracle資料檔案頭推進SCNSQLOracle
- system資料檔案頭損壞修復
- BBED修復資料庫常用命令介紹資料庫
- 深入解析:段頭塊損壞bbed異常恢復
- 【伺服器資料恢復】異常斷電導致ESXI無法連線儲存的資料恢復案例伺服器資料恢復
- Oracle資料庫日常問題-歸檔異常增長Oracle資料庫
- [20201218]資料檔案OS頭的修復.txt
- 【BBED】使用BBED修改資料檔案SCN,使該檔案從offline轉變為online
- ORA-01113異常處理_一鍵重新整理Oracle資料檔案scnOracle
- 【北亞資料恢復】異常斷電導致linux伺服器無法啟動,資料庫損壞的資料恢復資料恢復Linux伺服器資料庫
- 一次意外斷電導致mysql檔案損壞,啟動異常MySql
- 【虛擬機器資料恢復】異常斷電導致虛擬機器無法啟動的資料恢復案例虛擬機資料恢復
- dedecms資料庫檔案出錯的修復方法資料庫
- InterBase資料庫檔案損壞的修復方法資料庫
- 【資料庫資料恢復】斷電導致Oracle資料庫資料丟失的資料恢復案例資料庫資料恢復Oracle
- SpringBoot專案使用yml檔案連結資料庫異常Spring Boot資料庫
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- 電腦檔案丟失資料恢復資料恢復
- 【北亞伺服器資料恢復】異常斷電導致ESXI系統無法連線儲存的資料恢復伺服器資料恢復
- dns異常怎麼修復 dns配置異常怎麼處理DNS
- 資料庫異常智慧分析與診斷資料庫
- DG修復:異常關庫導致的資料庫啟動失敗ORA-01110及GAP修復資料庫
- Oracle asm磁碟損壞異常恢復OracleASM
- Oracle 資料檔案回收Oracle
- linux下恢復誤刪除oracle的資料檔案LinuxOracle
- ORA-01190使用bbed強制online資料檔案
- 【北亞資料恢復】伺服器斷電導致Oracle資料庫報錯的資料恢復案例資料恢復伺服器Oracle資料庫