transactions in rollback segments table

Hi guys,.

I read the following, but I'm still having a bit of difficulty to conceptualize. Someone would be so kind to give me a very brief example?

Thank you

For each rollback segment, Oracle maintains a table of transaction - a list of all transactions that use the associated rollback segment and entries of restoration for each change made by these operations.

Whenever the transaction happens, there is an entry that is maintained by oracle to control that in which the segment, in which block cancellation of the transaction is maintained. The table which is now it is called Transaction table. The transaction entry is maintained for giving this information of cancellation for queries that seek when you need for coherent picture playback. Location of corresponding cancellation information are also maintained in the header of the block also Transaction as cancel Byte Address (UBA).

The operating table is for us, V$ transaction. If you look at the XIDUSN, XIDSLOT, XIDSQN columns in this table, you would be able to see the segment where the cancellation of the transaction is maintained. Fixed to cancel arrays are x$ ktuxe and x$ ktcxb (hopefully, I did not error in names).

I'll see if I can find good paper describing this.
Update:

Here are two links that I hope will be useful.
http://www.evdbt.com/AutomaticUndoInternals.PDF
http://www.juliandyke.com/presentations/RedoInternals.pp

Do a lot of block of dumping, a very good way to know this stuff.
HTH
Aman...

Published by: Aman... on March 10, 2009 01:10

Tags: Database

Similar Questions

  • A single transaction allows multiple segments of cancellation?

    Hi all

    > > It is true. I hope

    Automatic cancellation management trying to get a single transaction by rollback segment.

    > > System allocated undo segments in my db

    SYS > select tablespace_name, nom_segment, segment_type in dba_segments where nom_tablespace = 'UNDOTBS1;

    NOM_TABLESPACE NOM_SEGMENT SEGMENT_TYPE

    ------------------------------ ---------------------- ------------------

    UNDOTBS1 _SYSSMU20_3456939673$ TYPE2 UNDO

    UNDOTBS1 _SYSSMU10_1587870235$ TYPE2 UNDO

    UNDOTBS1 _SYSSMU9_3125699220$ TYPE2 UNDO

    UNDOTBS1 _SYSSMU8_1650894436$ TYPE2 UNDO

    UNDOTBS1 _SYSSMU7_1674198302$ TYPE2 UNDO

    UNDOTBS1 _SYSSMU6_2857852067$ TYPE2 UNDO

    UNDOTBS1 _SYSSMU5_4189375384$ TYPE2 UNDO

    UNDOTBS1 _SYSSMU4_1056436449$ TYPE2 UNDO

    UNDOTBS1 _SYSSMU3_2901871043$ TYPE2 UNDO

    UNDOTBS1 _SYSSMU2_3126160280$ TYPE2 UNDO

    10 selected lines.

    SYS > select a.usn, a.xacts, b.name from v$ rollstat a, v$ rollname b where a.xacts! = 0 ;

    no selected line

    > > I did the update unique transaction

    SQL > update statement... (it updates only 16 records)

    QUERY 1:

    ========

    SYS > select * from v$ rollstat where XACT = 1;

    USN LATCH TRACTS WRITTEN XACT GETS LOOKS OPTSIZE HWMSIZE RSSIZE NARROWS WRAPS EXTENDS AVESHRINK AVEACTIVE STATUS CURBLK CUREXT

    ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ------ ---------- ----------

    5 0 70 92463104 240604 1 623 0 92463104 0 0 0 0 0 67 691 online

    QUERY 2:

    ========

    SYS > select a.usn, a.xacts, b.name from v$ rollstat a, v$ rollname b where a.xacts! = 0 ;

    THE NAME OF THE XACT USN

    ---------- ---------- ------------------------------

    5 1 SYSTEM

    5 1 _SYSSMU2_3126160280$

    5 1 _SYSSMU3_2901871043$

    5 1 _SYSSMU4_1056436449$

    5 1 _SYSSMU5_4189375384$

    5 1 _SYSSMU6_2857852067$

    5 1 _SYSSMU7_1674198302$

    5 1 _SYSSMU8_1650894436$

    5 1 _SYSSMU9_3125699220$

    5 1 _SYSSMU10_1587870235$

    5 1 _SYSSMU20_3456939673$

    11 selected lines.

    I did single GST,


    QUERY 1

    --------------

    Select * from v$ rollstat where XACT = 1;

    Query, say--> 1 transaction is 1 segment undo i.e.  XACT = 1

    the transaction is used segment uno number 5


    QUERY 2:

    ----------------

    but the query 2 poster

    Select a.usn, a.xacts, b.name from v$ rollstat a, v$ rollname b where a.xacts! = 0 ;

    undo_segment 5 is used all of undotbs1 undo_segments.

    Select a.usn, a.xacts, b.name

    v $ rollstat a, v$ rollname b

    where a.usn = b.usn

    and a.xacts! = 0 ;

  • General - rollback segments

    Read manuals, I have a few question to clarify about rollback segments (cancellation automatic management side and can leave undo tablespace)

    (1) rollback segments can be created in a tablespace - is there a limit/maximum size that can be specified for a rollback segment to use within a tablespace? -To read manuals, does not mention the clause of storage on the size/max limit for a rollback segment; is it possible for the rollback segment to fill tablespace (UH because of some queries Wired [consistent playback] / transaction)?

    (2) we can create a separate rollback tablespace and have several rollback segments.

    If there are 3 user tablespaces (T1, T2, T3), 1 (RT) rollback tablespace.
    -J' I create 1 rollback segment in tablespace T1, T2, T3
    -J' I create 2 rollback segments in a tablespace rollback RT

    A user with "tablespace T1 default" when you run a transaction, what rollback segment will be used by this user (when the rollback segment is not specified explicitly)?


    Oracle-student

    user11359766 wrote:

    The transaction will overflow to the second rollback segment (IE start using the 2nd rollback segment that is available and not used by another active transaction) or oracle returns an error since the first segment of cancellation assigned is full and that the transaction is always active?

    This will apply to both SMU and MMU.

    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 restore only information for the assigned rollback segment.

    I hope that its explicit transaction cannot roll any other rear roller segment once its own lot of space. In the case of EMS, also, if the undo datafile cannot grow, your transaction would be arrested.

    HTH
    Aman...

  • Deferred rollback segment

    Hello

    When a tablespace [except system, cancel, temp] goes into offline mode, this operation does not terminate if all transactions are active to access objects lies in the tablespace.

    All the undo generated by the operation is written in the tablespace system as DEFERED ROLLBACK SEGMENT UNDO tablespace, so that in underlying tables

    will become the uncommitted changescan cancelled online.

    My question is why this is happening [ reversal movement to undo tablespace to rollback system segment ] Although a transaction ACTIVE's Cancel can not be replaced by any other transaction.

    If the cancellation of the current active transaction in the undo tablespace cannot be replaced by any other transaction then this is cause to join the undo tablespace SYSTEM when

    a tablespace is offline?

    Thank you

    Since you will not be able to read or write to this tablespace offline, we have deferred rollback segments. If not, how it would perform a cancellation when the tablespace comes back online? A delayed segments holds only restoration of transactions which could not be completed that the tablespace has been entered. This transaction cannot be restored because the blocks in the offline storage space cannot be read or written.

    Therefore, to ensure that your transaction can be restored at the time where it is put online, segmentsm of deferred restoration which is in the System tablespace.

    Kind regards

    Suntrupth

  • Rollback segment and log files

    Hello everyone,

    I have a question that intrigues me because I learned the concepts of Directors Oracle.

    Indeed, when a user sends a query to update (for example), server process writes in the DB the old and the new snapshot buffer cache data. He wrote the same thing in an entry form redo in the redo log buffer.

    Now, if the DBW is triggered before POSTING (it is possible of course), it will write the dirty block in the data file. He wrote the old cliché in a rollback segment and the new in a segment of the table. But just before that, he sends a message to the LGWR to write the corresponding entries in the redo log files.

    What I don't understand, is the use of the LGWR writes? Indeed, if the system breaks down at this moment, we drive the old snapshot of the data (in the rollback segment) and recovery can be performed correctly! Why do two writings of the same information in the disk in same instant; the one in the data file and the other in the log file.

    Thank you for the answers in advance, I hope that I was clear!

    I thought that when the DBWR is triggered, it writes ALL the blocks Sales

    Lol not always, not often 'ALL '.
    The DBWR follows a list of stamp Sales. May be asked to do a writing by a process that cannot find a tampon without (once again, that the process may not have really looked through the LMS together, only up to N buffers). DBWR doesn't then write ALL buffers Sales.

    Also, remember even when the DBWR writes all buffers, it takes time to write. He does NOT order written by "undo and table / index of a single transaction set. He just does not care if a dirty buffer's undo or a block table or index.

    Hemant K Collette
    http://hemantoracledba.blogspot.com

  • full database export error ORA-31693 ORA-01555: snapshot too old: rollback segment

    Hello

    normal full database export, I do it for my databases to which I subscribe. I recently check the export log in one of the databases, and it had the following errors:

    ORA-31693

    ORA-02354

    ORA-01555: snapshot too old: rollback segment

    my database is 11 GR 2 and the Linux environment.

    any help please?

    Hello

    This error indicates you have given LOB in your tables and binds to the parameter size undo_retention.

    Check this: https://geodatamaster.wordpress.com/2014/11/08/expdp-ora-31693-ora-02354-ora-01555/

    You must increase the size of undo_retention

  • ORA-01555: snapshot too old: number of rollback segments

    Therefore on Oracle 11.2.0.2 on Solaris.  High level, we have a pretty large table on one of our Oracle dev instances, lines 430mil, where the data was populated by a large data load.  Two of our date fields have been left NULL so that we have to go back and update every row after the fact with SYSDATE values (some downstream applications require having some sort of date in this area).

    in any case, I wrote a script for this (truncated a bit for brevity):

    DECLARE
    ...
        ln_limit      NUMBER  := 10000; -- Max amount of records to process in a single bulk update statement    
        lv_total_rows INTEGER := 0;
        lv_count      NUMBER;
        lv_rowid      VARCHAR(18);
      
        CURSOR tco_cursor IS
            SELECT ROWID
            FROM LXRO
            WHERE LxModDate IS NULL;
      
        TYPE t_rows IS TABLE OF ROWID;
        lv_rowids t_rows;
      
    BEGIN
    ...
        OPEN tco_cursor;
        LOOP
      
            FETCH tco_cursor BULK COLLECT INTO lv_rowids LIMIT ln_limit;
          
            FORALL i IN 1 .. lv_rowids.COUNT
                UPDATE LXRO
                SET LxModDate = SYSDATE
                WHERE ROWID = lv_rowids(i);
    
    ...     -- (writes to log table here)          
            COMMIT;
    
            EXIT WHEN lv_rowids.COUNT < ln_limit;    
        END LOOP;
    
        CLOSE tco_cursor;
        COMMIT;
      
        EXCEPTION
        WHEN OTHERS THEN
            dbms_output.put_line(TO_CHAR(lv_rowid) || ' - ' || sqlerrm || ' - ' || TO_CHAR (ln_counter));
    END;
    /
    
    

    Only, the work runs for an hour and updates 37mil lines in a same test, and then gets the following error:

    ORA-01555: snapshot too old: rollback segment number 30 with name ' _SYSSMU30_4136132754$ ' too small

    I did some research on the error and read something interesting:

    Do not look around is committed. In other words, don't fetch on a slider was opened before the last commit, especially if the data surveyed by the slider is changed in the current session.

    Also, if the query is a loop with a commit in it, it can do the same without other queries, because finally the next iteration requires looking at his own first generation, cannot do so and barfs.

    Upping undo_retention may help, or not, as the real cause. See also v$ undostat, you may still have information in there, if it is current (or not, since at the time where you check the necessary info can be gone).

    I think that our UNDO tablspace has 16 GB now.  I do not try to hold back the 400 million lines in temp would be feasible, that's why I am committed all 10 k rows, more we ran into problems of memory with a version non-bulk this script before.  It will only be a time process (we have set our data migration to fill in these fields in future iterations).  Am I better choose to simply keep this job and re - keep on running for hours all the hours given the amount of data?  Is - this naïve to think that I could make this many updates without error in a single task running?

    Simply change the column and set the DEFAULT as SYSDATE clause. Now, you would not have to perform the update at all.

    And for the current issue, a single update could have questioned the size of the CANCELLATION. I guess that's what you're talking like memory problem. Good thing for you to do is to work with your DBA and Set configure your CANCELLATION as a result. If not enough UNDO available then you can split the update in the form of fixed numbers and run them, something like that.

    I used a 10-million limit. But you can work with your DBA and attempt to set even more.

    loop

    Update lxro set lxmoddate = sysdate where lxmoddate has the value null and rownum<=>

    commit;

    When the output sql % rowcount<>

    end;

    /

    Collect bulk copy the data in the PGA (private memory). It is a very expensive operation. Collect bulk was introduced mainly to reduce the change of context. But its performance is mediocre compared to direct SQL. So try to make your work in SQL right front.

  • "Is:java.sql.SQLException error: ORA-01555: snapshot too old: rollback segment number with the name ' ' too small '.

    Hello

    We conduct apply CM which is a failure with the Error: "declared:java.sql.SQLException: ORA-01555: snapshot too old: rollback segment number with the name '' too small'."

    Its in our unique the production instance. I checked on the return parameter. Here are the details.

    SQL > show Cancel parameter

    VALUE OF TYPE NAME

    ------------------------------------ ----------- ------------------------------

    _in_memory_undo Boolean TRUE

    _undo_debug_usage integer 2

    UNDO_MANAGEMENT string AUTO

    UNDO_RETENTION integer 40000

    undo_tablespace string APPS_UNDOTS1

    SQL > select max (maxquerylen) of v$ undostat;

    MAX (MAXQUERYLEN)

    ----------------

    637116

    Please suggest what needs to be done to go further.


    Kind regards

    Prabhat.

    Post edited by: 942633

    Hello

    ORA-02067: the rollback transaction or registration required

    As mentioned, you will need to look at the design of the code:

    Error: ORA 2067
    Text: rollback transaction or registration required
    -------------------------------------------------------------------------------
    Cause: A failure (typically a trigger or a stored procedure with several updates remotely) has occurred, such as the execution of all or nothing from a previous call to Oracle cannot be guaranteed.
    Action: return to a previous point of backup or restore the transaction and resubmit.

    ------

    ORA-01555 caused by the following SQL statement (SQL ID: 5y0q4u8r2hdy9, query term s = 637608, SCN: 0x0bcc.4ed82762):

    ------

    ACTUAL SIZE [MB] UNDO UNDO RETENTION [s] NECESSARY UNDO SIZE [MB]

    ------------------------                   ------------------------------------------------------------------------- ------------------------

    304849 40000 267232.292

    To better help you, please let us know:

    -What is the function of this program.

    -Did you recently parameter changes until you have this error.

    Please ensure that the validation controls are implemented correctly, the DBA team and development will work hand in hand.

    Thank you &

    Best regards

  • ORA-02354: Error exporting/importing data, ORA-01555: snapshot too old: rollback segment number with the name "" too small

    Hello

    I am getting below error while taking expdp backup table of BLOB.

    ORA-31693: Data Table object 'HCLM_ADMIN '. "' SCAN_UPLOADEDFILES_TEMP ' failed to load/unload and being ignored because of the error:

    ORA-02354: Error exporting/importing data

    ORA-01555: snapshot too old: rollback segment number with the name "" too small

    ORA-22924: snapshot too old

    ORA-31693: Data Table object 'HCLM_ADMIN '. "' TPA_FAXWATCHER ' failed to load/unload and being ignored because of the error:

    ORA-02354: Error exporting/importing data

    ORA-01555: snapshot too old: rollback segment number with the name "" too small

    ORA-22924: snapshot too old

    We have already set aside retention to 50000 .table structure are:

    SQL > show Cancel parameter

    VALUE OF TYPE NAME

    ------------------------------------ ----------- ------------------------------

    UNDO_MANAGEMENT string AUTO

    UNDO_RETENTION integer 50000

    undo_tablespace string UNDOTBS1

    SQL > alter table hclm_admin. SCAN_UPLOADEDFILES_TEMP modify lob (FILE_BLOB) (RETENTION);

    Modified table.

    SQL > select nom_de_colonne, pctversion and retention

    from dba_lobs where owner = 'HCLM_ADMIN' and table_name = "SCAN_UPLOADEDFILES_TEMP";

    COLUMN_NAME

    --------------------------------------------------------------------------------

    PCTVERSION RETENTION

    ---------- ----------

    FILE_BLOB

    50000

    SQL > alter table hclm_admin. TPA_FAXWATCHER modify lob (FILEDATA_BLOB) (RETENTION);

    Modified table.

    SQL > select column_name, pctversion and retention of dba_lobs where owner = 'HCLM_ADMIN' and table_name = "SCAN_UPLOADEDFILES_TEMP";

    Column_name PCTVERSION RETENTION

    ---------- ----------

    FILE_BLOB

    50000

    CREATE TABLE HCLM_ADMIN. TPA_FAXWATCHER

    (

    FILENAME_VAR VARCHAR2 (50 BYTE),

    DATE OF CREATED_DATE_DTE,

    FILEPATH_VAR VARCHAR2 (100 BYTE),

    DATE OF TIMESTAMP_DTE,

    FAXNO_VAR VARCHAR2 (15 BYTE),

    DEPARTMENT_VAR VARCHAR2 (50 BYTE),

    REQUESTTYPE_VAR VARCHAR2 (50 BYTE),

    TAGTO_VAR VARCHAR2 (50 BYTE),

    REMARK_VAR VARCHAR2 (1000 BYTE),

    DOCTYPE_VAR VARCHAR2 (50 BYTE),

    TAGTOVALUE_VAR VARCHAR2 (50 BYTE),

    DOCTYPE_OTHER_VAR VARCHAR2 (50 BYTE),

    HEGIC_NO_VAR VARCHAR2 (50 BYTE),

    RECORDNO_NUM NUMBER OF NON-NULL,

    FILEDATA_BLOB BLOB,

    DATE OF FAXLOCKDATE_DTE,

    NUMBER OF FAXLOCKSTATUS_VAR

    FAXLOCKBYUSER_VAR VARCHAR2 (50 BYTE)

    )

    (STORE AS) LOB (FILEDATA_BLOB)

    TABLESPACE HCLM_ALERTSVC

    ALLOW ONLINE STORAGE

    8192 CHUNK

    RETENTION

    NOCACHE

    LOGGING

    INDEX)

    TABLESPACE HCLM_ALERTSVC

    STORAGE)

    64K INITIALS

    ACCORDING TO 1 M

    MINEXTENTS 1

    MAXEXTENTS UNLIMITED

    PCTINCREASE 0

    DEFAULT USER_TABLES

    ))

    STORAGE)

    64K INITIALS

    ACCORDING TO 1 M

    MINEXTENTS 1

    MAXEXTENTS UNLIMITED

    PCTINCREASE 0

    DEFAULT USER_TABLES

    ))

    TABLESPACE HCLM_ALERTSVC

    PCTUSED 0

    PCTFREE 10

    INITRANS 1

    MAXTRANS 255

    STORAGE)

    64K INITIALS

    ACCORDING TO 1 M

    MINEXTENTS 1

    MAXEXTENTS UNLIMITED

    PCTINCREASE 0

    DEFAULT USER_TABLES

    )

    LOGGING

    NOCOMPRESS

    NOCACHE

    NOPARALLEL

    MONITORING;

    ALTER TABLE HCLM_ADMIN. (ADD) TPA_FAXWATCHER

    KEY ELEMENTARY SCHOOL

    (RECORDNO_NUM)

    USING INDEX

    TABLESPACE HCLM_ALERTSVC

    PCTFREE 10

    INITRANS 2

    MAXTRANS 255

    STORAGE)

    64K INITIALS

    ACCORDING TO 1 M

    MINEXTENTS 1

    MAXEXTENTS UNLIMITED

    PCTINCREASE 0

    ));

    CREATE TABLE HCLM_ADMIN. SCAN_UPLOADEDFILES_TEMP

    (

    NUMBER OF TEMPID_NUM

    SESSION_ID VARCHAR2 (200 BYTE),

    NUMBER OF UPLOADFILE_NUM

    NUMBER OF DOCNO_NUM

    NUMBER OF SCANJOB_NUM

    FILENAME_VAR VARCHAR2 (200 BYTE),

    FILETYPE_VAR VARCHAR2 (200 BYTE),

    FILE_BLOB BLOB,

    VARCHAR2 (200 BYTE) FLAG,

    NUMBER OF USERID_NUM

    CREATED_DATE DATE

    )

    (STORE AS) LOB (FILE_BLOB)

    TABLESPACE PHCLMDBTBS

    ALLOW ONLINE STORAGE

    8192 CHUNK

    RETENTION

    NOCACHE

    LOGGING

    INDEX)

    TABLESPACE PHCLMDBTBS

    STORAGE)

    64K INITIALS

    ACCORDING TO 1 M

    MINEXTENTS 1

    MAXEXTENTS UNLIMITED

    PCTINCREASE 0

    DEFAULT USER_TABLES

    ))

    STORAGE)

    64K INITIALS

    ACCORDING TO 1 M

    MINEXTENTS 1

    MAXEXTENTS UNLIMITED

    PCTINCREASE 0

    DEFAULT USER_TABLES

    ))

    TABLESPACE PHCLMDBTBS

    PCTUSED 0

    PCTFREE 10

    INITRANS 1

    MAXTRANS 255

    STORAGE)

    64K INITIALS

    ACCORDING TO 1 M

    MINEXTENTS 1

    MAXEXTENTS UNLIMITED

    PCTINCREASE 0

    DEFAULT USER_TABLES

    )

    LOGGING

    NOCOMPRESS

    NOCACHE

    NOPARALLEL

    MONITORING;

    Kind regards

    Hello

    First check the lob corrupt as:

    SQL > create table corrupted_lob_data (corrupted_rowid rowid);

    Table created.

    SQL > set off concat

    SQL >

    declare

    SQL > error_1555 exception;

    pragma exception_init (error_1555,-1555);

    number num.

    Start

    for cursor_lob in (select rowid r, & lob_column of table_owner. & table_with_lob) loop

    Start

    NUM: = dbms_lob.instr (. cursor_lob & lob_column, hextoraw ('889911'));

    exception

    When error_1555 then

    insert into corrupted_lob_data values (cursor_lob.r);

    commit;

    end;

    end loop;

    end;

    2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    17.

    Enter the value of lob_column: FILE_BLOB

    Enter the table_owner value: hclm_admin

    Enter the value of table_with_lob: SCAN_UPLOADEDFILES_TEMP

    former 6: for cursor_lob in (select rowid r, & lob_column of table_owner. & table_with_lob) loop

    6 news: for cursor_lob (select rowid r, FILE_BLOB of hclm_admin loop SCAN_UPLOADEDFILES_TEMP.)

    old 8: num: = dbms_lob.instr (. cursor_lob & lob_column, hextoraw ('889911'));

    8 new: num: = dbms_lob.instr (cursor_lob. FILE_BLOB, hextoraw ('889911'));

    PL/SQL procedure successfully completed.

    SQL > select * from corrupted_lob_data;

    CORRUPTED_ROWID

    ------------------

    AAASF/AAKAABacyAAA

    To resolve this problem, we have 3 options

    (1) to restore and recover the LOB segment using physical backup.

    (2) empty LOBs affected using the UPDATE, as mentioned in the Note 787004.1statement:

    SQL > update SCAN_UPLOADEDFILES_TEMP

    Set FILE_BLOB = empty_blob()

    where rowid in (select corrupted_rowid

    of corrupted_lob_data);

    SQL > commit;

    (3) perform the export, excluding the corrupt ROWID. by adding the following to export command parameter

    Query =------"where rowid not in (\'AAASF/AAKAABacyAAA\'\) \ \" "

    Kind regards

    Alok Dwivedi

  • regarding cancellations and rollback segments

    Hello

    I read Undo records can be stored in two segments of rollback or undo some tablespaces.

    When they stored in undo and when they stored in rollback segments.
    and what is the relationship between the em?

    Thank you
    Vijay

    However, you must understand that "transactions_per_rollback_segment" does not mean that it is a limit on the number of transactions that supports a rollback segment!
    This setting is used by Oracle to determine the number of segments of rollback it must bring online when you open a database instance.
    This applies not to the segments 'TYPE 2 UNDO' that are automatically created and managed (online, taken offline, created, abandoned as needed) when you use UNDO_MANAGEMENT = 'AUTO '.

    Hemant K Collette

  • What rollback segment

    Hello
    8i, I saw the definition of V£ TRANSACTION: which column can say what rollback segment is used per transaction?
    V$TRANSACTION 
    This view lists the active transactions in the system. 
    
    Column  Datatype  Description  
    ADDR 
     RAW(4) 
     Address of transaction state object 
     
    XIDUSN 
     NUMBER 
     Undo segment number 
     
    XIDSLOT 
     NUMBER 
     Slot number 
     
    XIDSQN 
     NUMBER 
     Sequence number 
     
    UBAFIL 
     NUMBER 
     Undo block address (UBA) filenum 
     
    UBABLK 
     NUMBER 
     UBA block number 
     
    UBASQN 
     NUMBER 
     UBA sequence number 
     
    UBAREC 
     NUMBER 
     UBA record number 
     
    STATUS 
     VARCHAR2(16) 
     Status 
     
    START_TIME 
     VARCHAR2(20) 
     Start time (wall clock) 
     
    START_SCNB 
     NUMBER 
     Start system change number (SCN) base 
     
    START_SCNW 
     NUMBER 
     Start SCN wrap 
     
    START_UEXT 
     NUMBER 
     Start extent number 
     
    START_UBAFIL 
     NUMBER 
     Start UBA file number 
     
    START_UBABLK 
     NUMBER 
     Start UBA block number 
     
    START_UBASQN 
     NUMBER 
     Start UBA sequence number 
     
    START_UBAREC 
     NUMBER 
     Start UBA record number 
     
    SES_ADDR 
     RAW(4) 
     User session object address 
     
    FLAG 
     NUMBER 
     Flag 
     
    SPACE 
     VARCHAR2(3) 
     "Yes", if a space transaction 
     
    RECURSIVE 
     VARCHAR2(3) 
     "Yes", if a recursive transaction 
     
    NOUNDO 
     VARCHAR2(3) 
     "Yes" if a no undo transaction 
     
    PTX 
     VARCHAR 2(3) 
     YES if parallel transaction, otherwise set to NO 
     
    PRV_XIDUSN 
     NUMBER 
     Previous transaction undo segment number 
     
    PRV_XIDSLT 
     NUMBER 
     Previous transaction slot number 
     
    PRV_XIDSQN 
     NUMBER 
     Previous transaction sequence number 
     
    PTX_XIDUSN 
     NUMBER 
     Rollback segment number of the parent XID  
     
    PTX_XIDSLT 
     NUMBER 
     Slot number of the parent XID 
     
    PTX_XIDSQN 
     NUMBER 
     Sequence number of the parent XID 
     
    DSCN_B 
     NUMBER 
     Dependent SCN base 
     
    DSCN_W 
     NUMBER 
     Dependent SCN wrap 
     
    USED_UBLK 
     NUMBER 
     Number of undo blocks used 
     
    USED_UREC 
     NUMBER 
     Number of undo records used 
     
    LOG_IO 
     NUMBER 
     Logical I/O 
     
    PHY_IO 
     NUMBER 
     Physical I/O 
     
    CR_GET 
     NUMBER 
     Consistent gets 
     
    CR_CHANGE 
     NUMBER 
     Consistent changes 
     
    Thank you.

    Hello

    Use this query

    SELECT USED_UREC
    V $ TRANSACTION;

    Hop than this help link

    http://download-West.Oracle.com/docs/CD/A87860_01/doc/server.817/a76961/ch3175.htm

    Kind regards
    Deepak

  • rollback segment ALTER

    Hello
    in 8.1.7
    When do the following:
    rollback segment RBXX shrink; ALTER

    What we should check before? How to see if any current transaction?
    Thank you.

    -to check for any transaction

    SELECT s.username, s.SID, t.xidusn, t.ubafil, t.ubablk, t.used_ublk
    V $ session s, v$ transaction t
    WHERE s.saddr = t.ses_addr;

    Concerning
    Asif Kabir

  • ORA-01552: cannot use no tablespace system rollback segment

    Hello

    When I try to create a table, I got the following error message.

    ORA-01552: cannot use tablespace no system "USER" system rollback segment

    Select nom_segment, nom_tablespace, initial_extent, status
    of dba_rollback_segs;

    NOM_SEGMENT NOM_TABLESPACE INITIAL_EXTENT STATUS
    ------------------------------ ------------------------------ ---------------------- ----------------
    114688 ONLINE SYSTEM
    _SYSSMU1$ UNDOTBS1 131072 OFFLINE
    _SYSSMU2$ UNDOTBS1 131072 OFFLINE
    _SYSSMU3$ UNDOTBS1 131072 OFFLINE
    _SYSSMU4$ UNDOTBS1 131072 OFFLINE
    _SYSSMU5$ UNDOTBS1 131072 OFFLINE
    _SYSSMU6$ UNDOTBS1 131072 OFFLINE
    _SYSSMU7$ UNDOTBS1 131072 OFFLINE
    _SYSSMU8$ UNDOTBS1 131072 OFFLINE
    _SYSSMU9$ UNDOTBS1 131072 OFFLINE
    _SYSSMU10$ UNDOTBS1 131072 OFFLINE

    11 selected lines

    One advises will be useful, thanks

    Make sure that the return parameters in your database instance.

    SEE THE PARAMETER UNDO

    You should have UNDO_MANAGEMENT = "AUTO" and UNDO_TABLESPACE = 'UNDOTBS1.

    Hemant K Collette

  • the setting of OPTIMAL in the rollback segment storage

    Hello
    in metalink note subject: ORA-01555 "Snapshot too old" in very large databases (if you use the 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 use undo_management = AUTO (in 9i or more), then there is no "BEST" setting

    "OPTIMAL" is when you use the manual Undo with Rollback Segments created by the DBA.

    If you use the manual Undo management, check your Rollback Segments. The optimum 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 unplugged the Optimal adjustment you can run

    alter rollback segment SEGMENT_NAME storage (optimal NULL);
    

    Note that if you unset OPTIMAL, then your Rollback Segments will remain in very large formats, if and when they grow up running of important transactions ("OPTIMAL" is the method of pre - 9i to Oracle automatically reduce Rollback Segments). You can manually SHRINK or DROP and then CREATE Rollback Segments.

  • Question about the rollback segment when you perform the update

    Undo segment is to keep data ACI (not D). I read that it taken from the book of certification, when the update is running, all the other session will be redirected to cancel the segment to get the original version of the data. Is the rollback segment just a copy of the original version of the data? Or it's the query to return data to the original version?

    For example, the original data are:

    ID name address
    1KevinToronto

    Then I run the update query:

    update user name = 'Tom' where id = 1;

    What is in the segment of cancellation then?

    There ' 1, Kevin, Toronto'.

    or

    "update users set name = 'Kevin' where id = 1"?

    Thank you

    Kevin

    da5515c1-7630-4449-8c7c-e27665cec5c6 wrote:

    Undo segment is to keep data ACI (not D). I read that it taken from the book of certification, when the update is running, all the other session will be redirected to cancel the segment to get the original version of the data. Is the rollback segment just a copy of the original version of the data? Or it's the query to return data to the original version?

    For example, the original data are:

    ID name address
    1 Kevin Toronto

    Then I run the update query:

    update user name = 'Tom' where id = 1;

    What is in the segment of cancellation then?

    There ' 1, Kevin, Toronto'.

    or

    "update users set name = 'Kevin' where id = 1"?

    Thank you

    Kevin

    This is another UPDATE statement that will set back to the original value NAME; which can be used to RESTORE the DML.

Maybe you are looking for

  • How to display the MENU bar. Aide said "right-click on a blank section of the band to tabs. What is a tab strip?

    My friend just bought a laptop Windows 8 so I told her to download the latest version of FireFox. Unfortunately, a fool has removed the menu bar, which most people like. You can see all of your options in plain language. In any case, I aimed to help

  • Clear values on shutdown

    Hi I have a tab with a series of pages that proeeds in the order. For example when you press a button on page 1 it is on page 2 and so on. All these pages have many indicators in form of string, digital, dial, slide, etc. I want to erase all these va

  • Upgrade to Vista Home premium

    I bought a vista Home premium 32-bit update. It says on the box upgrade of Service Bureau, I never used it until yesterday. I ran the disc 1, when he was done he asks disc 2 which I did not, I must have lost over the years, is there a place to get th

  • expand my toolbars

    I have windows 7.  The large and general text 125% value.  A day without reason I turned it on and everything was expanded on its own, including the text in my list dropdown favoites.  He does everything to the bigger screen, including a weather appl

  • Version 7 of PIX

    Hello For a long time to light. Happy Chinese new year! I upgrade to version 7. I need to know good and bad.