掉電無法啟動資料庫問題解決

yezhibin發表於2010-01-18
         由於突然掉電,造成客戶在windows平臺上10.2.0.1資料庫無法驅動,以下是具體解決步驟:

一、定位故障問題:

1、啟動資料庫,檢視錯誤
SQL>startup
ora-01113: file 1 needs media recovery
ora-01110: data file 1: 'C:\xxx\xxx\xxx\system01.dbf'

2、使用dbv命令掃描資料檔案,發現system出現2個壞塊和sysaux表空間出現6個壞塊
$dbv file=C:\xxxxx\xxxx\xxxx\system01 blocksize=8192

二、修復

1、修復所有的資料檔案
SQL>recover datafile 'C:\xxx\xxx\xxx\xxxx.dbf'

2、試圖開啟資料庫
SQL>alter database open;
出現oralce異常中斷退出

3、檢視alert.log日誌,出現ora-600 [4193]錯誤,通過metalink檢視為undo和redo 不一致造成錯誤。

4、將undo管理模式改成手動管理模式,開啟資料庫
SQL>alter system set undo_manage=manual scope=spfile;

5、重新啟動資料庫,能正常開啟資料庫,但無法正常關閉資料庫,存在資料庫壞塊問題。

6、system表空間和sysaux表嘗試用BBED修復失敗,只能將應用的表備份出來,重新建立資料庫,在將應用資料匯入。

三、遺留問題發現及研究

1、在windows平臺上使用BBED讀取資料檔案時候,發現標頭檔案的資訊偏移1block;

2、需要弄清楚在10g中,對於block corrupt,是哪些識別符號被修改?查詢中seg_kcbh=0x01。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/354732/viewspace-625344/,如需轉載,請註明出處,否則將追究法律責任。

相關文章