昨天,一兄弟電話求助,有一套醫院HIS數據庫無法啟動,RAC環境,無備份,嘗試過重建控制文件操作,但失敗。
遠程連接后,情況如下:
2.recover database時提示需使用backup controlfile
3.rman list backupset無輸出
由于沒有記錄具體的操作,這里主要就碰到的異常做一下描述
1.重啟
數據庫,在日志中發現另一節點沒有被關閉,首先關閉另一節點
2.由于控制文件已被錯誤重建,并且,溝通后認為丟失一部分數據是可以接受的,因此,決定重新創建控制文件,在創建控制文件時,存在一個知識點:
RAC環境重建控制文件報錯:
ORA-12720: operation requires database is in EXCLUSIVE mode
這里需要修改參數文件:
alter system set cluster_database=false scope=spfile;
3.重建控制文件后進行恢復操作
增加隱含參數:
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
recover database using backup controlfile until cancel;
alter database open resetlogs;
報錯
ORA-00600: internal error code, arguments: [2662]
這個錯誤以前碰到過,需要使用event調整SCN
首先,再增加一個隱含參數:
alter system set "_allow_error_simulation"=true scope=spfile;
重啟重建控制文件并恢復后
alter session set events '10015 trace name ADJUST_SCN level 10';
alter database open;
4.經過上一步操作,SCN已經OK了,但仍然報錯
ORA-00600: internal error code, arguments: [4194]
4000開頭的錯誤,改UNDO為手動管理模式,修改初始化參數
undo_management='MANUAL'
完成啟動。
總結:
1.這個例子,其實最開始控制文件沒有丟失,應該先嘗試進行恢復,不知道之前是不是遇到了錯誤,導致選擇了重建控制文件的方法。不過,這里應該指出的是,最好不要一上來就重建控制文件。
2.備份!備份!備份!
感覺恢復數據庫,就像傷寒論里面說的,觀其脈證,知犯何逆,隨證治之。