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.

Similar Messages

  • Difference Between Rollback Segments and UNDO Tablespace

    Hi guys,
    Can you tell difference between Rollabck segments and UNDO Tablespaces.
    I think that rollback Segemnts and UNDO tablespaces are similar both are used for storing before imags of data, which is going to be modified.
    but my question still both the rollback abck segments and UNDO tablespaces exists.
    why and what is the reason of both existing and at what time, we can use..them at which scenarios's
    Regards,
    Pavan Kumar N

    Undo segments in undo tablespaces, introduced in 9i, are the successor of rollback segments.
    They are automatically managed by Oracle.
    Rollback segments exist for reasons of backwards compatibility.
    That said, you should switch to undo segments and stop using rollback segments.
    Other than that: could you please avoid rehearsing the complete documentation in this forum?
    Sybrand Bakker
    Senior Oracle DBA

  • Tablespace, Rollback segments and Undo tablespace

    hi,
    we are frequently getting an error on tablespaces, rollback segments and undo tabelspaces during the ETL load. This was really distrubing us to go further, is there any best practice how to avoid the tablespace errors or any precautions to be taken, we are very new to this ETL loads, pls advice
    Kishan

    Hello Kishan
    Yes. Make tablespaces bigger. However, the proper way to do it is optimizing your queries. If you don't have experience with Oracle DB, consult your DBA.
    Hope this helps
    Mate

  • Differance between Rollback Segements and Undo Tablespace/segments

    Hi everyone.
    I have some confusion that how Rollback Segements and Undo Tablespace/segments and different? Functionally they seem to be the same but why then Oracle recommends not using Rollback segments?...please explain. Kindly post any links useful in this regard.
    Thanks,
    Mukesh

    1.when does the changed data written to the undo tablespace?It never gets moved to the undo tablespace.
    The ORIGINAL data gets moved to the rollback/undo. Oracle assumes that most of the time the transaction is going to commit, so the change is made to the real block (in memory). At that time, enough information to roll back that change is written into the rollback segment.
    2.which process writes the changed data to the undo tbs?The server process. The one to which the user connects. The one the user gets by contascting the listener.
    3.What are the identifiactions which is used to undo the changes made(like SCN) ? plz...AFAIK, Transaction Id is the only thing used. SCN, a redo log construct, may be used to recreate the transaction ID in the rollback.

  • Sql to find check Percent of Rollback Segment Used?

    I have the following queries to find information about rollback segments.
    I want the sql to find % of rollback segment used.
    --rollsegs.sql
    select SEGMENT_NAME, OWNER, TABLESPACE_NAME, SEGMENT_ID, status
    from dba_rollback_segs order by segment_name;
    select name, extents, writes, xacts, gets,waits, shrinks, aveactive, status
    from v$rollname n, v$rollstat s
    where n.usn = s.usn
    order by name;
    --rolbstat.sql
    select name, rssize, hwmsize "High", optsize "Opt", wraps, extends, shrinks,
    aveshrink "Aveshr", aveactive "Aveact"
    from v$rollname n, v$rollstat s
    where n.usn = s.usn
    order by name;
    set numformat 999999990;

    DrBurgs, there was a time when your session was assigned a rollback segment that rollback segment held all the updates performed by your session but by Oracle version 8.1 every transaction executed by your session could be assigned to a different rollback segment.
    So every 100,000 or whatever value of N use choose as your commit point could result in a different rollback segment being used. You can use v$rollstat and v$transaction to monitor rollback segment usage while the job is running.
    You stated that you had one rollback segment for every tablespace. There is no relation in Oracle between the number of tablespace and the number of rollback segments you should have.
    You should choose the number of rollback segments to create based on the expected user load and how large a transaction you need to be able to support. For manually defined rollback segments set the initial extent size and the next extent size equal with pctincrease = 0. Then set optimal to the size you would like each rollback segment to be. This size should be large enough that shrinks do not happen often but small enough that one segment that expands will not result in other rollback segments being able to extend. By using uniform extent size you guarentee that every free extent is usable by any other rollback segment that needs to extend.
    With a true warehouse you probably have very little update compared to your select load and the updates are probably load jobs. In this case you may need very few, very large rollback segments to handle the load.
    HTH -- Mark D Powell --

  • Different rollback segment used. why?

    Hi. I am trying to use rollback segment RB6 in a delete process in a stored procedure using SET TRANSACTION USE ROLLBACK SEGMENT RB6;
    However, when the procedure is called and performed, an error is thrown:
    ORA-01562: failed to extend rollback segment number 2
    ORA-01650: unable to extend rollback segment RB2 by 128 in tablespace my_table_space
    If you notice, the error refers to segment RB2. I have not set RB2 as a rollback segment in this procedure. How is it possible? I am using RB6 and now it's throwing an error regarding RB2? Please help. Thanks.

    It depends on where in the code you SET TRANSACTION, when you call the procedure, where delete transaction starts and where it ends. i.e does the delete part of the code run within that same windows?
    The database can decide which rollback segment to use for different transactions.
    BTW - What is your oracle release?

  • Replacing explicit Rollback Segments by UNDO segement

    Hi,
    My DBA wants to turn off the explicit rollback segments currently being used and replace them by UNDO segment. I have explicit mention of these rollback segments in my C++ and Pro*C codes. What changes am I supposed to make in order to implement the UNDO segements. Do I need to remove the function or only commenting the rollback segment reference line will suffice. Please see the sample code below:
    void DeleteDBI::SetTransaction()
    struct sqlca sqlca;
    EXEC SQL BEGIN DECLARE SECTION;
    // Thread context:
    sql_context ctx = dbConnection->GetContext();
    EXEC SQL END DECLARE SECTION;
    EXEC SQL CONTEXT USE :ctx;
    EXEC SQL SET TRANSACTION USE ROLLBACK SEGMENT RBS_LARGE_02;
    EXEC SQL WHENEVER SQLERROR DO SqlError(sqlca, "DeleteDBI::SetTransaction");
    }

    It looks like you can comment the entire procedure.
    However it is not a good practice to control the Rollback segment from code.
    Check with ur DBA for better options in the future.

  • ORA-30036: unable to extend segment, our UNDO TABLESPACE grow to 500 GB

    Our client report that when they run their batch job the error "ORA-30036: unable to extend segment..." came into their log file.
    I have checked with alert log but nothing there. We use Oracle 11g on Solaris 10 SPARC.
    Any suggestion ?
    Thanks & Regards

    Refer to
    Troubleshooting ORA-30036 - Unable To Extend Undo Tablespace [ID 460481.1]
    ORA-30036: unable to extend segment by <N> in undo tablespace '<tname>' [ID 271664.1]

  • SQL Statement using Undo Tablespace

    Hi
    Is there a way to find out which SQL Statement is using the highest amount of Undo Tablespace ?

    Query v$undostat.
    Use column "MAXQUERYID" for identgifying long running queries.
    Refer Metalink Note 262066.1 for undo information.
    Regards
    Sethu

  • Creating rollback segments using PUBLIC

    One of our dba's dropped and recreated the 6 rollback segments ( 8i ) but didnt use the PUBLIC option. When the server was rebooted they came up as offline. Another dba did the same but used the PUBLIC option and they are now fine.
    I have looked through the ORacle docs on creating rollback segments and it doesnt seem to say that using the PUBLIC option is essential . I seems to think that u need to do this if using parallel server option.
    So what is the real truth ?
    George

    Private rollback segments need to be defined in init.ora.
    -Antti

  • How to find out rollback segment offile or online for pertcular schema????

    how to find rollbacksegment is online or ofline and space information regarding rollbacksegment?
    this is freshely installed 11.5.10.2. defultly how much free space we have????????//
    regards
    dba

    Default rollback segments are always online on database startup.
    if you create any new rollback segments then they will be offline by default during startup.
    for making newly created rollback segments online by default edit your init_sid.ora file and add the name of rollback segment in rollback_segment parameter.
    BTW,why are you concerned about rollback segments,use undo tablespace.

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

  • 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

  • Managing Undo tablespace & roll back segments

    Hi,
    I have oracle 9.1 version and have created 5g undo tablespace apart from 20m rbs tablespace for 15 rollback segments. But it is seen that whenever i give UNDO_MANAGEMENT=AUTO then rollback segments are created using undo tablespace and not allowing rollback segment in rbs tablespace ONLINE. In the reverse happens whenever I give UNDO_MANAGEMENT=MANUAL , the rollback segments in the rbs tablespace gets focus and roll back segments in the Undo tablespace goes offline. Is there anything that I can do so that both undo tablespace and redo segments in the rbs tablespace gets working together so as to minimize the undo contention. Moreover, any query given takes long time when select query given with || in the subquery.
    Please suggest the tuning need to do?

    brain_heart wrote:
    Hi,
    I have oracle 9.1 version and have created 5g undo tablespace apart from 20m rbs tablespace for 15 rollback segments. But it is seen that whenever i give UNDO_MANAGEMENT=AUTO then rollback segments are created using undo tablespace and not allowing rollback segment in rbs tablespace ONLINE. In the reverse happens whenever I give UNDO_MANAGEMENT=MANUAL , the rollback segments in the rbs tablespace gets focus and roll back segments in the Undo tablespace goes offline. Is there anything that I can do so that both undo tablespace and redo segments in the rbs tablespace gets working together so as to minimize the undo contention.No that's the way it would work, you can either use the automatic undo or the manual one.not both. And its better to stick with the automatic one IMHO. Have a read of this link to understand more about undo.
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96521/undo.htm#8888
    HTH
    Aman....

  • Undo segment & Rollback segment

    Hi,
    What is the difference between Undo segment & Rollback segment?Is it a standard practice of creating roll back segments for each tablespace?
    Regards,
    Cherry

    What is the difference between Undo segment & Rollback segment?
    Undo Mode
    Undo mode provides a more flexible way to migrate from manual undo management to automatic undo management. A database system can run in either manual undo management mode or automatic undo management mode. In manual undo management mode, undo space is managed through rollback segments. In automatic undo management mode, undo space is managed in undo tablespaces. To use automatic undo management mode, the database administrator needs only to create an undo tablespace for each instance and set the UNDO_MANAGEMENT initialization parameter to AUTO. You are strongly encouraged to run in automatic undo management mode.
    Is it a standard practice of creating roll back segments for each tablespace?See above and http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14220/logical.htm#sthref449

Maybe you are looking for

  • Newly added field not getting displayed in ALV output

    Hi All,    I'm adding one more field/column to be displayed in an old existing program that uses REUSE_ALV_FIELDCATALOG_MERGE to generate the ALV fieldcat. DATA: BEGIN OF it_salary OCCURS 0,         pernr LIKE pa0000-pernr,         ename LIKE pa0001-

  • Windows 7 does not recognize ipod 6th gen nano

    Windows 7 does not recognize my device so I can't sync to iTunes. I tried running MSCONFIG, reinstalling iTunes and various different cables, usb ports. Any other suggestions?

  • Tax Calculation on MRP !

    Hi Experts, I have defined a special pricelist for a customer with discount factor of say 10%.If the MRP (Unit Price Field) of a product is 100 the price after discount comes out to be 90.The tax code of VAT4% takes the base amount of 90 and calculat

  • SSD Sloooow boot windows 7

    Hello, Happy new year. I have replaced  my old sata disk with a ssd disk . Intel 520 240 gb. on my  T520. I have a Windows 7 and a minor Linux partition. Dual boot. I have moved the old image  with Arconis True HD. However, there is a HUGE difference

  • How to hook up a apple Macbook Pro to a Denon AVR-X2000 receiver?

    I Hooked my Macbook Pro to my receiver and got a picture on my flat screen but no sound came out of the speakers. The sound only came out of the specker from the laptop. Can anyone tell me if I have to turn something off on the laptop or do I need a