Which rollback segment ???

rdbms 9207
is there a way to tell which rollback segments a process used after it has been executed. i have a script that will give me some good info on rbsegs during execution but that's not what i want. i have a process running for more than an hour that is using "set transaction use rollback segment rbsxl;" it does several commits and then issues the set stmnt after every commit. anyway... problem is... sometimes it blows up because it grabs a different rollback segment which are all smaller than rbsxl. sqltrace hasn't seemed to help. statspack?? oem?? any ideas??
would love to know where it's grabbing this other rbseg. even a mod to the program to output the current rbseg would be nice.... just don't know how.
thanks
-doug-

Hmm...some thoughts:
1.) Since you're on 9.2, why not moveto AUM? Much easier to deal with.
2.) If you want to stick w/ conventional rollback segments, you ought to make sure they are equisized (governed by optsize) and are able to grow enough to fit your needs (based on free space in the rollback segment tablespace).
3.) If you really want to just see what's going on w/ the code, try a 10046 trace. Everything should be captured there, including all 'set transaction use rollback segment' statements, and it may help you identify if there are any commits that are not followed by a 'set transaction use rollback segment' statement. My guess is that after one of the commits, you missed a 'set transaction ...' statement.
Hope that helps,
-Mark

Similar Messages

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

  • Rollback segment for index creation

    Hi,
    I want to assign a specific (big) rollback segment to the transactions used by InterMedia Text while creating the index.
    However a 'SET TRANSACTION USE ROLLBACK SEGMENT create_index' directly before the 'CREATE INDEX ...' seems not to work, as I saw that the inserts performed by InterMedia Text (e.g. into the $i and $k tables) were done using other rollback segments (e.g. RBSxx).
    Is there any way to InterMedia Text to tell which rollback segments it should use for its internal operation?
    Cheers,
    Johannes

    we can't assign the rollback segment to particular user.
    For better performance place different table
    spaces in different disks.
    by
    ramana
    null

  • OCI setting rollback segment

    When using OCI, how does not set which rollback segment to use?
    The equiv PL/SQL stmt is "EXEC SQL set transaction use rollback segment BIGRBS2;"

    Thanks for replying.
    You mean mix Pro*C with OCI? How would it know that the pro*c set transaction goes with a given OCI session?
    Or do you mean give the "set transaction" statement to the OCIStmtExecute method?

  • General - rollback segments

    Been reading manuals, I have few question to clarify about rollback segments ( Lets leave undo tablespace and automatic undo management aside )
    1) Rollback segments can be created in a tablespace - is there a max size/limit which could be specified for a rollback segment to use within a tablespace? - From reading manuals, the storage clause doesnt mention about max size/limt for a rollback segment; is it possible for rollback segment to fill-up tablespace (ummm due to some wired query[read consistency]/transaction) ?
    2) We can create a separate rollback tablespace and have multiple rollback segments.
    If there are 3 user tablespaces (T1/T2/T3), 1 rollback tablespace (RT).
    - I create 1 rollback segment in tablespace T1, T2, T3
    - I create 2 rollback segments in rollback tablespace RT
    A user with "default tablespace T1" when running a transaction, which rollback segment will be used by this user (when rollback segment is not explicitly specified)?
    Oracle-Student

    user11359766 wrote:
    Will the transaction spill over to the second rollback segment (i.e start using the 2nd rollback segment which is available and not being used by any other active transaction) or oracle will return an error since the first rollback segment assigned is filled up and the transaction is still active?This will be applied to both SMU and MMU.
    From the same link above,
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96524/b_deprec.htm#634941
    For the duration of a transaction, the associated user process writes rollback information only to the assigned rollback segment.I hope its self explanatory that the transaction can't roll over to any other roll back segment once its own gets out of space. In teh case of SMU also, if the undo datafile can't grow, your transaction would be stopped.
    HTH
    Aman....

  • ORA-01581: attempt to use rollback segment (5) new extent (67) which is being allocat

    While importing a table, I got the following errors. Basically, the server couldn't extend the rollback segment. I checked the disk space, tablespace extents (unlimited), and segment extents (unlimited), but I couldn't find a reason that the segment couldn't be extended.
    What else do I have to check?

    As I understand it, you can not explicitly set the size for the undo segments in automatic undo management mode. From the Concepts guide:
    "In automatic undo management mode, the system controls exclusively the assignment of transactions to undo segments, and controls space allocation for undo segments."
    It looks like we are also using the default storage options that are set when the UNDO tablespace was created. Here is the DDL used to create this tablespace:
    CREATE SMALLFILE UNDO TABLESPACE "UNDOTBS" DATAFILE '/alpha/oradata/prod01/undotbs01.dbf' SIZE 750M REUSE AUTOEXTEND ON NEXT 25600K MAXSIZE 2000M , '/alpha/oradata/prod01/undotbs03.dbf' SIZE 2000M REUSE AUTOEXTEND ON NEXT 51200K MAXSIZE 2000M , '/alpha/oradata/prod01/undotbs04.dbf' SIZE 2000M REUSE AUTOEXTEND ON NEXT 104K MAXSIZE 2000M , '/alpha/oradata/prod01/undotbs02.dbf' SIZE 2000M REUSE AUTOEXTEND ON NEXT 25600K MAXSIZE 2000M

  • Rollback segment Error coming for 8 lacks Record while creating MV

    Hi All,
    i am creating a materialized View and it gives us 8 lacks record but when we creates in production its fails due to rollback segment does not have enough space to handle it and it did not create the MV.
    can anyone help me out to resolve this issue for the below query while creating MV.
    SELECT DISTINCT NVL
    ((ROUND ((jt_date_completed - jt_date_requested) * 24, 2)
    0
    ) AS actual_hrs_to_complete,
    NVL ((ROUND ((jt_date_responded - jt_date_requested) * 24, 2)
    0
    ) AS actual_hrs_to_respond,
    peo1.peo_name AS agent_name,
    peo1.peo_user_name AS asagent_soe_id,
    le.lglent_desc AS ap_system,
    ' ' AS assign_work_request_comment,
    DECODE (jt.jt_bill_id,
    138802, 'CLIENT BILLABLE',
    138803, 'CONTRACTED',
    138804, 'INTERNAL BILLABLE',
    NULL, ' '
    ) AS billable,
    bl.bldg_name_cc AS building, bl.bldg_id_ls AS building_id,
    DECODE (bl.bldg_active_cc,
    'Y', 'ACTIVE',
    'INACTIVE'
    ) AS building_status,
    DECODE (jt.jt_wrk_cause_id,
    141521, 'STANDARD WEAR AND TEAR',
    141522, 'NEGLIGENCE',
    141523, 'ACCIDENTAL',
    141524, 'MECHANICAL MALFUNCTION',
    141525, 'OVERSIGHT',
    141526, 'VANDAL',
    141527, 'STANDARD',
    141528, 'PROJECT WORK',
    6058229, 'TEST',
    NULL, ' '
    ) AS cause_type,
    ' ' AS comments, peo3.peo_name AS completed_by,
    jt.jt_requestor_email AS contact_email,
    jt.jt_requestor_name_first
    || ' '
    || jt.jt_requestor_name_last AS contact_name,
    jt.jt_requestor_phone AS contact_phone,
    cc.cstctrcd_apcode AS corp_code,
    cc.cstctrcd_code AS cost_center,
    jt.jt_date_closed AS date_closed,
    jt.jt_date_completed AS date_completed,
    jt.jt_date_requested AS date_requested,
    jt.jt_date_responded AS date_responded,
    jt.jt_date_response_ecd AS date_response_ecd,
    jt.jt_date_scheduled AS date_scheduled,
    DECODE (jt.jt_def_id,
    139949, 'WTG VENDOR RESPONSE',
    139950, 'WAITING ON PARTS',
    139951, 'LABOR AVAILABILITY',
    139952, 'DEFERRED- HI PRI WORK',
    139953, 'WTG APPROVAL',
    139954, 'FUNDING REQUIRED',
    139955, 'ACCESS DENIED',
    139956, 'WTG MATERIAL',
    NULL, ' '
    ) AS deferral_reason,
    jt.jt_description AS description,
    jt.jt_date_resched_ecd AS ecd,
    fmg.facility_manager AS facility_manager,
    fl.floors_text AS FLOOR, gl.genled_desc AS general_ledger,
    ' ' AS kiosk_date_requested, ' ' AS kiosk_dispatch_confirmed,
    ' ' AS kiosk_dispatched,
    eqp.equip_customer_code AS linked_equipment_alias,
    eqp.equip_id AS linked_equipment_id,
    eqp.equip_text AS linked_equipment_name,
    DECODE (jt_originator_type_id,
    1000, 'PROJECT MOVE REQUEST',
    138834, 'CUSTOMER INITIATED CORRECTION',
    138835, 'CUSTOMER INITIATED REQUEST',
    138836, 'CORRECTIVE MAINTENANCE',
    138837, 'CONFERENCE ROOM BOOKING',
    138838, 'PROJECT INITIATED REQUEST',
    138839, 'PLANNED PREVENTIVE MAINTENANCE',
    138840, 'SELF INITATED REQUEST',
    NULL, ' '
    ) AS originator_type,
    ' ' AS payment_terms, priority_text AS priority_code,
    swoty.sworktype_text AS problem_type,
    prop.property_name_cc AS property,
    jt.jt_cost_quote_total AS quote_total,
    par.levels_name AS region,
    DECODE (jt.jt_repdef_id,
    141534, 'ADJUSTED SETTING',
    141535, 'TRAINING FOR END',
    141536, 'NEW REQUEST',
    141537, 'NO REPAIR REQUIR',
    141538, 'REPLACED PARTS',
    141539, 'REPLACE EQUIPMEN',
    1000699, 'NEW REQUEST',
    NULL, ' '
    ) AS repair_definitions,
    jt.jt_repairdesc AS repair_description,
    jt.jt_requestor AS requestor, ' ' AS requestor_cost_center,
    jt.jt_requestor_email AS requestor_email,
    jt.jt_requestor_name_first AS requestor_name,
    jt.jt_requestor_phone AS requestor_phone,
    ' ' AS response_time, rm.room_name_cc AS room,
    p1.peo_provider_code1 AS service_provider,
    p1.peo_address_1 AS service_provider_address,
    peocity.city_text service_provider_city,
    p1.peo_provider_code1 AS service_provider_code,
    peocity.city_country_name AS service_provider_country,
    peocur.currency_text AS service_provider_currency,
    p1.peo_name AS service_provider_description,
    p1.peo_dispatch_method AS serv_prov_dispatc_hmethod,
    p1.peo_rate_double AS serv_prov_double_time_rate,
    p1.peo_email AS service_provider_email,
    p1.peo_emergency_phone AS serv_prov_emergency_phone,
    p1.peo_fax AS service_provider_fax_number,
    p1.peo_home_phone AS service_provider_home_phone,
    p1.peo_rate_hourly AS service_provider_hourly_rate,
    p1.peo_title AS service_provider_job_title,
    p1.peo_method_id AS service_provider_method,
    p1.peo_cell_phone AS service_provider_mobile_phone,
    p1.peo_pager AS service_provider_pager,
    p1.peo_rate_differential AS service_provider_rates,
    p1.peo_rate_differential AS ser_prov_shift_differential,
    peocity.city_state_prov_text AS serv_prov_state_province,
    DECODE (p1.peo_active,
    'Y', 'ACTIVE',
    'INACTIVE'
    ) AS service_provider_status,
    p1.peo_url AS serv_prov_web_site_address,
    p1.peo_phone AS service_provider_work_phone,
    p1.peo_postal_code AS serv_prov_zip_postal_code, ' ' AS shift,
    ' ' AS skill,
    DECODE (jt.jt_bigstatus_id,
    138813, 'NEW',
    138814, 'PENDING',
    138815, 'OPEN',
    138816, 'COMPLETED',
    138817, 'CLOSED',
    138818, 'CANCELLED',
    NULL, ' '
    ) AS status,
    lev.levels_name AS subregion, ' ' AS trade,
    p1.peo_ls_interface_code1 AS vendor_id,
    p1.peo_fax AS vendor_purchasing_fax,
    p1.peo_vendor_site_code AS vendor_sitecode,
    jt.jt_id AS vendor_ticket, p1.peo_name AS vendor_companyname,
    jt.jt_requestor_vip AS vip, wo.wo_id AS work_order_no,
    jt.jt_id AS work_request,
    jt.jt_class_id AS work_request_class,
    woty.worktype_text AS work_type, ' ' AS wr_cost,
    jt.jt_description AS wr_description,
    ' ' AS wr_dispatch_method,
    DECODE (jt.jt_bigstatus_id,
    138813, 'NEW',
    138814, 'PENDING',
    138815, 'OPEN',
    138816, 'COMPLETED',
    138817, 'CLOSED',
    138818, 'CANCELLED',
    NULL, ' '
    ) AS wr_status,
    ctry.country_name AS country
    FROM citi.jobticket jt,
    citi.property prop,
    citi.bldg bl,
    citi.bldg_levels bldglvl,
    citi.LEVELS lev,
    citi.LEVELS par,
    (SELECT crstools.stragg (peo_name) facility_manager,
    bldgcon_bldg_id
    FROM citi.bldg_contacts, citi.people
    WHERE bldgcon_peo_id = peo_id
    AND bldgcon_contype_id IN (40181, 10142)
    GROUP BY bldgcon_bldg_id) fmg,
    citi.floors fl,
    citi.room rm,
    citi.general_ledger gl,
    citi.legal_entity le,
    citi.cost_center_codes cc,
    citi.equipment eqp,
    citi.worktype woty,
    citi.subworktype swoty,
    citi.work_order wo,
    citi.jt_workers jtwo,
    citi.priority,
    citi.country ctry,
    citi.people p1,
    citi.people peo3,
    citi.people peo1,
    citi.city peocity,
    citi.currency peocur
    WHERE jt.jt_bldg_id = bl.bldg_id
    AND bl.bldg_id = bldglvl.bldg_levels_bldg_id
    AND bldglvl.bldg_levels_levels_id = lev.levels_id
    AND lev.levels_parent = par.levels_id(+)
    AND prop.property_id = bl.bldg_property_id
    AND bl.bldg_active_ls <> 'N'
    AND jt.jt_floors_id = fl.floors_id(+)
    AND jt.jt_room_id = rm.room_id(+)
    AND jt.jt_bldg_id = fmg.bldgcon_bldg_id(+)
    AND jt.jt_genled_id = gl.genled_id(+)
    AND gl.genled_lglent_id = le.lglent_id(+)
    AND jt.jt_cstctrcd_id = cc.cstctrcd_id(+)
    AND jt.jt_equip_id = eqp.equip_id(+)
    AND jt.jt_id = jtwo.jtw_jt_id(+)
    AND jt.jt_worktype_id = woty.worktype_id(+)
    AND jt.jt_sworktype_id = swoty.sworktype_id(+)
    AND jt.jt_wo_id = wo.wo_id
    AND jt.jt_priority_id = priority_id(+)
    AND jt.jt_date_requested >= ADD_MONTHS (SYSDATE, -12)
    AND bl.bldg_country_id = ctry.country_id
    AND jtwo.jtw_peo_id = p1.peo_id(+)
    AND p1.peo_city_id = peocity.city_id(+)
    AND jt.jt_completed_by_peo_id = peo3.peo_id(+)
    AND p1.peo_rate_currency_id = peocur.currency_id(+)
    AND jt.jt_agent_peo_id = peo1.peo_id(+);
    Regards
    shyam~

    Hi,
    Its ora-1555? IS your undo_retention sufficient?
    Since you are developer the only option you have is to tune the query?
    Am curious to know like I create materialized view so that I do not have to run complex query on the master database / or to prevent the access to master database more than once to get the same data?
    Like to know which is your case because your query seem to be too complex to be the case for former. Do you think this materialized view would be used frequently in your application?
    Regards
    Anurag Tibrewal.

  • 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

  • Rollback segment  problem during import

    Hello experts,
    please help.
    I have the following error when importing table data to my
    Oracle 8.1.7 database.
    IMP-00058: ORACLE error 1562 encountered
    ORA-01562: failed to extend rollback segment number 16
    ORA-01237: cannot extend datafile 3
    kind regards
    Yogeeraj

    alter the tablespace which contains rollback segments, and
    either change the existing datafile (datafile 3) to autoextend
    on or resize, or add new datafile in another disk drive which
    has more space (it is better to set autoextend on or give it a
    larger space).
    Hello experts,
    please help.
    I have the following error when importing table data to my
    Oracle 8.1.7 database.
    IMP-00058: ORACLE error 1562 encountered
    ORA-01562: failed to extend rollback segment number 16
    ORA-01237: cannot extend datafile 3
    kind regards
    Yogeeraj

  • Is "SET TRANSACTION USE ROLLBACK SEGMENT" only a hint

    I have two users, one makes some inserts in a table.
    The other makes a select which visits many rows.
    I have a big rollback-segment.
    To ensure, both users use this rollback-segment I created a logon-trigger:
    CREATE OR REPLACE TRIGGER a_logon AFTER LOGON
    ON DATABASE
    WHEN ( USER IN ( 'SCOTT', 'BOB' ) )
    BEGIN
    SET TRANSACTION USE ROLLBACK SEGMENT rbs_big;
    END;
    But I still get "snapshot to old" messages from the select, which contains the name off an other rollback-segment in the message.
    The trigger really fires, i tested it by adding an insert-statement to a log-table.
    What`s wrong ?

    The set transaction use rollback segment lasts only until you commit or rollback first time and all other transactions in that session will not be forced to that rbs anymore. Other possible solution could be that other users are accessing same tables / updating them so those sessions can't keep the read consistent image available anymore for your sessions.

  • 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

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

  • ORA-01581: attempt to use rollback segment...

    We've started getting "ORA-01581: attempt to use rollback segment (31) new extent (3) which is being allocated" messages in our production database over the last couple of days. Of course, each time we get these the rollback segment number is different, and we are getting these randomly from different applications that connect to the same database. We are using automatic undo management, so the rollback segments are not really under our control. The action in the Oracle docs for this error message doesn't give any specific actions that we should take, but we continue to get these.
    We started to get these about the same time as we ran out of available sessions on the database (sessions = 1500 and we had 1500 open sessions). Could these be related? Could there be some open session that may be causing the rollback segment issue? Would a restart of the database fix this? Of course the max sessions issue was cleaned up two days ago but the rollback segment issue is a lingering problem.
    Any help would be appreciated. We couldn't find anything for this online and Oracle hasn't responded to our service request yet.
    Thanks,
    Bobby

    As I understand it, you can not explicitly set the size for the undo segments in automatic undo management mode. From the Concepts guide:
    "In automatic undo management mode, the system controls exclusively the assignment of transactions to undo segments, and controls space allocation for undo segments."
    It looks like we are also using the default storage options that are set when the UNDO tablespace was created. Here is the DDL used to create this tablespace:
    CREATE SMALLFILE UNDO TABLESPACE "UNDOTBS" DATAFILE '/alpha/oradata/prod01/undotbs01.dbf' SIZE 750M REUSE AUTOEXTEND ON NEXT 25600K MAXSIZE 2000M , '/alpha/oradata/prod01/undotbs03.dbf' SIZE 2000M REUSE AUTOEXTEND ON NEXT 51200K MAXSIZE 2000M , '/alpha/oradata/prod01/undotbs04.dbf' SIZE 2000M REUSE AUTOEXTEND ON NEXT 104K MAXSIZE 2000M , '/alpha/oradata/prod01/undotbs02.dbf' SIZE 2000M REUSE AUTOEXTEND ON NEXT 25600K MAXSIZE 2000M

  • How to extend rollback segment

    Hi,
    for a few days I've been getting the following messages:
    ORA-01562: failed to extend rollback segment number 3
    ORA-01650: unable to extend rollback segment RBS2 by 512 in tablespace RBS
    after running a package which has always had no problems and where it's also been added a COMMIT after the insert statements inside the package.
    DBAs have tried to increase the rollback segment but the problem is always the same.
    Have you got some advice?
    Thanks!

    By adding a datafile in RBS tablespace.

  • Does a single transaction, spreeds accross multiple rollback segments?

    Hi,
    Does a single transaction, spreeds accross multiple rollback segments?
    What if , there is not enough space in the allocated rollback segment?
    Thanks
    Naveen.

    With the additional note/ caveat that, assuming you're using a moderately recent version of Oracle and using automatic UNDO management, which you really, really ought to be doing, Oracle is constantly adding, removing, and expanding the rollback segments, making it all but impossible for a rollback segment to be too small unless it (along with all the other active redo segments) exceed the size of your UNDO tablespace.
    Justin

Maybe you are looking for

  • How do I back up my iPhone to an external drive?

    I don't have enough space on my MAC to back up a 64G iPhone.    Is there a way to change the path that ITunes backs up to in order to back up to an ex OR Is there a way to select backing up everything except photos?  I've already backed them up separ

  • PLZ Help: how to get value of a request scoped Bean/Attribute in JSF ?!!!

    hi, I noticed this part of code to retrieve session scoped beans/vars in an ActionListener or other jsf classes, but it does not work for request scoped beans/vars :( what's the problem then ? what shall i do ? Type var = (Type)Util.getValueBinding("

  • Cursor in select query

    how i use cursor in select query ? I have 2 table 1. emp 2. dept i want output like Manager a b c Clark d e f HOD g h i by using cursor

  • Do I have to install the updates to CS4 in order?

    Or does 6.0.5 contain all the updates in the previous 4 versions? Thanks, Harry

  • Problem with KM Document iView Properties

    Hi, We have changed some default properteis (ex: Authentication Scheme ) values of KM Document iView. After upgrading the Portal to further version all changed properties values set to default again. How can we avoid the overriding the values with de