Rollback segment corruption on oracle 7.3

We have an oracle 7.3 database on solaris(sparc) 2.6.
In the midddle of the transactions, the following error message occured:
ORA 1578 Data block corrupted(file #2, block#8274)
ORA-1110 Datafile 2:'/user1/oradb/rbstbl.dbf'
(this datafile corresponds to the rollback segment table space).
Action Taken:
1. Tried to make the rollback segments offline, but out of 11, 2 rollback segments could not be taken offline. The status for these 2 was 'pending offline'.
2. Made the table space and datafile offline.
3. Created new rollback segments with new datafile and rollback segments, duly commenting the same in init.ora.
4. The status for these 2 rollback segments has now changed to 'needs recovery'. This status is preventing us from taking any further action.
We would like to drop the old table space.
We need you kind help in getting out of this loop!
Pls. mail your reply to [email protected]

Kathleen,
Sorry, the character set scanner only supports 8.0.6 and above. Can you first migrate your US7ACII database to 9.2, and run the scanner before changing database character set to WE8ISO8859P15? Also you can read this paper http://www.oracle.com/technology/tech/globalization/pdf/mwp.pdf
to understand why you may have invalid data in your US7ASCII database and the best way to migrate it. I am also wondering about your choice of P15 versus P1 and WIN1252? If you need further information you can contact me directly at [email protected]

Similar Messages

  • Rollback segment corrupted

    After shtting down my database I tried to startup this and appear "datafile rollback segment is corrupted" and I can't start up my database.
    what can I do?
    please help!!!

    In such case you need to do some "surgery"!
    1)connect internal
    2)Select * from undo$;
    3)Records with STATUS$=1 are offline RBS, STATUS$=1 - online RBS
    If I remember correctly, STATUS$=5 - needs recovery.
    If not, never mind. :)
    4)Update undo$
    set STATUS$=1
    where STATUS$ NOT IN (1,2);
    5)restart database...
    Your corrupted RBS will be marked as OFFLINE and you safely cand drop it.
    Best regards,
    Viktor Krokhmal
    Oracle Certified DBA.

  • Max rollback segments in 10g

    Hi,
    What determines the max rollback segments in 10g? I know that the max rollback segments is min(ceil(transactions/transactions_per_rollback_segments),max_rollback_segments) in 9i.
    Thanks

    In Oracle 10g you should use automatic undo management so that you don't need to care about number of rollback segments but let Oracle manage automatically the number of undo segments.

  • Transaction table in rollback segments

    hi guys,
    I have read the following, but am still having a little difficulty conceptualising. Would someone be kind enough to give me a very brief example?
    thanks
    For each rollback segment, Oracle maintains a transaction table--a list of all transactions that use the associated rollback segment and the rollback entries for each change performed by these transactions.

    First of all, the statement is talking about old manual undo management using rollback segment.
    If you check the preceding two paragraph of the statement then it's easier to understand,
    It basically says, Rollback segment hold rollback entries of transaction. To make it easier to track transactions and undo entries, Oracle maintain a table to save such info.
    Rollback segment , transaction and undo entries are one to many relationships.
    Rollback Segment --< Transactions --< Undo Entries
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96524/b_deprec.htm
    Contents of a Rollback Segment
    Information in a rollback segment consists of several rollback entries. Among other information, a rollback entry includes block information (the file number and block ID corresponding to the data that was changed) and the data as it existed before an operation in a transaction. Oracle links rollback entries for the same transaction, so the entries can be found easily if necessary for transaction rollback.
    Neither database users nor administrators can access or read rollback segments. Only Oracle can write to or read them. (They are owned by the user SYS, no matter which user creates them.)
    How Rollback Entries Are Logged
    Rollback entries change data blocks in the rollback segment, and Oracle records all changes to data blocks, including rollback entries, in the redo log. This second recording of the rollback information is very important for active transactions (not yet committed or rolled back) at the time of a system crash. If a system crash occurs, then Oracle automatically restores the rollback segment information, including the rollback entries for active transactions, as part of instance or media recovery. When recovery is complete, Oracle performs the actual rollbacks of transactions that had been neither committed nor rolled back at the time of the system crash.
    When Rollback Information Is Required
    For each rollback segment, Oracle maintains a transaction table--a list of all transactions that use the associated rollback segment and the rollback entries for each change performed by these transactions. Oracle uses the rollback entries in a rollback segment to perform a transaction rollback and to create read-consistent results for queries.

  • Corrupted ROLLBACK segment

    Hi,
    on 8.1.7 I have the following in alertlog :
    Errors in file u:\oradata\MYDB\bdump\MYDBSMON.TRC:
    ORA-01578: ORACLE data block corrupted (file # 2, block # 348131)
    ORA-01110: data file 2: 'T:\ORADATA\MYDB\01_RBS_01.DBF'
    Can I drop this file and add another to ROLLBACK tablespace ?
    If not any other solution ?
    Many thanks.

    It depends, if your rollback segment is required to perform a recovery action, then it is not possible.
    If you have your database configured in archivelog mode and your backup is valid, then simply perform a complete recovery operation with the rollback tablespace. Otherwise you will have to perform a procedure that involves declaring the rollback segments unavailable by declaring this instance parameter:
    offlinerollback_segments=RBS01, RBS02, RBS03, RBS04, RBS05, RBS06, RBS07, RBS08, RBS09, RBS10
    rollback_segments=SYSTEM, SYSROL
    (depending on the rollback segments you have declared in this tablespace).
    I have documented the procedure here --> Re: Error while Droping Undo Tablespace.
    ~ Madrid
    http://hrivera99.blogspot.com/

  • Error while creating the rollback segment (Oracle 8i & OS Win NT)

    hi
    I am using Oracle 8i and when i am creating the new rollback segment for my database i have got following error message
    ORA-01593 Rollback segment optimal size (30 blks) is smaller than the computed initial size (2560 blks)
    CREATE ROLLBACK SEGMENT "RBS11" TABLESPACE "RBS1"
    STORAGE ( INITIAL 120K NEXT
    120K OPTIMAL
    240K MINEXTENTS 2
    MAXEXTENTS 100)
    Note:- db_block size is 8k
    Tablespace RBS1 is the Locally managed Tablespace having datafile of 50m and uniform size of 10m
    But Given statement processed while i am using Tablespace RBS (winch is data dictionary managed)
    Plz, suggest me to cause of that error and solution

    You said 120K optimal and initial is 120K with minextents of 2. The optimal size then will be smaller than the initial allocation for the rbs.
    ORA-01593: rollback segment optimal size (string blks) is smaller than the computed initial size (string blks)
    Cause: Specified OPTIMAL size is smaller than the cumulative size of the initial extents during create rollback segment.
    Action: Specify a larger OPTIMAL size.

  • How to check/find the size of current ROLLBACK segment in oracle 10g

    How to check/find the size of current ROLLBACK segment in oracle 10g ? Kindly help

    A rollback segment name like "_SYSSMU231$" is used when you have Automatic Undo Management enabled.
    The only relevant parameters are :
    1. UNDO_MANAGEMENT=AUTO
    2. UNDO_RETENTION=n minutes ==> this is what everyone should be interested in
    3. The sizes of the Undo Tablespace datafiles and whether AUTOEXTEND is ON or OFF
    No one should be interested in the size of a single undo segment when Automatic Undo Management is enabled.
    Possible causes of ORA-01555 errors in Automatic Undo Management
    a. UNDO_RETENTION is too low
    b. Undo tablespace is too small
    Hemant K Chitale

  • Rollback segment + oracle 8i

    Hi,
    I am working in oracle 8i. I am having a doubt in rollback segment. what is the use of optimal parameter in rollback segment and whether its important or not.
    Rgds...

    This might help:
    http://download-west.oracle.com/docs/cd/A87860_01/doc/server.817/a76956/rollbak.htm#586

  • Not able to see rollback segment in oracle 10g

    hi all
    I created rollback segment by using command
    CREATE ROLLBACK SEGMENT rs1 TABLESPACE rbs_ts
    and made it online but not able to see
    segment name by using
    select * from dba_rollback_segs
    Please help me
    Ragards
    Edited by: 174313 on Dec 1, 2008 3:19 PM

    You can start with the following links in 10g documentation.
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/mgmt_db.htm#sthref2230
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/logical.htm#CHDGJJEJ
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/logical.htm#CNCPT305

  • Oracle 9i - Rollback Segment Needs Recovery

    I have been noticing for a few days that my UNDO tablespace has been growing in size for no apparent reason. My datafiles have only increased by 400 Meg over last 4 days, but UNDO tablespace has grown from 100 Meg - 5.6 Gig....
    I decided to create a new UNDO tablespace and drop the old one.....
    I created a new tablespace, changed the UNDO configuration to point to new tablespace and bounced the instance. The instance came back up fine, using the new UNDO tablespace....I then went to take the old tablespace offline and drop it....It went offline fine, but when I went to remove it, I received an Oracle error saying tablespaces was using rollback segment _SYSSMU24$.....
    I looked in the alert log and I'm getting a message:
    SMON: about to recover undo segment 24
    SMON: mark undo segment 24 as needs recovery
    When I query the dba_rollback_segs table, it shows that all rollback segments prior to _SYSSMU24$ are online, 24 & 25 are listed as NEEDS RECOVERY, and all others below that are offline....
    Any help on resolving this issue would be appreciated....

    Metalink overrides any thing said, adviced, or written in this forum, if you have already opened a Service Request, as suggested by Daniel Morgan.
    Just in case this may be helpful to you or others facing a similar situation, I suggest you to check this case Re: Error while Droping Undo Tablespace.
    Make sure you have a full useful database backup as well as the required archive log files.
    ~ Madrid

  • OPTIMAL size for rollback segment in Oracle 8i

    In our Database we have 13 Rollback segments & total size of all rollback segments is 33gb.
    Used % it is showing 99.84%.
    each rollback segment having near around 4gb of size.
    I am in confusion to set OPTIMAL value for each rollback
    segment.
    can any one help me out reg this.
    My roll back seg statistics are as fallows:
    SEGMENT_NAME TABLESPACE_NAME WAITS SHRINKS WRAPS STATUS
    R00 SYSTEM 0 0 12 ONLINE
    RBS0 RBS 0 0 19 ONLINE
    RBS01 RBS 0 0 16 ONLINE
    RBS02 RBS 1 0 12 ONLINE
    RBS03 RBS 0 0 11 ONLINE
    RBS04 RBS 0 0 21 ONLINE
    RBS05 RBS 1 0 22 ONLINE
    RBS06 RBS 0 0 16 ONLINE
    RBS07 RBS 0 0 15 ONLINE
    RBS08 RBS 0 0 12 ONLINE
    RBS09 RBS 1 0 19 ONLINE
    SEGMENT_NAME TABLESPACE_NAME WAITS SHRINKS WRAPS STATUS
    RBS12 RBS 0 0 13 ONLINE
    RBS13 RBS 0 0 18 ONLINE
    SYSTEM SYSTEM 0 0 0 ONLINE

    Aman,
    Definitely that would be a great approach to share the knowledge; but right now my notes are still in the shape of notes only; i have'nt tested them. I simply read forum and asktom and whenever i found good lines i copy and paste them and whenever i found the similar question in the forum i paste / repharase there in my own language and understanding (because till then i have tested and learnt them very well.)
    Although i am highly obliged by your suggestation; let me that much knowledgable; so that i may run my own blog...!
    Regards
    Girish Sharma

  • Oracle error: Ora-01555 : snapshot too old: rollback segment number 1......

    System Error: Unknown Database error (type qqdb_ResourceException) on WMS_WH1: Execute failed for SQL statement ............... error from database is: ORA-01555: snapshot too old: rollback segment number 1 with name "_SYSSMU1$" too small...
    Any ideas ? Please help.
    Thank you.

    You either have
    - an UNDO tablespace that is way too small (rollback segments that are too small); or
    - an application that does way too many COMMITs (common with apps ported from SQL Server)
    From the added info, I would guess that the Java program has a major loop and does processing on each of the values it gets in that loop. At the end of each turn in the loop, it does a commit. Then it tries to look at the next record in the master list. After a while (say around 388 loops ;-) ) it dies.
    The reason is that when it looks for information in the master query, it needs to rebuild that information to the moment that query was initiated. It uses rollback (AKA undo) to rebuild that. But rollback is not guaranteed to exist after a commit (unless forced) and once a commit happens, that area can be reused. When it is reused, the information is no longer there to rebuild the row, and that raises an ORA-01555
    Edited by: Hans Forbrich on Sep 11, 2009 3:44 PM

  • Rollback segment number not shown with name " not shown " too small

    Hi,
    we have a table TABLE1 with a BLOB field FIELD1 on a Oracle 10g database. Today we found out that there is one record in that table that make problems. if we try to read the BLOB data from that record, Oracle shows the error:
    ORA-01555: snapshot too old: rollback segment number  with name "" too small
    The strange thing about it, that the message shows neither the segment number nor the segment's name. Like it has lost the reference to it.
    Could you help please.
    Notes:
    The TABLE1 and the BLOB data are really not big.
    The UNDO tablespace is 2Gb big and just 1% used.
    Thank you very much
    Igor

    Out-of-row LOB undo is maintained in the LOB segment. So the UNDO tablespace and undo retention is not associated with most LOB ORA-1555 issues. Instead the LOB column is created using either PCT_VERSION or RETENTION to manage how much space within blocks or time transpires before the LOB undo is overwritten. In environments with high updates, deletes on rows including LOBs, the chances of ORA-1555 on LOB undo is very high.
    Source:http://blogs.oracle.com/db/entry/troubleshooting_ora_1555
    In the above link you will get plenty of good metalink notes to understand and solve the issue.
    There is no undo segment name in the error message means this error has no relation with undo tablespace/parameter/segment. This might mean that your LOB table is corrupted. Can you drop and recreate/re-populate this table and try again ?
    Srini Chavali     @ Another "snapshot too old: rollback segment number  with name "" too small"
    Regards
    Girish Sharma

  • ROLLBACK SEGMENT NEEDS RECOVERY AND HOW TO RESOLVE IT

    제품 : ORACLE SERVER
    작성날짜 : 1995-02-06
    Subject :
    This article discusses what it means when a rollback segment needs
    recovery and how to resolve it.
    OVERVIEW
    This bulletin discusses why a rollback segment is the status of
    "needs recovery", what the status means, and how to resolve it.
    INTRODUCTION
    Rollback segments can be monitored through the data dictionary view,
    dba_rollback_segments. There is a status column that describes what state
    the rollback segment is currently in. Normal states are either online or offline.
    Occasionally, the status of "needs recovery" will appear.
    This is considered to be a corrupted rollback segment.
    When a rollback segment is in this state, bringing the rollback segment
    offline or online either through the alter rollback segment command or
    removing it from the rollback segments parameter in the init.ora usually has no effect.
    UNDERSTANDING
    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 unaccessible 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 dba_data_files under the
    status column. For tablespaces, 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 mostimportantly, what object Oracle is trying to apply
    the undo to.
    3-TAKE the corrupted rollback segment out of the rollback_segments parameter in the init.ora
    4-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, that is ok.
    5-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.
    6-IN the trace file, there should be a message similiar to-
    error recovery tx(#,#) object #.
    TX(#,#) refers to transaction information.
    The object # is the same as the object_id in sys.dba_objects.
    7-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 #>;
    8-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.
    9-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.

    Yes we were having the performance issues when it is getting locked? in this what i want to know
    why it happens suddenly?
    or what package this piece of code is calling?
    or is there any possiblity of system will degrade the performance like sys user etc...?
    where exactly i found the root cause for further analysis?
    so that next time onwards if particular objects is locking we come to know why it happens is there any logical false or how do we eliminate this issue last time?
    coz in our environment sometimes most of lockings are from the same table?
    pls let me know where i have to concentrate for debug and how to troubloshoot and reslove this
    sorry for the inconvience.. i m expecting the answer from here. if anybody wants some more info i ll let him know.
    as of till now i got some docs i start to read this.
    Regards
    M.Murali..
    Note: will system/sys degrade the performance ?if so how ?

  • ORA-01555: snapshot too old: rollback segment number 6 with name "R05" too

    Can someone please help me how to overcome this dreaded ORA-01555 and how to know what exactly is causing this. There can be number of reasons this can occur :
    1. Fewer and smaller rollback segments for a very actively changing database
    2. Corrupted rollback segment
    3. Fetch across commit
    4. Fetch across commits with delayed block clean out
    Thanks

    http://asktom.oracle.com/pls/ask/f?p=4950:8:802460143396322798::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:275215756923
    <quote source="asktom">
    the only CAUSE of a 1555 is improperly sized rollback segments.
    </quote>
    http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:275215756923#10100046218454
    Message was edited by:
    Kamal Kishore

Maybe you are looking for

  • How do I delete a file that says it's in use even though it isn't??!

    Hi! I'm hoping someone can help me please! I'm being driven insane by a file on my Mac that I can't delete. It is a temp Illustrator file which created itself out os some tenuous necessity that I don't comprehend! When I try to send it to the trash a

  • Using Mac Mini with 16:9 CRT Standard Def TV by RCA connection!

    Hello all, I realise that there are others who have experienced similar problems but after spending quite a bit of time searching this forum, I wasn't able to find an answer for my particular circumstance. In summary, I can't get my new Mac mini to w

  • Variable call not working

    This script fetches users and their groups. I was trying to make a function or something where I call groups $USER_ID instead of printing it out each time. Here is how it is now: cat myFile | while read LINE do USER_ID=`echo $LINE | awk -F: '{print $

  • Unable to get SSL + Tomcat working correctly

    Hi All, Issue: Enabled SSL on Tomcat. First HTTPS request to JSP works, all HTTPS requests to JSPs after the first request fail (sever not found - page cannot be displayed error). The error does not get logged in the log files. The same JSPs work fin

  • Best practices for deploying forms in a 'cluster'?

    Anyone know of any public docs that discuss typical best practices for - forms deployment; - forms apps management and version control; and/or - deploying (and keeping) the .frm/frx in sync when using multiple forms servers in a HA or load balancing