ORA-00600: internal error code [kcratr_nab_less_than_odr]

  早上起来开启自己虚拟机里的版本为11.2.0.1.0的oracle数据库时报ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],

[13], [27474], [27484], [], [], [], [], [], [], []; 内部错误,难道让我有幸遇到了oracle bug;

  查看告警日志:

Sun Apr 13 08:38:46 2014
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 2
Using LOG_ARCHIVE_DEST_1 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on. 
IMODE=BR
ILAT =27
LICENSE_MAX_USERS = 0
SYS auditing is enabled
Starting up:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options.
Using parameter settings in server-side spfile /u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfilehaha.ora
System parameters with non-default values:
  processes                = 150
  large_pool_size          = 4M
  java_pool_size           = 4M
  sga_target               = 368M
  memory_target            = 0
  memory_max_target        = 520M
  control_files            = "+DATA/orcl/controlfile/current.256.818327067"
  control_files            = "+FRA/orcl/controlfile/current.256.818327071"
  db_block_size            = 8192
  db_cache_size            = 112M
  _shared_io_pool_size     = 0
  compatible               = "11.2.0.0.0"
  db_create_file_dest      = "+DATA"
  db_recovery_file_dest    = "+FRA"
  db_recovery_file_dest_size= 4452M
  undo_tablespace          = "UNDOTBS1"
  remote_login_passwordfile= "SHARED"
  audit_sys_operations     = TRUE
  db_domain                = ""
  instance_name            = "HHHHH"
  service_names            = "PANDA"
  dispatchers              = "(PROTOCOL=TCP) (SERVICE=orclXDB)"
  audit_file_dest          = "/u01/app/oracle/admin/orcl/adump"
  audit_trail              = "DB_EXTENDED"
  db_name                  = "PANDA"
  open_cursors             = 300
  pga_aggregate_target     = 144M
  diagnostic_dest          = "/u01/app/oracle"
Sun Apr 13 08:38:47 2014
PMON started with pid=2, OS id=6962 
Sun Apr 13 08:38:47 2014
VKTM started with pid=3, OS id=6964 at elevated priority
VKTM running at (10)millisec precision with DBRM quantum (100)ms
Sun Apr 13 08:38:47 2014
GEN0 started with pid=4, OS id=6968 
Sun Apr 13 08:38:47 2014
DIAG started with pid=5, OS id=6970 
Sun Apr 13 08:38:47 2014
DBRM started with pid=6, OS id=6972 
Sun Apr 13 08:38:47 2014
PSP0 started with pid=7, OS id=6974 
Sun Apr 13 08:38:48 2014
DIA0 started with pid=8, OS id=6976 
Sun Apr 13 08:38:48 2014
MMAN started with pid=9, OS id=6978 
Sun Apr 13 08:38:48 2014
DBW0 started with pid=10, OS id=6980 
Sun Apr 13 08:38:48 2014
LGWR started with pid=11, OS id=6982 
Sun Apr 13 08:38:48 2014
CKPT started with pid=12, OS id=6984 
Sun Apr 13 08:38:48 2014
SMON started with pid=13, OS id=6986 
Sun Apr 13 08:38:49 2014
RECO started with pid=14, OS id=6988 
Sun Apr 13 08:38:49 2014
RBAL started with pid=15, OS id=6990 
Sun Apr 13 08:38:49 2014
ASMB started with pid=16, OS id=6992 
Sun Apr 13 08:38:49 2014
MMON started with pid=17, OS id=6994 
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
starting up 1 shared server(s) ...
Sun Apr 13 08:38:50 2014
MMNL started with pid=18, OS id=6996 
ORACLE_BASE from environment = /u01/app/oracle
Sun Apr 13 08:38:50 2014
ALTER DATABASE   MOUNT
NOTE: initiating MARK startup 
Starting background process MARK
Sun Apr 13 08:38:51 2014
MARK started with pid=22, OS id=7005 
NOTE: MARK has subscribed 
NOTE: Loaded library: System 
SUCCESS: diskgroup DATA was mounted
SUCCESS: diskgroup FRA was mounted
ERROR: failed to establish dependency between database PANDA and diskgroup resource ora.DATA.dg
ERROR: failed to establish dependency between database PANDA and diskgroup resource ora.FRA.dg
Successful mount of redo thread 1, with mount id 361806554
Database mounted in Exclusive Mode
Lost write protection disabled
Completed: ALTER DATABASE   MOUNT
Sun Apr 13 08:38:58 2014
ALTER DATABASE OPEN
Block change tracking file is current.
Beginning crash recovery of 1 threads
Started redo scan
Completed redo scan
 read 36 KB redo, 31 data blocks need recovery
Errors in file /u01/app/oracle/diag/rdbms/panda/haha/trace/haha_ora_7022.trc  (incident=14572):
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [13], [27474], [27484], [], [], [], [], [], [], []
Incident details in: /u01/app/oracle/diag/rdbms/panda/haha/incident/incdir_14572/haha_ora_7022_i14572.trc
Sun Apr 13 08:39:02 2014
Trace dumping is performing id=[cdmp_20140413083902]
Aborting crash recovery due to error 600
Errors in file /u01/app/oracle/diag/rdbms/panda/haha/trace/haha_ora_7022.trc:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [13], [27474], [27484], [], [], [], [], [], [], []
Errors in file /u01/app/oracle/diag/rdbms/panda/haha/trace/haha_ora_7022.trc:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [13], [27474], [27484], [], [], [], [], [], [], []
ORA-600 signalled during: ALTER DATABASE OPEN...
Sun Apr 13 08:39:53 2014
Sweep [inc][14572]: completed
Sweep [inc2][14572]: completed

查看metalink ORA-600 [kcratr_nab_less_than_odr] during Instance Recovery after Database Crash (文档 ID 1299564.1)

APPLIES TO:

Oracle Database - Enterprise Edition - Version 11.2.0.1 to 11.2.0.3 

[Release 11.2]
Information in this document applies to any platform.
***Checked for relevance on 21-Sep-2012***
SYMPTOMS

Trying to open a Database after a Crash caused by Storage Problems the 

Instance Recovery fails with :
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [219], [25020], [25021], []

The Database can't open at this Point. In the corresponding Tracefile we can find this Error Callstack:

dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=1h50ks4ncswfn) -----
ALTER DATABASE OPEN
----- Call Stack Trace -----
ksedst1 <- ksedst <- dbkedDefDump <- ksedmp <- dbgexPhaseII <- dbgexProcessError <- dbgePostErrorKGE  <- kgeasnmierr <- kcratr_odr_check  <- kcratr <- kctrec <- kcvcrv <- kcfopd <- adbdrv <- opiexe <- opiosq0 <- kpoal8 <- opiodr <- ttcpip <- opitsk <- opiino <- opiodr <- opidrv <- sou2o <- opimai_real <- ssthrdmain <- main <- start

CAUSE

This Problem is caused by Storage Problem of the Database Files. The Subsystem (eg. SAN) crashed while the Database was open. The Database then crashed since the Database Files were not accessible anymore. 
This caused a lost Write into the Online RedoLogs and so Instance Recovery is not possible and raising the ORA-600.

SOLUTION

There are two possible Solutions:

1. If you could restore your Storage Environment and the Online 

RedoLogs from the Time of the crash you can try a manual Recovery 
followed by a RESETLOGS:
SQL> startup mount;
SQL> recover database until cancel using backup controlfile;
-> manually provide Online RedoLog containing the last (current) 
Sequence when asked, eg.
ORA-00279: change 100000 generated at xx/xx/xxxx xx:xx:xx needed for thread 1
ORA-00289: suggestion :
/flash_recovery/archivelog/xxxx_xx_xx/o1_mf_1_100_%u_.arc
ORA-00280: change 100000 for thread 1 is in sequence #100
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/ora/oradata/dbtest/redo04_1.rdo
Log applied.
Media recovery complete.
SQL> alter database open resetlogs;

2. If  step1. fails or you don't have the full Set of Files you have to restore and recover the Database from a recent Backup.

使用metalink提供的第一种方式解决了问题:

SQL> set linesize 1000 
SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ ---------
         1          1         13   52428800        512          2 NO  CURRENT                3366812 07-APR-14        2.8147E+14
         3          1         12   52428800        512          2 YES INACTIVE               3339008 07-APR-14           3366812 07-APR-14
         2          1         11   52428800        512          2 YES INACTIVE               3309748 06-APR-14           3339008 07-APR-14

SQL> col member for a60
SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                                       IS_
---------- ------- ------- ------------------------------------------------------------ ---
         1         ONLINE  +DATA/panda/onlinelog/group_1.257.842997659                  NO
         1         ONLINE  +FRA/panda/onlinelog/group_1.257.842997667                   YES
         2         ONLINE  +DATA/panda/onlinelog/group_2.258.842997671                  NO
         2         ONLINE  +FRA/panda/onlinelog/group_2.258.842997673                   YES
         3         ONLINE  +DATA/panda/onlinelog/group_3.259.842997677                  NO
         3         ONLINE  +FRA/panda/onlinelog/group_3.259.842997679                   YES

6 rows selected.

SQL> recover database until cancel using backup controlfile; 
ORA-00279: change 3366812 generated at 04/07/2014 22:05:46 needed for thread 1
ORA-00289: suggestion : +FRA
ORA-00280: change 3366812 for thread 1 is in sequence #13


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
+FRA/panda/onlinelog/group_1.257.842997667
Log applied.
Media recovery complete.
SQL> alter database open resetlogs;

Database altered.






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值