Sunday, December 20, 2009

How To Resolve ORA-01595 and ORA-00600[4193] When Reported Together


Applies to:

Oracle Server - Enterprise Edition - Version: 8.1 to 9.2
Information in this document applies to any platform.

Goal:


How To Resolve ORA-01595 and ORA-00600[4193] When Reported Together 


ORA-01595: error freeing extent (2) of rollback segment (9) 
ORA-00607: Internal error occurred while making a change to a data block 
ORA-00600: internal error code, arguments: [4193], [64705], [64708], [], [], [], [], []



Solution:


  1. Check for rollback segments if any one is in ‘NEEDS RECOVERY’ status. If there are some , use the following SQL to generate script to dump the corresponding undo headers.

    SQL> select ‘alter system dump undo header ‘'’||segment_name ||”’;’ from dba_rollback_segs where status like ‘NEEDS%REC%’;

    Run the script and upload the trace file generated to metalink for analysis.
    If the above query returns no rows, move to Step2.

  2. Cross Check and run DBV on Undo datafile(s) for any corruption.For DBV refer the following:

    Note 35512.1   DBVERIFY - Database file Verification Utility.

    If DBV also doesnot report any corruption, move to Step 3.

  3. Switch to a new Undo Tablespace.


    • Create a new undo tablespace
    • Switch to new undo tablespace using following command:

      SQL> Alter system set undo_tablespace =’
      ’; 
    • Optionally, you may drop the old undo tablespace once transactions in old undo tablespace are committed/rolled back. 

No comments: