成功恢復(fù)無備份RAC環(huán)境數(shù)據(jù)庫
昨天,一兄弟電話求助,有一套醫(yī)院HIS數(shù)據(jù)庫無法啟動(dòng),RAC環(huán)境,無備份,嘗試過重建控制文件操作,但失敗。
遠(yuǎn)程連接后,情況如下:
1.兩節(jié)點(diǎn)RAC,Oracle11.2.0.1版本,Linux操作系統(tǒng)
2.recover database時(shí)提示需使用backup controlfile
3.rman list backupset無輸出
由于沒有記錄具體的操作,這里主要就碰到的異常做一下描述
1.重啟數(shù)據(jù)庫,在日志中發(fā)現(xiàn)另一節(jié)點(diǎn)沒有被關(guān)閉,首先關(guān)閉另一節(jié)點(diǎn)
2.由于控制文件已被錯(cuò)誤重建,并且,溝通后認(rèn)為丟失一部分?jǐn)?shù)據(jù)是可以接受的,因此,決定重新創(chuàng)建控制文件,在創(chuàng)建控制文件時(shí),存在一個(gè)知識(shí)點(diǎn):
RAC環(huán)境重建控制文件報(bào)錯(cuò):
ORA-12720: operation requires database is in EXCLUSIVE mode
這里需要修改參數(shù)文件:
alter system set cluster_database=false scope=spfile;
3.重建控制文件后進(jìn)行恢復(fù)操作
增加隱含參數(shù):
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
recover database using backup controlfile until cancel;
alter database open resetlogs;
報(bào)錯(cuò)
ORA-00600: internal error code, arguments: [2662]
這個(gè)錯(cuò)誤以前碰到過,需要使用event調(diào)整SCN
首先,再增加一個(gè)隱含參數(shù):
alter system set "_allow_error_simulation"=true scope=spfile;
重啟重建控制文件并恢復(fù)后
alter session set events '10015 trace name ADJUST_SCN level 10';
alter database open;
4.經(jīng)過上一步操作,SCN已經(jīng)OK了,但仍然報(bào)錯(cuò)
ORA-00600: internal error code, arguments: [4194]
4000開頭的錯(cuò)誤,改UNDO為手動(dòng)管理模式,修改初始化參數(shù)
undo_management='MANUAL'
完成啟動(dòng)。
總結(jié):
1.這個(gè)例子,其實(shí)最開始控制文件沒有丟失,應(yīng)該先嘗試進(jìn)行恢復(fù),不知道之前是不是遇到了錯(cuò)誤,導(dǎo)致選擇了重建控制文件的方法。不過,這里應(yīng)該指出的是,最好不要一上來就重建控制文件。
2.備份!備份!備份!
感覺恢復(fù)數(shù)據(jù)庫,就像傷寒論里面說的,觀其脈證,知犯何逆,隨證治之。
posted on 2014-08-21 09:52 順其自然EVO 閱讀(182) 評(píng)論(0) 編輯 收藏 所屬分類: 測試學(xué)習(xí)專欄