Monday, February 14, 2011

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

I have an Oracle 11g R2 database on a Vista box. I got this error twice, and in both occasions, it was due to Vista crashing (ran out of battery, blue screen)

Here are the steps I performed to resolve this error

Launch SQL Plus from Oracle\bin folder ( not from Client folder)

SQL> conn sys/sys as sysdba
Connected to an idle instance.

SQL> startup mount
ORACLE instance started.

SQL> alter database recover;
Database altered.

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],
[136], [65730], [65738], [], [], [], [], [], [], []

SQL> shutdown immediate;
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.

SQL> alter database recover until cancel using backup controlfile;
alter database recover until cancel using backup controlfile
*
ERROR at line 1:
ORA-00279: change 3997604 generated at 02/11/2011 21:08:59 needed for thread 1
ORA-00289: suggestion :
C:\APP\RMANNI\RECOVERY_AREA\ORCLDB11G\ARCHIVELOG\2011_02_14\O1_MF_1_136_%U_.ARC
ORA-00280: change 3997604 for thread 1 is in sequence #136

Since my database is not running in archive log mode, I couldn't find the file specified in the above error message. I proceeded with the following

SQL> alter database recover continue default;
alter database recover continue default
*
ERROR at line 1:
ORA-00308: cannot open archived log
'C:\APP\RMANNI\RECOVERY_AREA\ORCLDB11G\ARCHIVELOG\2011_02_14\O1_MF_1_136_%U_.ARC'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) The system cannot find the file specified.


SQL> alter database recover cancel;
Database altered.

If the above step errored out, then proceed with the lines shown below inbetween the dotted lines, if not

SQL> alter database open resetlogs;
Database altered.

SQL> Your database is good to go, You should now be able to connect


-----------If Alter database recover cancel Failed ------------------

SQL> alter database recover cancel;
alter database recover cancel
*
ERROR at line 1:
ORA-10879: error signaled in parallel recovery slave
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: 'C:\APP\RMANNI\ORADATA\ORCLDB\SYSTEM01.DBF'

SQL> recover database using backup controlfile until cancel;
ORA-00275: media recovery has already been started

SQL> shutdown immediate;
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.

Now, when you try to recover, Oracle will provide a suggestion,provide the path for your REDO log files. One of the log files will fix your database. I started with Redo03, but Redo01 fixed my database. You probably don't need to shutdown and restart the database for each Redo log flies.

SQL> recover database using backup controlfile until cancel;

ORA-00279: change 2448238 generated at 11/16/2010 22:05:53 needed for thread 1
ORA-00289: suggestion :
C:\APP\RMANNI\FLASH_RECOVERY_AREA\ORCLDB\ARCHIVELOG\2011_02_14\O1_MF_1_67_%U_.ARC
ORA-00280: change 2448238 for thread 1 is in sequence #67

Specify log: {=suggested | filename | AUTO | CANCEL}
C:\app\rmanni\oradata\ORCLDB\REDO03.LOG
ORA-00310: archived log contains sequence 66; sequence 67 required
ORA-00334: archived log: 'C:\APP\RMANNI\ORADATA\ORCLDB\REDO03.LOG'
ORA-10879: error signaled in parallel recovery slave
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: 'C:\APP\RMANNI\ORADATA\ORCLDB\SYSTEM01.DBF'

SQL> shutdown immediate;
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.

SQL> recover database using backup controlfile until cancel;
ORA-00279: change 2448238 generated at 11/16/2010 22:05:53 needed for thread 1
ORA-00289: suggestion :
C:\APP\RMANNI\FLASH_RECOVERY_AREA\ORCLDB\ARCHIVELOG\2011_02_14\O1_MF_1_67_%U_.ARC
ORA-00280: change 2448238 for thread 1 is in sequence #67

Specify log: {=suggested | filename | AUTO | CANCEL}
C:\app\rmanni\oradata\ORCLDB\REDO02.LOG
ORA-00310: archived log contains sequence 65; sequence 67 required
ORA-00334: archived log: 'C:\APP\RMANNI\ORADATA\ORCLDB\REDO02.LOG'
ORA-10879: error signaled in parallel recovery slave
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: 'C:\APP\RMANNI\ORADATA\ORCLDB\SYSTEM01.DBF'

SQL> Shutdown immediate;
ORACLE instance shut down.

SQL> startup mount;
ORACLE instance started.

SQL> recover database using backup controlfile until cancel;
ORA-00279: change 2448238 generated at 11/16/2010 22:05:53 needed for thread 1
ORA-00289: suggestion :
C:\APP\RMANNI\FLASH_RECOVERY_AREA\ORCLDB\ARCHIVELOG\2011_02_14\O1_MF_1_67_%U_.ARC
ORA-00280: change 2448238 for thread 1 is in sequence #67

Specify log: {=suggested | filename | AUTO | CANCEL}
C:\app\rmanni\oradata\ORCLDB\REDO01.log
Log applied.
Media recovery complete.

SQL> alter database open resetlogs;
Database altered.

-----------If Alter database recover cancel Failed ------------------



42 comments:

  1. Thank you very much! Thid post realy helped me.

    ReplyDelete
  2. Helped me too! Thanks!

    ReplyDelete
  3. Excellent fix. To the point. Saved several hours.
    Thank you. Keep it up.

    ReplyDelete
  4. Thank you -- you saved my butt.

    ReplyDelete
  5. Thank you, saved my day :).

    ReplyDelete
  6. Why do people make simple things so complicated?
    Awesome instructions.


    Thank you Ramesh.

    AK

    ReplyDelete
  7. thanks bro/sis, you saved our assess

    ReplyDelete
  8. Really appreciate you taking out time to write it so succinctly. Thanks a lot Ramesh. It was a great help. God bless.

    ReplyDelete
  9. Thanks. This saved my life! Perfect instructions.

    ReplyDelete
  10. 00600-internal-error-code-arguments.html

    Thank you!!! Your instructions save me countless hours of futility. TY TY TY!

    ReplyDelete
  11. Старик, спасибо тебе большое !!! (frend, thank you very much, from Ukrain :) )

    ReplyDelete
  12. Thanks for posting the solution. It helped me really. BR, Ali Bukhari

    ReplyDelete
  13. saved me an extended headache

    ReplyDelete
  14. Thank you very much for this! Good job

    ReplyDelete
  15. Extremely helpful, this worked great for me, Thanks!

    ReplyDelete
  16. Thanks for posting the solution

    ReplyDelete
  17. invalid open mode... didn't worked

    ReplyDelete
  18. Thank you very much!! You saved me!!

    ReplyDelete
  19. Thanks a lot. Really saved my day.

    ~Kamal

    ReplyDelete
  20. The power of internet.!! Worked like a charm

    ReplyDelete
  21. Awesome. I am a newbie DBA and usually played with my test environment by deleting the database and recreating when this issue happened. I don't need to do that anymore. Bookmarked this link :)
    ~a

    ReplyDelete
  22. Thanks a ton ,,extremely helpful..keep it up.

    ReplyDelete
  23. Superrr. My save-the-day recipe for the third time. Starred! Thanks a lot man.

    ReplyDelete
  24. Thank you! IT WORKED FOR ME

    ReplyDelete
  25. მადლობა გენაცვალე! Thank you!

    ReplyDelete
  26. Genius man.....super saver you are

    ReplyDelete
  27. It is really a good post. It resolved my issue too.. keep it up!!

    ReplyDelete
  28. Thank you so much, it worked :-)

    ReplyDelete
  29. Great post! Thank you very much, it resolves my problem. Great guide!

    ReplyDelete
  30. Helped a lot ...Note that after my "Media recovery complete.", my alter database open resetlogs ended in an ERROR at line 1:
    ORA-00603: ORACLE server session terminated by fatal error
    ORA-00600: internal error code, arguments: [2662], [0], [42887255], [0],
    [42887262], [12583072], [], [], [], [], [], []
    ORA-00600: internal error code, arguments: [2662], [0], [42887254], [0],
    [42887262], [12583072], [], [], [], [], [], []
    ORA-01092: ORACLE instance terminated. Disconnection forced
    ORA-00600: internal error code, arguments: [2662], [0], [42887252], [0],
    [42887262], [12583072], [], [], [], [], [], []
    Process ID: 11872
    Session ID: 96 Serial number: 3

    after which I did:
    SQL>exit
    then reconnected:
    sqlplus / as sysdba
    ...
    Connected to idle instance.

    SQL>startup

    And all worked OK from here.

    Just wanted to add that last bit for the next person who encounters it ...

    Thank you!
    KC

    ReplyDelete
  31. Thanks its works!

    ReplyDelete
  32. Thanks man! it worked thank u very much

    ReplyDelete
  33. You just helped me recover 7 days of work on my VM. Thank you!!!

    ReplyDelete
  34. Awesome, this worked perfectly

    Sumeet.

    ReplyDelete
  35. Thanks a lot !!! One of the developers had this issue on their PC and I was asked to look into it. Searched google with "kcratr_nab_less_than_odr" and here i am... It worked fine....

    Thanks
    Raju Mogulapalli

    ReplyDelete