While Solving ORA-00600 [4194]/[4193] Errors [ID 281429.1]

rongshiyuan發表於2012-12-27
Basic Steps to be Followed While Solving ORA-00600 [4194]/[4193] Errors Without Using Unsupported parameter [ID 281429.1]

In this Document


Applies to:

Oracle Server - Enterprise Edition - Version 7.0.16.0 and later
Information in this document applies to any platform.
***Checked for relevance on 03-Oct-2011***
Oracle Server Enterprise Edition


Goal

This note will give an Brief overview of the steps to resolve ORA-600 [4194]/[4193]:-

Fix

Short Description of ORA-00600[4194]

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

A mismatch has been detected between Redo records and rollback (Undo)
records.

ARGUMENTS:
Arg [a] Maximum Undo record number in Undo block
Arg [b] Undo record number from Redo block


Refer to Note:39283.1 for more details on the description of this error.

Basic Steps that Need to be Followed to Solve an ORA-00600[4194] Error

There are two Options to resolve this issue.

Options along with their solutions are given below.

Option 1:- Support Method(Drop the undo tablespace).


Option 1 :- Supported Method
======================


Drop the undo tablespace.

Single instance

This error normally happens for a new transaction. The trace file actually shows an active transaction for the undo segment because this is the transaction created by the same process.If the undo segment happens to have an active transaction , then Oracle
may recover it later with no problems .

Normally if the header is dumped after the error, the active transactin is gone.

So a Simpler option to resolve this issue is.

Step 1
--------

SQL> Startup nomount ; --&gt using spfile

SQL> Create pfile='/tmp/corrupt.ora' from spfile ;

SQL> Shutdown immediate;

Step 2
-------

Modify the corrupt.ora and set Undo_managment=Manual

SQL> Startup mount pfile='/tmp/corrupt.ora'

SQL> Show parameter undo

it should show manual

SQL> Alter database open ;

If it comes up

SQL> Create rollback segment r01 ;

SQL> Alter rollback segment r01 online ;

Create a new undo tablespace

SQL> Create undo tablespace undotbs_new datafile '<>' size <> M ;


Please note :- You can delay the drop of the Old undo tablespace this is just to allow the block cleanout to happen for dead transaction.
So the below step can be issued after database has been up and running with new undo tablespace for couple of hours.
Also note if your database has been forced open(datafiles are not in sync and archivelogs missing ) using any unsupported method then please donot drop the Old undo.


Drop the Old undo tablespace

SQL> Drop tablespace including contents and datafiles

Step 3
-------

SQL> Shutdown immediate;

SQL> Startup nomount ; ---&gt Using spfile

SQL>Alter system set undo_tablespace= scope=spfile;

SQL> Shutdown immediate ;

SQL> Startup

Check if error is reported

For Rac Instance(If one instance is down and other is up and running)

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

If one node is up and running and other node is failing with ORA-00600[4194]/[4193] then

From the instance which is up and running create a new undo tablespace and make it the default one for the other instance which is down with the error.Startup the failing instance with
the new undo tablespace.

From Instance which is up and running

Create undo tablespace undo_new datafile '' size <> m ;

Alter system set undo_tablespace= sid= ;

Now Startup the Instance which is down

SQL>Startup mount

SQL>Show parameter undo

Should show the new undo tablespace created above

SQL>Alter database open ;

SQL>Drop tablespace including contents and datafiles

If all the Instance is down in the Rac due to this error then following the instruction given for Single instance and create new undo tablespace.



For 8i database and Below

SQL>Startup restrict

Drop the Manual rollback segments and recreate it

Please note :-
Option 1 would fail if the undo segment involved is System undo .
Please open a Service request with Oracle to diagnose the issue further
if option 1 fails.



References

NOTE:39283.1 - ORA-600 [4194] "Undo Record Number Mismatch While Adding Undo Record"
@NOTE:452620.1 - ORA-600 [4193] ORA-600 [4194] IN SYSTEM ROLLBACK SEGMENT. HOW TO PATCH

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17252115/viewspace-751747/,如需轉載,請註明出處,否則將追究法律責任。

相關文章