Pb with rollback segment

Hi guys.
Am using oracle 8i and am having problems with rollbackup segment. My rbs tablespace is 35GB and will like to shrink it! Its a production db, so my question is shoudl I fire the below query?
alter rollback segment SYSTEM shrink;
alter rollback segment RBS__BIG shrink;
alter rollback segment RBS01 shrink;
alter rollback segment RBS02 shrink;
alter rollback segment RBS03 shrink;
alter rollback segment RBS04 shrink;
alter rollback segment RBS05 shrink;
alter rollback segment RBS06 shrink;
Is there any downside? Please advice.
Thanks.

Hi Friend,
Production DBs are always having big transactions, These transactions obviously hold large memory in rollback segments. You will not face any issue after srinking it but if any transaction is failed and it has not been enrolled or flush out from your rollback segment. You will be not able to recover the data from rollback segment. I would suggest use share table space here instead of shrinking it. Atleast it will help to to recover current transaction in case of calamity.
Thanks,
Nitin joshi

Similar Messages

  • Big problem with ROLLBACK SEGMENT

    I tried insert into DB Oracle 8i more than 23000 rows from .sql files.
    This files contents:
    -- START
    delete from grls;
    insert ..........
    insert ..........
    insert ..........
    -- END
    ORA-01562: failed to extend rollback segment ...
    My configuration:
    CREATE TABLESPACE rbs datafile '$ORACLE_BASE/oradata1/$ORACLE_SID/rbs01.dbf' SIZE 10M;
    CREATE TABLESPACE rbs_02 datafile '$ORACLE_BASE/oradata1/$ORACLE_SID/rbs01_02.dbf' SIZE 300M;
    CREATE ROLLBACK SEGMENT rbs01 storage (initial 20k next 20k minextents 3 maxextents 121) TABLESPACE rbs;
    CREATE ROLLBACK SEGMENT rbs16 storage (initial 20k next 20k minextents 3 maxextents 121) TABLESPACE rbs;
    CREATE ROLLBACK SEGMENT rbs_load01 storage (initial 30m next 30m minextents 3 maxextents 10) TABLESPACE rbs_02;
    Please help me.

    1.)Did you place the rollback segments online
    after creation?
    Alter rollback segment RBS01 online;
    Alter rollback segment RBS16 online;
    Alter rollback segment RBS_LOAD01 online;
    2.)Did you set your init[sid].ora parameter
    ROLLBACK_SEGMENTS = (RBS01, RBS16, RBS_LOAD01) so that they will automatically come on line on istance startup?
    3.) You have set up only 304Meg of space for them cumulatively. Is this enough for the 23thousand rows you want to insert?
    If not you may want to enable the autoextend option on your datafiles. Of course you will want to change your maxextents. Leaving that value out will give you a default of 505 maxextents.
    4.) And finally you could throw in a commit during the insert procedure. This will commit the transaction at that point and clear out the rollback segments for use again.
    Tom

  • Trying to understand rollback segments - offline tblspaces for backup

    Using Oracle 8i, on Windows platform - The question - receive an error ORA-01556 when performing a
    sql "ALTER TABLESPACE MY_TBS_LT OFFLINE IMMEDIATE";
    =============================================
    First off I created a tablespace and table on an 8i database.
    create tablespace my_tbs_lt_tbs_lt
    datafile '&&2\oradata\&&1\my_tbs_lt_guitest1.dbf'
    size 10M
    AUTOEXTEND ON NEXT 1280k EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K; <===== Is this right for use with rollback segments?
    CREATE ROLLBACK SEGMENT rbgui1t2 STORAGE(INITIAL 50K NEXT 250K)
    tablespace my_tbs_lt;
    CREATE ROLLBACK SEGMENT rbgui2t2 STORAGE(INITIAL 50K NEXT 250K)
    tablespace my_tbs_lt;
    CREATE ROLLBACK SEGMENT rbgui3t2 STORAGE(INITIAL 50K NEXT 250K)
    tablespace my_tbs_lt;
    CREATE ROLLBACK SEGMENT rbgui4t2 STORAGE(INITIAL 50K NEXT 250K)
    tablespace my_tbs_lt;
    -- Bring new rollback segments online
    ALTER ROLLBACK SEGMENT rbgui1t2 ONLINE;
    ALTER ROLLBACK SEGMENT rbgui2t2 ONLINE;
    ALTER ROLLBACK SEGMENT rbgui3t2 ONLINE;
    ALTER ROLLBACK SEGMENT rbgui4t2 ONLINE;
    CREATE TABLE guitester.guitester_t2
    ( employee_id NUMBER(6)
    , first_name VARCHAR2(20)
    , last_name VARCHAR2(25)
    CONSTRAINT emp_last_name_nn_demo NOT NULL
    , email VARCHAR2(25)
    CONSTRAINT emp_email_nn_demo NOT NULL
    , phone_number VARCHAR2(20)
    , hire_date DATE DEFAULT SYSDATE
    CONSTRAINT emp_hire_date_nn_demo NOT NULL
    , job_id VARCHAR2(10)
    CONSTRAINT emp_job_nn_demo NOT NULL
    , salary NUMBER(8,2)
    CONSTRAINT emp_salary_nn_demo NOT NULL
    , commission_pct NUMBER(2,2)
    , manager_id NUMBER(6)
    , department_id NUMBER(4)
    , dn VARCHAR2(300)
    , CONSTRAINT emp_salary_min_demo
    CHECK (salary > 0)
    tablespace my_tbs_lt;
    =======================================
    I changed the initSID.ora file to have
    Rollback_segments=( rbgui1t2, rbgui2t2, rbgui3t2, rbgui4t2)
    =======================================
    restarted everything
    ========================================
    did a backup of the tablespace my_tbs_lt;
    ========================================
    added some data to the table in the tablespace
    ========================================
    ran a restore/recover - Get the error
    ========================================
    It makes sense that I get the error because it is the tablespace that I have been working with, adding data. Is my logic correct? How does one restore a tablespace if it has rollback segments active? Can someone look to make sure I am declaring the rollback segments appropriately?

    Thank you for the link - very helpful.
    So would a more appropriate scheme be:
    Create a tablespace
    Create rollback segments
    Put them online
    enter their names in the ROLLBACK_SEGMENTS= segment(s)
    I havent read everything, so you may say go look at the link again, but a second question. If you are managing the extent locally, does it not use a rollback segments, or is it using system, or is it actually creating rollback segments for itself within the context of the local management?
    In my above scenario, I would have to take my rollback segment offline as well as the tablespace.

  • Rollback segment  autoextent=on

    Hi,
    in 8.1.7 how to see if rollback segment is in auto extent on or not ?
    Many thanks.

    rollback segments nor datafiles where you can enable autoetend on.
    select SEGMENT_NAME, STATUS, MAX_EXTENTS
    from dba_rollback_segs;
    Onething that you can do with rollback segments are that enable max extents.
    Jaffar

  • The OPTIMAL storage parameter in the rollback segment

    Hi,
    in metalink note Subject: ORA-01555 "Snapshot too old" in Very Large Databases (if using Rollback Segments)
    Doc ID: 45895.1
    I see :
    Solution 1d:
        Don't use the OPTIMAL storage parameter in the rollback segment. but how not to use the OPTIMAL storage parameter in the rollback segment ?
    Thank you.

    If you are using undo_management=AUTO (in 9i or higher) then there is no "OPTIMAL" setting.
    "OPTIMAL" is when using Manual Undo Management with Rollback Segments created by the DBA.
    If you are using Manual Undo Management, check your Rollback Segments. The Optimal size would be visible in V$ROLLSTAT.
    select a.segment_name a,  b.xacts b, b.waits c, b.shrinks e, b.wraps f,
          b.extends g, b.rssize/1024/1024 h, b.optsize/1024/1024 i,
          b.hwmsize/1024/1024 j, b.aveactive/1024/1024 k , b.status l
    -- from v$rollname a, v$rollstat b
    from dba_rollback_segs a, v$rollstat b
    where a.segment_id = b.usn(+)
    and b.status  in ('ONLINE', 'PENDING OFFLINE','FULL')
    order by a.segment_name
    /To unset the Optimal setting you can run
    alter rollback segment SEGMENT_NAME storage (optimal NULL);Note that if you unset OPTIMAL, then your Rollback Segments will remain at very large sizes if and when they grow running large transactions ("OPTIMAL" is the pre-9i method for Oracle to automatically shrink Rollback Segments). You can manually SHRINK or DROP and CREATE Rollback Segments then.

  • Rollback segments using UNDO Tablespace?

    First, I created a database for a vendor with an Undo Tablespace UNDOTBS. Then the vendor requested me to create rollback segments instead. So I created a new tablespace RBSTBS just to hold these segments. When I tried to create the rollback segment using the newly created tablespace RBSTBS, it complained that I am not allowed to use non-system tablespaces.
    So instead, I used the Undo tablespace UNDOTBS to hold the rollback segment. It worked.
    Am I really allowed to use the UNDO tablespace to hold rollback segments? Can't I use normal tablespaces for rollback segments?
    Another thing, the vendor wanted me to create rollback segments of 200MB each. Where do I set this while creating the rollback segment? Is this the INITIAL, NEXT, or OPTIMAL size?
    I know that Oracle recommends using UNDO rather than rollback segments. Is there any advantage in using traditional rollback segments?
    Thanks for any help!

    Advantage with rollback segment is you can force your transaction to use any specific rollback segment, where as with undo you don't have any control. Oracle does it for us.
    Thanks and Regards,
    Satheesh Babu.S
    Bangalore.

  • Rollback Segments - 1013 condition

    Hello guys,
    i am recieving the following error:
    Thu Jul 19 14:33:23 2007
    Failure to extend rollback segment 12 because of 1013 condition
    FULL status of rollback segment 12 set.And after that .. it takes a while...
    Thu Jul 19 14:33:39 2007
    FULL status of rollback segment 12 cleared.But the rollback segment 12 is able to extend and the tablespace has enough free space. I try to find something about "1013 condition" but i did not find anything.
    What can i do to solve the problem?
    It happens if i run some big delete statements on my system... i am not very experienced with rollback segments... the most time i use automatic undo managment.
    Thanks and Regards
    Stefan

    Hello Piere,
    thanks for the metalink note... it makes it much more clearer.
    Other notes for Oracle 9i reference this issue as a bug with hang condition.
    Is this your case ?Yeah i got 100% cpu load and the database is "hanging" until i do a "kill -9 <ShadowPID>" and waiting for pmon to clean up the resources.
    The ORA-01013 does also makes no sense in this case... the user is not cancelling the action ... and also what has it to do with the rollback segment.
    -> http://ora-01013.ora-code.com/
    Which notes do you mean, that references to bugs?
    Thanks and Regards
    Stefan

  • Alter rollback segment

    I am trying to issue the statement :
    ALTER ROLLBACK SEGMENT "SYSTEM" STORAGE ( MAXEXTENTS UNLIMITED);
    But I get a message saying that
    ORA-01681: Parameter unlimited_rollback_segments must be set TRUE for this operation
    ORA-02226: invalid maxextents value (max allowed : 505)
    how could i make it to unlimited

    404045, why are you trying to change the system rollback segment? It should only be used by Oracle to support internal operations.
    Allocate non-system rollback segments in their own tablespace (or use undo tablespace) and leave the system segment alone!
    The error messages are pretty clear. You have to set an init.ora parameter to make use of the unlimited value with rollback segments. At least for the version of Oracle you are using.
    HTH -- Mark D Powell --

  • ORA-01555: snapshot too old: rollback segment number 3 with name "_SYSSMU3$

    A Materalized view is scheduled to update every 12 hours . When it has tried to update it has thrown the error ...
    ORA-12008: error in materialized view refresh path
    ORA-01555: snapshot too old: rollback segment number 3 with name "_SYSSMU3$"
    too small
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 803
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 860
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 841
    ORA-06512: at line 1

    Hi,
    Can you increase the size of the UNDO Tablespace ?
    For more information, you can find on this link below:
    http://forums.oracle.com/forums/search.jspa?threadID=&q=ORA-01555&objID=c84&dateRange=all&userID=&numResults=15
    Cheers

  • 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

  • ORA01555"snapshot too old:rollback segment num %s with name "%s" to small

    Hi All
    i have and 11gR1(11.1.0.6) DB source instance in wich i have i a partitioned table of 1TB size.
    I want to IMPDP this table using NETWORK_LINK in a 11gR2(11.2.0.3) destination RAC instance.
    when a try to import a get the following error message
    ORA 01555 "snapshot too old: rollback segment number %s with name \"%s\" too small"
    UNDO_RETENTION=130000
    UNDOTBS1=300GB
    UNDOTBS2=220GB
    i have searche dhte metalink docs but did not find any solution.
    is there any hint or document to follow?
    thanks in advance
    Soni

    Hi,
    Stopping the loading may work - it there is no other activity going on then you should be OK.
    If you want to guarantee the undo doesn't get overwritten for the length of the export you can run switch on guarantee undo retention for the undo tablespace - by default it is just a target not a guarantee - see this link for more details:
    http://www.oracle-base.com/articles/10g/space-object-transaction-management-10g.php
    Regards,
    Harry

  • System Error:Database access error,rollback segment number with name "" too small

    Hi Experts,
    In SXMB_MONI  XML messages for File2File scenario are failing
    with the below message:
    Database access error
    com.sap.aii.utilxi.misc.api.ResourceException: ORA-01555: snapshot too
    old: rollback segment number with name "" too small ORA-22924: snapshot
    too old at com.sap.aii.utilxi.blob.api.AIIBlob.getByteArray
    (AIIBlob.java:85) at
    com.sap.aii.utilxi.blob.api.AIIBlobImpl.getByteArray
    (BlobServices.java:156)
    I have refered this link http://scn.sap.com/thread/3147106
    Kindly suggest,
    Gagan.

    This may be due memory issue on the server. refer the note/thread as
    http://scn.sap.com/thread/3456694
    3807  - Error messages regarding rollback and undo segments
    Regards
    Ramg

  • 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

  • ORA-01555: snapshot too old: rollback segment number 8 with name

    Hi,
    Database version is Oracle8i Enterprise Edition Release 8.1.7.4.0
    I am struggling to fix this error, since I have not worked on 8I DATABASE.
    We getting this kind of error very frequently in one of the 8i database.
    ORA-01555: snapshot too old: rollback segment number 8 with name "ROLLBACK08" too small
    How do i fix this permantely.
    I have verified the RBS configured in the db.
    SEGMENT_NAME TABLESPACE_NAME OWNER STATUS
    SYSTEM SYSTEM SYS ONLINE
    ROLLBACK0 SYSTEM SYS OFFLINE
    ROLLBACK02 RBS1 SYS ONLINE
    ROLLBACK03 RBS1 SYS ONLINE
    ROLLBACK04 RBS1 SYS ONLINE
    ROLLBACK05 RBS1 SYS ONLINE
    ROLLBACK06 RBS1 SYS ONLINE
    ROLLBACK07 RBS1 SYS ONLINE
    ROLLBACK08 RBS1 SYS ONLINE
    ROLLBACK09 RBS1 SYS ONLINE
    ROLLBACK10 RBS1 SYS ONLINE
    ROLLBACK01 RBS1 SYS ONLINE
    SQL> SELECT t1.name, t2.extents, t2.rssize, t2.optsize, t2.hwmsize, t2.xacts, t2.status FROM v$rollname t1, v$rollstat t2 WHERE t2.usn = t1.usn ;
    NAME EXTENTS RSSIZE OPTSIZE HWMSIZE XACTS STATUS
    SYSTEM 7 770048 770048 0 ONLINE
    ROLLBACK02 2 41934848 262144000 41934848 0 ONLINE
    ROLLBACK03 3 62906368 262144000 62906368 1 ONLINE
    ROLLBACK04 3 62906368 262144000 62906368 0 ONLINE
    ROLLBACK05 2 41934848 262144000 41934848 0 ONLINE
    ROLLBACK06 3 62906368 262144000 62906368 1 ONLINE
    ROLLBACK07 3 62906368 262144000 62906368 1 ONLINE
    ROLLBACK08 3 62906368 300146688 62906368 0 ONLINE
    ROLLBACK09 3 62906368 262144000 62906368 1 ONLINE
    ROLLBACK10 3 62906368 262144000 62906368 1 ONLINE
    ROLLBACK01 3 62906368 300146688 62906368 0 ONLINE
    NAME0     USER0          RSSIZE Wraps Extents Shrinks     OPTSIZE     COMM0
    ROLLBACK01          62906368     19     3     0 300146688 lookup
    ROLLBACK02          41934848     0     2     0 262144000 lookup
    ROLLBACK03 OPS$RTRADM     62906368     20     3     0 262144000 lookup 50
    ROLLBACK04          62906368     34     3     0 262144000 lookup
    ROLLBACK05 OPS$RTRADM     41934848     28     2     0 262144000 No Command
    ROLLBACK06 OPS$RTRADM     62906368     21     3     0 262144000 lookup 50
    ROLLBACK07 OPS$RTRADM     62906368     25     3     0 262144000 lookup 50
    ROLLBACK08          62906368     32     3     0 300146688 lookup
    ROLLBACK09 OPS$RTRADM     62906368     20     3     0 262144000 Select
    ROLLBACK10 OPS$RTRADM     62906368     24     3     0 262144000 lookup 50
    SYSTEM               770048     0     7     0     lookup
    Can someone help ... who to set the RBS size here... i dont want this error happens here.. what i need to look or check.

    lm**** wrote:
    Hi,
    Database version is Oracle8i Enterprise Edition Release 8.1.7.4.0
    I am struggling to fix this error, since I have not worked on 8I DATABASE.
    We getting this kind of error very frequently in one of the 8i database.
    ORA-01555: snapshot too old: rollback segment number 8 with name "ROLLBACK08" too small
    How do i fix this permantely. upgrade to supported Oracle version since V8.1.7 has not been supported this Century.

  • ORA-01555: snapshot too old: rollback segment number 3 with name "RB02

    It just happen while processing ....

    01555, 00000, "snapshot too old: rollback segment number %s with name \"%s\" too small"
    // *Cause: rollback records needed by a reader for consistent read are
    // overwritten by other writers
    // *Action: If in Automatic Undo Management mode, increase undo_retention
    // setting. Otherwise, use larger rollback segments

Maybe you are looking for