ORA-00600 kcratr_nab_less_than_odr

早上發現數據庫報如下錯誤:

Successful mount of redo thread 1, with mount id 339694234
Database mounted in Exclusive Mode
Lost write protection disabled
Completed: ALTER DATABASE   MOUNT
Mon Jan 26 09:12:01 2015
ALTER DATABASE OPEN
Beginning crash recovery of 1 threads
Started redo scan
Completed redo scan
read 42 KB redo, 46 data blocks need recovery
ORA-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.trc
Aborting crash recovery due to error 600
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], [], [], [], [], [], [], []
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], [], [], [], [], [], [], []

查看數據庫需要恢復,但是數據庫異常斷電,導致LGWR寫到日誌文件失敗。這裏 [kcratr_nab_less_than_odr], [1], [6], [15358], [15932]
需要恢復序列號爲6的日誌到15932個快,但是目前只能到15358


在mount狀態查看當前日誌:

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
進行恢復:

SQL> recover database until cancel using backup controlfile;
ORA-00279: change 961046 generated at 01/25/2015 15:47:32 needed for thread 1
ORA-00289: suggestion : /opt/app/oracle/flash_recovery_area/DB11G/archivelog/2015_01_26/o1_mf_1_6_%u_.arc
ORA-00280: change 961046 for thread 1 is in sequence #6


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/opt/app/oracle/oradata/DB11G/onlinelog/o1_mf_3_bd66d4k4_.log
Log 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 error
ORA-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 forced
ORA-00600: internal error code, arguments: [2662], [0], [969491], [0], [969702], [12583104], [], [], [], [], [], []
Process ID: 1030
Session ID: 1 Serial number: 5
打開數據庫發現scn又不一致,這裏推進以下scn即可:

SQL> conn / as sysdba
Connected to an idle instance.
SQL>
SQL> startup mount; 
ORACLE instance started.

Total System Global Area  638853120 bytes
Fixed Size                  2213736 bytes
Variable Size             411043992 bytes
Database Buffers          222298112 bytes
Redo Buffers                3297280 bytes
Database mounted.
SQL> alter session set events 'IMMEDIATE trace name ADJUST_SCN level 1';

Session altered.

SQL> alter database open;

Database altered.
哈哈,終於打開數據庫了。異常斷電還是很坑爹的。



發佈了134 篇原創文章 · 獲贊 153 · 訪問量 38萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章