ORA-600 错误解决实例(一)

2014-11-24 17:54:53 · 作者: · 浏览: 1

1:周末遭遇停电,新配置的内网测试数据库active dataguard 环境自动关闭,今早启动主库后发现报错如下


SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 17 17:00:57 2013


Copyright (c) 1982, 2009, Oracle. All rights reserved.


SQL> conn /as sysdba


Connected to an idle instance.


SQL> startup


ORACLE instance started.


Total System Global Area 1.3362E+10 bytes


Fixed Size 2217952 bytes


Variable Size 6777997344 bytes


Database Buffers 6576668672 bytes


Redo Buffers 4960256 bytes


Database mounted.


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


[6], [301353], [301354], [], [], [], [], [], [], []



2:第一反应先recover下database,再尝试拉起数据库,问题依旧


SQL> recover database;


Media recovery complete.


SQL> alter database open;


alter database open


*


ERROR at line 1:


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


[6], [301353], [301354], [], [], [], [], [], [], []



3:于是看alert日志和相关的trace文件,综合判断可能控制文件出现问题


[oracle@db1 ~]$ tail -f alert_db.log


Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc:


ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []


Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc:


ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []


ORA-600 signalled during: ALTER DATABASE OPEN...


Trace dumping is performing id=[cdmp_20130617170117]


Mon Jun 17 17:02:13 2013


Sweep [inc][24153]: completed


Sweep [inc2][24153]: completed


Mon Jun 17 17:02:38 2013


ALTER DATABASE RECOVER database


Media Recovery Start


started logmerger process


Parallel Media Recovery started with 4 slaves


Mon Jun 17 17:02:38 2013


Recovery of Online Redo Log: Thread 1 Group 3 Seq 6 Reading mem 0


Mem# 0: /u01/app/oracle/oradata/DB/onlinelog/o1_mf_3_8vpmjgoq_.log


Mem# 1: /u01/app/oracle/flash_recovery_area/DB/onlinelog/o1_mf_3_8vpmkm9x_.log


Media Recovery Complete (db)


Completed: ALTER DATABASE RECOVER database


Mon Jun 17 17:02:54 2013


alter database open


Beginning crash recovery of 1 threads


parallel recovery started with 3 processes


Started redo scan


Completed redo scan


read 152 KB redo, 0 data blocks need recovery


Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc (incident=24154):


ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []


Incident details in: /u01/app/oracle/diag/rdbms/db1/db/incident/incdir_24154/db_ora_32462_i24154.trc


Mon Jun 17 17:02:55 2013


Trace dumping is performing id=[cdmp_20130617170255]


Aborting crash recovery due to error 600


Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc:


ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []


Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc:


ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []


ORA-600 signalled during: alter database open...


Mon Jun 17 17:03:13 2013


Sweep [inc][24154]: completed


Sweep [inc2][24154]: completed



4:于是生成控制文件trace控制脚本对控制文件执行恢复



SQL> select open_mode from v$database;


OPEN_MODE


--------------------


MOUNTED


SQL> alter database backup controlfile to trace as '/tmp/1.ctl';


Database altered.


[ora