Email: service@parnassusdata.com 7 x 24 online support!

    You are here

    • You are here:
    • Home > Blogs > PDSERVICE's blog > Oracle Error ORA-600 encountered while recovering transaction (A, B) on object YYYY

Oracle Error ORA-600 encountered while recovering transaction (A, B) on object YYYY

Oracle Error ORA-600 encountered while recovering transaction (A, B) on object YYYY

 oerr ora 600
00600, 00000, "internal error code, arguments: [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s]"
// *Cause: This is the generic internal error number for Oracle program
//         exceptions. It indicates that a process has encountered a low-level,
//         unexpected condition. The first argument is the internal message 
//         number. This argument and the database version number are critical in
//         identifying the root cause and the potential impact to your system.
// 
// *Action: Visit My Oracle Support to access the ORA-00600 Lookup tool
//          (reference Note 600.1) for more information regarding the specific
//          ORA-00600 error encountered.
//
//          An Incident has been created for this error in the Automatic 
//          Diagnostic Repository (ADR). When logging a service request, use 
//          the Incident Packaging Service (IPS) from the Support Workbench
//          or the ADR Command Interpreter (ADRCI) to automatically package the
//          relevant trace information (reference My Oracle Support Note 411.1).
//
//          The following information should also be gathered to help determine 
//          the root cause:
//             - changes leading up to the error
//             - events or unusual circumstances leading up to the error
//             - operations attempted prior to the error
//             - conditions of the operating system and databases at the time 
//               of the error
//
//          Note: The cause of this message may manifest itself as different 
//          errors at different times. Be aware of the history of errors that 
//          occurred before this internal error.

(A, B) shows the rollback segment id and slot number (USN , SLOT)
YYYY shows the object id (NOT the data object id)
The fact that an object is listed in the error implies the ORA-600
is most likely related to the target block of the undo, and not the
undo block itself. If the ORA-600 is a block checking related
error then there is a strong chance that block level recovery will
re-try the operation and mark the block as corrupt thus resulting in
the transaction being recovered (as we skip over corrupt blocks as
described in "Discarding Undo in Note:105871.1"). If the block does
not get marked as corrupt then the ORA-600 will prevent the transaction
rollback from completing.
There are 2 main options:
a. Recover the file containing the block causing the ORA-600
b. Drop the object containing the block causing the ORA-600
The steps for these 2 options are described in "Error 376 encountered ..."
and so are not repeated here .
Identifying the file requires you to look at the trace for the ORA-600
and hope that it indicates the problem block. How to do this depends
on the ORA-600 - see any reference note relating to the exact ORA-600
you are seeing.
The object is known from the YYYY in the error message.