Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Rollback segm. corrupted

Re: Rollback segm. corrupted

From: Yass Khogaly <ykhogaly_at_us.oracle.com>
Date: Thu, 2 Dec 1999 07:46:45 -0800
Message-ID: <8260mp$s49$1@inet16.us.oracle.com>


A rollback segment falls into this status of needs recovery whenever   Oracle tries to roll back an uncommitted transaction in its transaction   table and fails.

  Here are some examples of why a transaction may need to rollback:     1-A user may do a dml transaction and decides to issue rollback     2-A shutdown abort occurs and the database needs to do an instance recovery

      in which case, Oracle has to roll back all uncommitted transactions.

  When a rollback of a transaction occurs, undo must be applied to the   data block the modified row/s are in. If for whatever reason, that data   block is unavailable, the undo cannot be applied. The result is a 'corrupted'
  rollback segment with the status of needs recovery.

  What could be some reasons a datablock is inaccessible for undo?

    1-If a tablespace or a datafile is offline or missing.
    2-If the object the datablock belongs to is corrupted.
    3-If the datablock that is corrupt is actually in the rollback segment
      itself rather than the object.


  HOW TO RESOLVE IT



  1-MAKE sure that all tablespaces are online and all datafiles are     online. This can be checked through v$datafile, under the     status column. For tablespaces associated with the datafiles,     look in dba_tablespaces.

  If that still does not resolve the problem then

  2-PUT the following in the init.ora-
    event = "10015 trace name context forever, level 10"

          Setting this event will generate a trace file that will reveal the
          necessary information about the transaction Oracle is trying to
roll
          back and most importantly, what object Oracle is trying to apply
          the undo to.

  3-SHUTDOWN the database (if normal does not work, immediate, if that does     not work, abort) and bring it back up.

          Note: An ora-1545 may be encountered, or other errors. If the database

                cannot startup, contact customer support at this point.

  4-CHECK in the directory that is specified by the user_dump_dest parameter     (in the init.ora or show parameter command) for a trace file that was     generated at startup time.

  5-IN the trace file, there should be a message similar to-     error recovery tx(#,#) object #.

          TX(#,#) refers to transaction information.
          The object # is the same as the object_id in sys.dba_objects.

  6-USE the following query to find out what object Oracle is trying to     perform recovery on.

          select owner, object_name, object_type, status
          from dba_objects where object_id = <object #>;

  7-THIS object must be dropped so the undo can be released. An export or relying

    on a backup may be necessary to restore the object after the corrupted     rollback segment goes away.

  8-AFTER dropping the object, put the rollback segment back in the init.ora     parameter rollback_segments, removed the event, and shutdown and startup     the database.

  In most cases, the above steps will resolve the problematic rollback segment.
  If this still does not resolve the problem, it may be likely that the   corruption is in the actual rollback segment.   At this point, if the problem has not been resolved, please contact   customer support.

"The Views expressed here are my own and not necessarily those of Oracle Corporation"

Emanuele Parati <parati_at_mail.eng.it> wrote in message news:825rve$813$1_at_eubuf21.eu.concert.net...
> Hi to everyone!
>
> We have a big problem:
> We have Personal Oracle 7.3 installed in a laptop, with Windows 98.
> There is a Tablespace ROLLBACK_DATA over one datafile ...\rbs1orcl.ora'.
> The datafile is corrupted: when a user connect to DB, Oracle answers with
> errors: 00604, 01578, 01110:
> the datafile ...\rbs1orcl.ora' is corrupted.
> How can recover this files? The ARCHIVE LOG is OFF!
>
> Thganks in advance
>
> Emanuele Parati
> Engineering S.p.A.
>
>
>
>
>
Received on Thu Dec 02 1999 - 09:46:45 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US