ORA-00600 [kcratr_nab_less_than_odr]

來源:互聯網
上載者:User

ORA-00600 [kcratr_nab_less_than_odr]

【說明】最近整個IT的運氣有點背,先是機房的停電事件。最近又發生了一個事故,有台虛擬機器的硬碟壞掉了,導致安裝在虛擬機器上面的應用和資料庫全部起不來了。經過一番折騰虛擬機器終於起來了,但是啟動的時候報錯了:

SQL> startup
Oracle instance started.

Total System Global Area 6747725824 bytes
Fixed Size            2213976 bytes
Variable Size        4362078120 bytes
Database Buffers    2348810240 bytes
Redo Buffers          34623488 bytes
Database mounted.
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],[6674], [13272], [13337], [], [], [], [], [], [], []
 

alert警示日誌如下:

Recovery of Online Redo Log: Thread 1 Group 2 Seq 6674 Reading mem 0
  Mem# 0: /oracle/oradata/klekpj/redo02.log
Media Recovery Complete (klekpj)
Completed: alter database recover if needed
 start
Tue Jun 23 16:11:45 2015
alter database open
Beginning crash recovery of 1 threads
 parallel recovery started with 7 processes
Started redo scan
Completed redo scan
 read 1900 KB redo, 0 data blocks need recovery
Errors in file /oracle/diag/rdbms/klekpj/klekpj/trace/klekpj_ora_19307.trc  (incident=9755):
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6674], [13272], [13337], [], [], [], [], [], [], []
Incident details in: /oracle/diag/rdbms/klekpj/klekpj/incident/incdir_9755/klekpj_ora_19307_i9755.trc
Aborting crash recovery due to error 600
Errors in file /oracle/diag/rdbms/klekpj/klekpj/trace/klekpj_ora_19307.trc:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6674], [13272], [13337], [], [], [], [], [], [], []
Errors in file /oracle/diag/rdbms/klekpj/klekpj/trace/klekpj_ora_19307.trc:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6674], [13272], [13337], [], [], [], [], [], [], [
 

解決方案:

SQL> startup mount;
ORACLE instance started.

Total System Global Area 6747725824 bytes
Fixed Size            2213976 bytes
Variable Size        4362078120 bytes
Database Buffers    2348810240 bytes
Redo Buffers          34623488 bytes
Database mounted.
SQL>  recover database using backup controlfile until cancel;
ORA-00279: change 1974040004 generated at 06/10/2015 16:04:16 needed for thread
1
ORA-00289: suggestion : /oracle/arch/1_6674_829596422.dbf
ORA-00280: change 1974040004 for thread 1 is in sequence #6674

Specify log: {=suggested | filename | AUTO | CANCEL}
CANCEL
Media recovery cancelled.
SQL> alter database open resetlogs; 

Database altered.

資料庫成功開啟了
 

原因分析:

ALTER DATABASE RECOVER  database using backup controlfile until cancel 
Media Recovery Start
started logmerger process
Parallel Media Recovery started with 8 slaves
ORA-279 signalled during: ALTER DATABASE RECOVER  database using backup controlfile until cancel  ...
Tue Jun 23 16:56:20 2015
ALTER DATABASE RECOVER    CANCEL 
Media Recovery Canceled
Completed: ALTER DATABASE RECOVER    CANCEL 
alter database open resetlogs
Archived Log entry 6334 added for thread 1 sequence 6673 ID 0xf5f2c983 dest 1:
Tue Jun 23 16:56:31 2015
Archived Log entry 6335 added for thread 1 sequence 6674 ID 0xf5f2c983 dest 1:
Archived Log entry 6336 added for thread 1 sequence 6672 ID 0xf5f2c983 dest 1:
RESETLOGS after incomplete recovery UNTIL CHANGE 1974040004
 

因為伺服器的異常斷電導致LGWR寫ONLINE REDOLOG檔案失敗,當然資料也沒有寫入到資料檔案中。下次啟動資料庫的時候需要做異常恢複,但是從ONLINE REDOLOG裡面讀取這些REDO資訊的時候又找不到,所以開啟的時候就報錯了。

ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6674], [13272], [13337], [], [], [], [], [], [], []

資料進行恢複的時候,需要從onine redo log 1seq#6674的log,從13272恢複到13337。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.