Thursday, May 27, 2021

ORA-00600: internal error code, arguments:

ORA-00600: internal error code, arguments:


Error : 


Microsoft Windows [Version 6.1.7601]

Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\Administrator>set ORACLE_SID=orcl

C:\Users\Administrator>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Thu May 27 13:53:31 2021

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

ERROR:

ORA-01031: insufficient privileges

Enter user-name: sys as sysdba

Enter password:

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 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],

[13732], [10364], [10373], [], [], [], [], [], [], []


Solution:: 

1. Start the database in mount state. and check the following.


SQL> startup mount
ORACLE instance started.
Total System Global Area 1071333376 bytes
Fixed Size                  1375792 bytes
Variable Size             738197968 bytes
Database Buffers          318767104 bytes
Redo Buffers               12992512 bytes
Database mounted.


After database mounted check the control file locations.

SQL> Show parameter control_files


NAME                                 TYPE        VALUE

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

control_files                        string      C:\APP\ADMINISTRATOR\ORADATA\O

                                                 RCL\CONTROL01.CTL, C:\APP\ADMI

                                                 NISTRATOR\FLASH_RECOVERY_AREA\

                                                 ORCL\CONTROL02.CTL


2. Keep the backup of the existing control files into different location.

copy the control files into different locations.


3.  Run the below command in the prompt check for the existing archive/Redo logs 

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\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG
         1 CURRENT


4.  Then run the following commands

SQL> shut abort
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.
Total System Global Area 1071333376 bytes
Fixed Size                  1375792 bytes
Variable Size             738197968 bytes
Database Buffers          318767104 bytes
Redo Buffers               12992512 bytes
Database mounted.

5.   If you find any archive logs then need to recover the database using that file.

After execute the recovery statement you need to provide the existing redo file path.

SQL> recover database using backup controlfile until cancel ;
ORA-00279: change 10779076540828 generated at 05/27/2021 09:38:44 needed for
thread 1
ORA-00289: suggestion :
C:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2021_05_27\O1_MF_1_1373
2_%U_.ARC
ORA-00280: change 10779076540828 for thread 1 is in sequence #13732

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
C:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG
Log applied.
Media recovery complete.

6. If you see the "Media recovery Complete. then you the statement of resetlogs.
 
SQL> Alter database open resetlogs ;
Database altered.

7.  Finally you can check the database open_mode .

SQL> select name,open_mode from v$database;
NAME      OPEN_MODE
--------- --------------------
ORCL      READ WRITE

SQL>