When to backup the rollback segments?

Does anyone know when do I need to backup the rollback segments and what for? How are they used during restore/recovery?
I'm using RMAN in Oracle 9.2. We have databases with both manual and automatic undo management. Does the undo management type make any difference?
Thanks,
Niki

Does anyone know when do I need to backup the rollback segments and what for? How are they used during restore/recovery?
Your question is a little large to answer but I am going to summary the most important.
The database works with transactions in commit and in not commit mode. While a transaction has not commit , this transaction has not finished. While the transaction has not finished the rollback segments or undo segments are used to store the image of blocks with changes and without changes. That is the method that Oracle uses to ensure that a block is not going to be modified definitevely until the transaction gets commit.
When you have a point of failure you are going to have transactions with commit and transactions with no commit and that tablespace ( RBS or UNDO ) is needed to carry to the database to a consistent point carrying to disk all transactions with commit and the rest have to suffer a rollback operation. That means that those operations without commit are not going to be complete transactions for the database.
When you want to recover a database all tablespaces are need excepting the temp tablespace because that tablespace is only needed to carry out sorts and operation likeness.
Does the undo management type make any difference?
if you use rollback segments you have to administer them and the management instead if you work with undo tablespace. If you work with undo tablespace it by itself manage its segments you do not have to worry about.
I think that I have answered your questions if you have any doubt or something like that feel free to follow asking.
Good Luck!
Joel P�rez

Similar Messages

  • 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.

  • Increase the RollBack Segment

    Guys,
    Hope you all doing well.
    My question is about the undotable space.
    I am using oralce 9ir2 on Windows Plateform. The tablespace was auto created at database creation. The tablespace is in Auto undo Management mode. The Undotablespace has 10 Rollback segments. I want to increase the Rollback segments in the tablespace. How could i increase the rollback segments??
    Please help.
    Thanks
    Y.Vo.

    when I asked how to get the rollback segment count, I actually asked how would you get the rollback segments in undo tablespace. Because you dont have rollback segments in undo tablespace. You can either have rollback segments or undo tablespace. If you start your database in UNDO mode then you will have undo tablespace or in ROLLBACK mode you will have roll back segments. Both cannot be in the same place.
    what version u are using? . In 10g you dont have rollback segment if you set UNDO_MANAGEMENT to auto. You will have only undotablespace.
    1) In undotablespace the extents will automatically grow according to the sum of the data files for that tablespace.
    2) If it reaches a maximum and if you have auto_extent in any one of the file then you dont have to manually increase the size i.e you dont have to manually increase the segments.
    3) Also if you dont have the auto_extent in any file then the space will be reused. i.e you start to loose the old undo data.
    4) The maximum data it can hold depends on UNDO_RETENTION period and the space available in the undo tablespace.
    Hope this helps.

  • 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.

  • Why Oracle10g uses System Rollback Segment....????

    Hi ,
    Just a wonder....!!!!
    Why Oracle10g uses System Rollback Segment....and not System undo tablespace... since rollback segment as a method to rollback transactions has been depreciated.....?????
    Thanks.....
    Sim

    System Rollback Segment is reserved for Oracle internal operation.
    I believe it is used only by SYS and programs invoked using SYS authorization manipulating dictionary tables. In which case the complexity has been understood and managed over several generations of Oracle.
    I suspect the system (manual) roillback segment will be very useful when creating a new database, which includes creating whole bunches of tables and views (updating whole bunches of internal tables), at which time no undo segment (or background process for automating that management?) exists.
    Please point to the document or link that says rollback segments are deprecated.
    Even now, manual rollback segments may be of benefit to specific programs and environments that run batch jobs managed by DBA whoy has studied them for a long time under specific circumstances.
    But, just like the various SGA pools should be evaluated and potentially resized when workload changes, the rollback segment configuration needs to be evaluated and potentially resized when workload changes. Few DBAs have the knowledge or skill or time to do so - the automatic adjustments may be the best generic compromise.

  • 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 is filling up during creation of the database

    Hi
    The Rollback segment is showing around 520mb immediately after
    creation of the database after following the wizard provided in
    the enterprise manager of oracle. What might be the reason. How
    to reduce it. Could any one give me a solution for this matter.
    Thanks in Advance.

    I tried creating the password file using the following command:
    orapwd file=/home/oracle/product/9.2.0/dbs/orapwHR.ora
    password=HR entries=5
    and got the same error:
    ORA-01501 Create Database failed.
    ORA-01990 -ERROR opening password file '/home/oracle/product/9.2.0/dbs/orapw'
    ORA-27037 Unable to obtain file status.
    Linux error: 2: No such file or directory.
    Additional information: 3.
    Does anybody know how to fix this problem?
    Thanks,
    Katya

  • How to get the size of rollback segments

    Hi,
    on which oracle table can I see which are the rollback segments and its own size?
    Thanks!

    doc questions like this one are best answered by querying the view DICT which is present in every release of Oracle (and which you of course -again- fail to mention)
    Sybrand Bakker
    Senior Oracle DBA

  • What is the table for active rollback segments

    Hi,
    Can anyone please let me know what is the table name for 'Active Rollback Segments', is it dba_rollback_segs?
    Regards,
    - Sri

    Yes, this is the view which will report you the rollback segment name, owner and other information about the rollback segments.
    You can also query dba_undo_extents view.

  • 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 ?

  • How can I avoid using rollback segment for batch updates.

    I am currently trying to avoid associating a large amount of space for rollback segment as this gets filled up only during the nightly batch updates. All that space will never be used during the day. Hence want to know if there is any way of avoiding the use of rollback segment at the session level.
    Rajesh

    No, but what you can do is create a large rollback segment to use with your batch job, at the start of your batch job bring the segment online, then use set transaction to use that rollback segment, when the batch job is finished and committed, you can then bring the rollback segment offline.
    If you are really pressed for space, as an alternate plan, you could actually create the large segment before the batch job and drop it after.

  • Cannot drop old undo tablespace. Cause: active rollback segment

    dear all.
    db: oracle 10.2.0.1
    os: rhel as version 5 64 bits.
    This is a testing database. And my database is online and open. But i can free the external usb disk that contains my ols undotbs.
    I want to drop old undo tablespace but this is not possible.
    1.- In order to open my database i had my datafile( '/mnt/hdext/back_plelds/undotbs02.dbf') offline drop, and then i can to open my database.
    2.- When i try to delete my old undo tablespace im getting this error:
    SQL> drop tablespace undotbs1 including contents and datafiles;
    drop tablespace undotbs1 including contents and datafiles
    ERROR at line 1:
    ORA-01548: active rollback segment '_SYSSMU1$' found, terminate dropping
    tablespace
    3.- My default undo_tablespace is another that i was created before step 1.
    SQL> sho parameter undo_ta
    NAME TYPE VALUE
    undo_tablespace string UNDOTMP
    SQL>
    Well i search in metalink ORA-01548 code error and in 18947.1 doc whows me that the solution is:
    Action: Shut down instances that use the active rollback segments in the
    tablespace and then drop the tablespace.
    4.- I try to shutdown but im getting:
    SQL> shutdown immediate;
    ORA-00376: file 10 cannot be read at this time
    ORA-01110: data file 10: '/mnt/hdext/back_plelds/undotbs02.dbf'
    SQL>
    This /mnt/hdext is an external USB disk and i have all permissions. I exported tables without any problem and i can read all files.
    i search un metalink again ora codes (ORA-00376 ORA-01110) and the doc id: 427801.1 shows in the solution:
    Drop the old undo tablespace instead of making it offline.
    but when i try to drop the tablespace it shows the error describe in the step 2.
    Facts:
    - my tablespace UNDOTBS1 is ONLINE. I put in offline and this is not the solution.
    - This is the status of my rollback segments:
    SQL> select segment_name, status from dba_rollback_segs where
    2 tablespace_name='UNDOTBS1';
    SEGMENT_NAME STATUS
    _SYSSMU1$                      NEEDS RECOVERY
    _SYSSMU2$                      NEEDS RECOVERY
    _SYSSMU3$                      NEEDS RECOVERY
    _SYSSMU4$                      NEEDS RECOVERY
    _SYSSMU5$                      NEEDS RECOVERY
    _SYSSMU6$                      NEEDS RECOVERY
    _SYSSMU7$                      NEEDS RECOVERY
    _SYSSMU8$                      NEEDS RECOVERY
    _SYSSMU9$                      NEEDS RECOVERY
    _SYSSMU10$                     NEEDS RECOVERY
    _SYSSMU11$                     OFFLINE
    SEGMENT_NAME STATUS
    _SYSSMU12$                     OFFLINE
    12 rows selected.
    SQL>
    - I have the note (Unable to drop und tablespace In this article describe the problem but this is not the same. The difference is that i cannot drop the rollback segment that describe in step 2.
    SQL> drop rollback segment "_SYSSMU1$";
    drop rollback segment "_SYSSMU1$"
    ERROR at line 1:
    ORA-30025: DROP segment '_SYSSMU1$' (in undo tablespace) not allowed
    in metalink the doc id: 173696.1 shows the solution:
    Action:     Check the undo segment name and reissue statement if necessary.
    i cannot drop the rollback_segment
    What can i do ???
    thanks a lot.

    in step 4 did you try with shutdown abort?
    If its still does not work then create another new table space with new file and then swtich to that tablespace http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/undo.htm#sthref1504Khurram

  • Doubts in the rollback tablespace

    Dear Gurus,
    I created a database using dbca to do it...
    The creation was fine, but when I looked at the rollback segments at OEM I saw that the tablespace of the rollback is the system tablespace....
    Now I have a doubt, the tablespace of the rollback segment wasn´t to be the UNDOTBS1?
    Thnks...

    rollback segments show the active undo segments used in ur database (database vide), as system segment is created as the database created for system table space undo activities, further the oracle by default create and drop undo segments automatically and will not show in rollback segments , u can view the active created segments in v$rollstat view which are system generated. you can create your custom undo segments but for that u have to set parameters in initial parameter file and have to tell oracle to manage undo segments manually.

  • Urgent: Error ORA-01555 "snapshot too old rollback segment too small"

    I get this error when I do a "SELECT" on a few very large tables for a report. Isn't there a way out? Our DBA says our rollback segment size cannot be increased anymore. All I care of is the SELECT statement to finish executing. It is okay for me to have some inconsistency in the data (dirty reads). What is the easiest way to solve this problem? I CANNOT breakup the SELECT statement into multiple statements.
    Thanks in advance

    Oracle cannot be configured to give you dirty reads.
    Setting your transaction to be READ ONLY probably won't help too much-- the problem here is that when you go to SELECT a particular row, Oracle discovers that the value in the row has changed since the start of your query and the old value is not present in the rollback segments.
    How are your rollback segments configured? Perhaps you don't need to allocate additional space to them-- perhaps you can simply increase their OPTIMAL size.
    What version of Oracle are you on? If you are on 9i or above, I would strongly consider moving to automatic UNDO management, which vastly simplifies rollback (undo) administration.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • ORA-01545: rollback segment 'R01' specified not available, after disk crash

    After a disk problem, when I try to open the database I receive the error 0ra-01545.What can I do resolve this? It seems that the rollback segment is marked for recover. I an only mount the database.

    This is the forms forum. If you ask your question the the database forum you may get an answer much quicker.

Maybe you are looking for

  • EJB 3.0 indirection problem

    Hi, I'm trying to use lazy loading with EJB 3.0. I've generated CMP beans from tables in JDev. I have the same table schema as in tutorial: http://www.oracle.com/technology/tech/java/oc4j/ejb3/howtos-ejb3/howtooutofcontainer/doc/how-to-ejb30-out-of-c

  • Opinion of this hard drive?

    Hi All, I really need to just buckle down and buy a new mac book, but in the meantime I was thinking about upgrading my drive (again). I'm worried it might create too much heat for the mac book pro though.....i have some issues sometimes with freezin

  • Quotes

    i have a problem in my program. i have a program that will allow user to enter comment and the comment get inserted into a table. the problem i am having is that when user enter text with quotes, my program fail to insert. if there any way i can esca

  • How to display 0INSP_CHAR description in the report?

    Hi experts I want to display description of 0INSP_CHAR in the report.. 0INSP_CHAR has 3 compounding objects so its displaying it as Q/1356933/11/20 instead of 20. I want to remove compound characteristics from the report & also want to display descri

  • Allow posting to previous period (Backposting) in MM period close

    Hi, Does anyone know the implications/consequences of allowing posting to previous period (Backposting) when doing MM period closing? Thanks.