ORA-00600 kcratr_nab_less_than_odr, ora-00600
In the morning, the database reports the following error:
Successful mount of redo thread 1, with mount id 339694234Database mounted in Exclusive ModeLost write protection disabledCompleted: ALTER DATABASE MOUNTMon Jan 26 09:12:01 2015ALTER DATABASE OPENBeginning crash recovery of 1 threadsStarted redo scanCompleted redo scanread 42 KB redo, 46 data blocks need recoveryORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [15358], [15932], [], [], [], [], [], [], []Incident details in: /opt/app/oracle/diag/rdbms/db11g/DB11G/incident/incdir_6153/DB11G_ora_1030_i6153.trcAborting crash recovery due to error 600Errors in file /opt/app/oracle/diag/rdbms/db11g/DB11G/trace/DB11G_ora_1030.trc:ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [15358], [15932], [], [], [], [], [], [], []Errors in file /opt/app/oracle/diag/rdbms/db11g/DB11G/trace/DB11G_ora_1030.trc:ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [15358], [15932], [], [], [], [], [], [], []
Check whether the database needs to be restored, but the database suffers an abnormal power failure, causing LGWR to fail to write to the log file. [Kcratr_nab_less_than_odr], [1], [6], [15358], [15932]
Logs with a serial number of 6 must be restored to 15932, but only 15358
View the current log in the mount status:
SQL> select * from v$log;SQL> / GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ --------- 1 1 4 52428800 512 2 NO INACTIVE 913220 24-JAN-15 949149 25-JAN-15 3 1 6 52428800 512 2 NO CURRENT 961046 25-JAN-15 2.8147E+14 2 1 5 52428800 512 2 NO INACTIVE 949149 25-JAN-15 961046 25-JAN-15
Recovery:
SQL> recover database until cancel using backup controlfile;ORA-00279: change 961046 generated at 01/25/2015 15:47:32 needed for thread 1ORA-00289: suggestion : /opt/app/oracle/flash_recovery_area/DB11G/archivelog/2015_01_26/o1_mf_1_6_%u_.arcORA-00280: change 961046 for thread 1 is in sequence #6Specify log: {<RET>=suggested | filename | AUTO | CANCEL}/opt/app/oracle/oradata/DB11G/onlinelog/o1_mf_3_bd66d4k4_.logLog applied.Media recovery complete.SQL> alter database open resetlogs;alter database open resetlogs*ERROR at line 1:ORA-00603: ORACLE server session terminated by fatal errorORA-00600: internal error code, arguments: [2662], [0], [969494], [0], [969702], [12583104], [], [], [], [], [], []ORA-00600: internal error code, arguments: [2662], [0], [969493], [0], [969702], [12583104], [], [], [], [], [], []ORA-01092: ORACLE instance terminated. Disconnection forcedORA-00600: internal error code, arguments: [2662], [0], [969491], [0], [969702], [12583104], [], [], [], [], [], []Process ID: 1030Session ID: 1 Serial number: 5
When you open the database and find that the scn is inconsistent, you can proceed with the following scn:
SQL> conn / as sysdbaConnected to an idle instance.SQL>SQL> startup mount; ORACLE instance started.Total System Global Area 638853120 bytesFixed Size 2213736 bytesVariable Size 411043992 bytesDatabase Buffers 222298112 bytesRedo Buffers 3297280 bytesDatabase mounted.SQL> alter session set events 'IMMEDIATE trace name ADJUST_SCN level 1';Session altered.SQL> alter database open;Database altered.
Haha, I finally opened the database. Abnormal power failure is still very difficult.