1:周末遭遇停电,新配置的内网测试数据库activedataguard环境自动关闭,今早启动主库后发现报错如下[oracle@db1~]$sqlplus/nologSQL*Plus:Release11.2.0.1.0Pro
1:周末遭遇停电,新配置的内网测试数据库active dataguard 环境自动关闭,香港虚拟主机,今早启动主库后发现报错如下
[oracle@db1 ~]$ sqlplus /nologSQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 17 17:00:57 2013Copyright (c) 1982, 2009, Oracle. All rights reserved.SQL> conn /as sysdbaConnected to an idle instance.SQL> startupORACLE instance started.Total System Global Area 1.3362E+10 bytesFixed Size2217952 bytesVariable Size6777997344 bytesDatabase Buffers6576668672 bytesRedo Buffers4960256 bytesDatabase mounted.ORA-00600: interna本文来源gaodai$ma#com搞$$代**码)网@l 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.logErrors 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 2013Sweep [inc][24153]: completedSweep [inc2][24153]: completedMon Jun 17 17:02:38 2013ALTER DATABASE RECOVER databaseMedia Recovery Start started logmerger processParallel Media Recovery started with 4 slavesMon Jun 17 17:02:38 2013Recovery 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_.logMedia Recovery Complete (db)Completed: ALTER DATABASE RECOVER databaseMon Jun 17 17:02:54 2013alter database openBeginning crash recovery of 1 threads parallel recovery started with 3 processesStarted redo scanCompleted redo scan read 152 KB redo, 0 data blocks need recoveryErrors 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.trcMon Jun 17 17:02:55 2013Trace dumping is performing id=[cdmp_20130617170255]Aborting crash recovery due to error 600Errors 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 2013Sweep [inc][24154]: completedSweep [inc2][24154]: completed
4:于是生成控制文件trace控制脚本对控制文件执行恢复
SQL> select open_mode from v$database;OPEN_MODE——————–MOUNTEDSQL> alter database backup controlfile to trace as ‘/tmp/1.ctl’;Database altered.[oracle@db1 ~]$ cat /tmp/1.ctlCREATE CONTROLFILE REUSE DATABASE “DB” NORESETLOGS FORCE LOGGING ARCHIVELOGMAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 100MAXINSTANCES 8MAXLOGHISTORY 292LOGFILE GROUP 1 (‘/u01/app/oracle/oradata/DB/onlinelog/o1_mf_1_8vpmdkl9_.log’,’/u01/app/oracle/flash_recovery_area/DB/onlinelog/o1_mf_1_8vpmdryt_.log’ ) SIZE 512M BLOCKSIZE 512, GROUP 2 (‘/u01/app/oracle/oradata/DB/onlinelog/o1_mf_2_8vpmfqmw_.log’,’/u01/app/oracle/flash_recovery_area/DB/onlinelog/o1_mf_2_8vpmhk2z_.log’ ) SIZE 512M BLOCKSIZE 512, GROUP 3 (‘/u01/app/oracle/oradata/DB/onlinelog/o1_mf_3_8vpmjgoq_.log’,’/u01/app/oracle/flash_recovery_area/DB/onlinelog/o1_mf_3_8vpmkm9x_.log’ ) SIZE 512M BLOCKSIZE 512–STANDBY LOGFILE– GROUP 4 (–‘/u01/app/oracle/oradata/DB1/onlinelog/o1_mf_4_8vpq6nvy_.log’,–‘/u01/app/oracle/flash_recovery_area/DB1/onlinelog/o1_mf_4_8vpq7wk8_.log’– ) SIZE 512M BLOCKSIZE 512,– GROUP 5 (–‘/u01/app/oracle/oradata/DB1/onlinelog/o1_mf_5_8vpqbh6s_.log’,–‘/u01/app/oracle/flash_recovery_area/DB1/onlinelog/o1_mf_5_8vpqcmbj_.log’– ) SIZE 512M BLOCKSIZE 512,– GROUP 6 (–‘/u01/app/oracle/oradata/DB1/onlinelog/o1_mf_6_8vpqf3rz_.log’,–‘/u01/app/oracle/flash_recovery_area/DB1/onlinelog/o1_mf_6_8vpqfv5w_.log’– ) SIZE 512M BLOCKSIZE 512,– GROUP 7 (–‘/u01/app/oracle/oradata/DB1/onlinelog/o1_mf_7_8vpqgw0j_.log’,–‘/u01/app/oracle/flash_recovery_area/DB1/onlinelog/o1_mf_7_8vpqhcql_.log’– ) SIZE 512M BLOCKSIZE 512DATAFILE ‘/u01/app/oracle/oradata/DB/datafile/o1_mf_system_8vpm8hf3_.dbf’, ‘/u01/app/oracle/oradata/DB/datafile/o1_mf_sysaux_8vpm8hjq_.dbf’, ‘/u01/app/oracle/oradata/DB/datafile/o1_mf_undotbs1_8vpm8hl4_.dbf’, ‘/u01/app/oracle/oradata/DB/datafile/o1_mf_users_8vpm8hn1_.dbf’CHARACTER SET ZHS16GBK;SQL> shutdown immediateORA-01109: database not openDatabase dismounted.ORACLE instance shut down.SQL> startup nomountORACLE instance started.Total System Global Area 1.3362E+10 bytesFixed Size2217952 bytesVariable Size6777997344 bytesDatabase Buffers6576668672 bytesRedo Buffers4960256 bytesSQL> @/tmp/1.ctl;Control file created.