ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],[12], [29106], [29107], [], [], [], [], [], [], []
ORA-00600 is an internal error which can be
because of multiple reasons. To know more about this, you can refer to my
previous post regarding ORA-600 Oracle Database Error.
ORA-00600 kcratr_nab_less_than_odr |
Here in this case, I was unable to open the
database since it was failing with ORA-00600 after trying to go ahead of mount
stage. See below,
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\B@by>sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on Thu May 3 11:53:46 2018
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter user-name: sys@orcl as sysdba
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select name,open_mode from v$database;
NAME OPEN_MODE
--------- --------------------
ORCL MOUNTED
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],
[12], [29106], [29107], [], [], [], [], [], [], []
To resolve the problem here, I tried a few
steps but can’t guarantee that the same will work everywhere. Any way you can
try the same at your own risk (not on production, for that refer Oracle
Support).
1. Shut down the database again and bring it to mount stage to check if everything’s fine till that point.
1. Shut down the database again and bring it to mount stage to check if everything’s fine till that point.
SQL> shut immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> exit
C:\Users\B@by>set ORACLE_SID=ORCL
C:\Users\B@by>sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on Thu May 3 11:57:37 2018
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter user-name: sys as sysdba
Enter password:
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Area 1252663296 bytes
Fixed Size 2175328 bytes
Variable Size 889196192 bytes
Database Buffers 352321536 bytes
Redo Buffers 8970240 bytes
Database mounted.
2. Check for the CURRENT Redo log member and perform Shutdown abort. Then again bring the database to mount stage to perform recovery using backup controlfile file. Also you need to manually copy the controlfile as well after you shut down the database in order to keep things backed up.
SQL> show parameter control
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string C:\APP\GYAN\ORADATA\ORCL\CONTR
OL01.CTL, C:\APP\GYAN\FLASH_RE
COVERY_AREA\ORCL\CONTROL02.CTL
control_management_pack_access string DIAGNOSTIC+TUNING
SQL>
SQL> select a.member, a.group#, b.status from v$logfile a ,v$log b where a.group
#=b.group# and b.status='CURRENT' ;
MEMBER GROUP# STATUS
------------------------------------------- --------- --------------
C:\APP\GYAN\ORADATA\ORCL\REDO03.LOG 3 CURRENT
3. Shut down the database using SHUTDOWN ABORT command and bring it up to mount stage.
SQL> shutdown abort
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 1252663296 bytes
Fixed Size 2175328 bytes
Variable Size 889196192 bytes
Database Buffers 352321536 bytes
Redo Buffers 8970240 bytes
Database mounted.
4. Now perform the recovery using controlfile backup. It will ask for the logfile to recover the database. Provide the complete path for the logfile which was CURRENT.
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 1181684 generated at 04/13/2018 22:53:32 needed for thread 1
ORA-00289: suggestion :
C:\APP\GYAN\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2018_05_03\O1_MF_1_12_%U_.ARC
ORA-00280: change 1181684 for thread 1 is in sequence #12
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
C:\app\gyan\oradata\orcl\redo03.log
Log applied.
Media recovery complete.
SQL>
5. If it goes well like this till this point, you can now try opening your database using RESETLOGS option.
SQL> alter database open resetlogs;
Database altered.
6. Check the OPEN_MODE of your database now.
SQL> select name, open_mode from V$database;
NAME OPEN_MODE
--------- --------------------
ORCL READ WRITE
I hope this helps !!
Yes, it did help. Thank you very much!
ReplyDelete