單個控制檔案損壞的解決方法

paulyibinyi發表於2008-02-29

oracle 9i 預設控制檔案為三個,控制檔案記錄資料庫的建立時間,歸檔記錄,和發生檢查點時更新資料檔案和控制檔案時的scn,等等資料庫重要資訊,如果在執行過程中,有一個控制檔案損壞,在系統要寫控制檔案時,就會down,三個控制檔案

最好不要放在同一個目錄下,放在不同硬碟下,做好鏡象,這樣一個損壞,就可以使用好的覆蓋壞的即可,以下是測試例子

1. 用ULTRAEDIT工具 修改control02.ctl控制檔案 模擬損壞
2. SQL> alter system checkpoint;   發生檢查點,系統要更新資料檔案頭和控制檔案
alter system checkpoint
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel


SQL> alter system switch logfile;
alter system switch logfile
*
ERROR at line 1:
ORA-03114: not connected to ORACLE

alert.log 記錄如下:
Thu Feb 28 17:47:48 2008
Errors in file d:\oracle\admin\paul\bdump\paul_ckpt_2860.trc:
ORA-00211: controlfile does not match previous controlfiles
ORA-00202: controlfile: 'D:\ORACLE\ORADATA\PAUL\CONTROL02.CTL'

Thu Feb 28 17:47:48 2008
CKPT: terminating instance due to error 211
Thu Feb 28 17:47:51 2008
Errors in file d:\oracle\admin\paul\bdump\paul_pmon_3268.trc:
ORA-00211: controlfile does not match previous controlfiles

Thu Feb 28 17:48:06 2008
Instance terminated by CKPT, pid = 2860

3.把好的覆蓋壞的,改名為壞的控制檔名即可

4.startup  database  正常

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

相關文章