今天給客戶做資料恢複,發現必須使用隱藏參數_allow_resetlogs_corruption,結果一用報出了ORA-00600 2662的錯誤。
客戶那邊說丟失了一個資料檔案CUUG.DBF,只有一個以前的冷備份(結果就備份了這一個資料檔案............#@#@¥...)。接管客戶系統時,那邊dba已經將控制檔案重建了。無語中......
將以前的資料檔案拷貝回來,重新註冊歸檔日誌後,開始恢複。報錯:
- 提示ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
- ORA-01194: file 1 needs more recovery to be consistent
- ORA-01110: data file 1: '/opt/Oracle/product/10.2.0/oradata/orcl1/system01.dbf'
看下資料檔案的SCN:
- SQL> select CHECKPOINT_CHANGE# from v$datafile_header;
-
- CHECKPOINT_CHANGE#
- ------------------
- 591931
- 591931
- 591931
- 591931
- 505927
然後看下歸檔日誌:
- /opt/oracle/product/10.2.0/flash_recovery_area/ORCL1/archivelog/2012_05_19/o1_mf_1_9_7vh78q75_.arc 591800 591805
- /opt/oracle/product/10.2.0/flash_recovery_area/ORCL1/archivelog/2012_05_19/o1_mf_1_8_7vh78gwc_.arc 590306 591800
- /opt/oracle/product/10.2.0/flash_recovery_area/ORCL1/archivelog/2012_05_19/o1_mf_1_10_7vh7b2xs_.arc 591805 591931
這眼看普通恢複沒戲了.....歸檔日誌不連續。
開啟隱藏參數
sql> alter system set "_allow_resetlogs_corruption"=true scope=spfile;
再次嘗試開啟資料庫,開始提示ORA-00600錯誤了。
- Wed May 23 15:06:44 2012
- SMON: enabling cache recovery
- Wed May 23 15:06:44 2012
- Errors in file /opt/oracle/product/10.2.0/admin/orcl1/udump/orcl1_ora_4268.trc:
- ORA-00600: internal error code, arguments: [2662], [0], [545944], [0], [590505], [4194313], [], []
- Wed May 23 15:06:44 2012
- Incremental checkpoint up to RBA [0x1.3.0], current log tail at RBA [0x1.3.0]
- Wed May 23 15:06:44 2012
- Errors in file /opt/oracle/product/10.2.0/admin/orcl1/udump/orcl1_ora_4268.trc:
- ORA-00600: internal error code, arguments: [2662], [0], [545944], [0], [590505], [4194313], [], []
- Wed May 23 15:06:44 2012
- Error 600 happened during db open, shutting down database
- USER: terminating instance due to error 600
- Instance terminated by USER, pid = 4268