Automatic UNDO Management

Hi there,
I have a Datawarehouse DB , with two UNDO tablespaces,Last friday we switched UNDO_TABLESPACE to UNDO01 and UNDO02 is not active.While querying DBA_UNDO_EXTENTS , status of all extents in UNDO02 is marked as EXPIRED but there is no free space left in UNDO02 tablespace.
Now the qustion is
1. why Oracle is not releasing EXPIRED extents from the NON-ACTIVE Undo tablespace?
2. AS per Oracle Documentation "Switching Undo Tablespaces" - "The switch operation does not wait for transactions in the old undo tablespace to commit. If there are any pending transactions in the old undo tablespace, the old undo tablespace enters into a PENDING OFFLINE mode (status). In this mode, existing transactions can continue to execute, but undo records for new user transactions cannot be stored in this undo tablespace" ---- But STATUS column in DBA_TABLESPACES in my DB showing both Tablespaces are "ONLINE",
Any thoughts????
Thanks in advance

SQL> select segment_name, owner, tablespace_name,status from dba_rollback_segs;
SEGMENT_NAME OWNER TABLESPACE_NAME STATUS
SYSTEM SYS SYSTEM ONLINE
SYSROL SYS SYSTEM OFFLINE
_SYSSMU2$                      PUBLIC UNDO1                          ONLINE
_SYSSMU3$                      PUBLIC UNDO1                          ONLINE
_SYSSMU4$                      PUBLIC UNDO1                          ONLINE
_SYSSMU5$                      PUBLIC UNDO1                          ONLINE
_SYSSMU6$                      PUBLIC UNDO1                          ONLINE
_SYSSMU7$                      PUBLIC UNDO1                          ONLINE
_SYSSMU8$                      PUBLIC UNDO1                          ONLINE
_SYSSMU9$                      PUBLIC UNDO1                          ONLINE
_SYSSMU10$                     PUBLIC UNDO1                          ONLINE
_SYSSMU11$                     PUBLIC UNDO1                          ONLINE
_SYSSMU12$                     PUBLIC UNDO1                          ONLINE
_SYSSMU13$                     PUBLIC UNDO1                          ONLINE
_SYSSMU14$                     PUBLIC UNDO1                          ONLINE
_SYSSMU15$                     PUBLIC UNDO1                          ONLINE
_SYSSMU16$                     PUBLIC UNDO1                          ONLINE
_SYSSMU17$                     PUBLIC UNDO1                          ONLINE
_SYSSMU18$                     PUBLIC UNDO2                          OFFLINE
_SYSSMU19$                     PUBLIC UNDO2                          OFFLINE
_SYSSMU20$                     PUBLIC UNDO2                          OFFLINE
_SYSSMU21$                     PUBLIC UNDO2                          OFFLINE
_SYSSMU22$                     PUBLIC UNDO1                          ONLINE
_SYSSMU23$                     PUBLIC UNDO1                          OFFLINE
_SYSSMU24$                     PUBLIC UNDO1                          OFFLINE
_SYSSMU25$                     PUBLIC UNDO1                          OFFLINE
_SYSSMU26$                     PUBLIC UNDO1                          OFFLINE
_SYSSMU27$                     PUBLIC UNDO1                          OFFLINE
_SYSSMU28$                     PUBLIC UNDO2                          OFFLINE
_SYSSMU29$                     PUBLIC UNDO2                          OFFLINE
_SYSSMU30$                     PUBLIC UNDO2                          OFFLINE
_SYSSMU31$                     PUBLIC UNDO2                          OFFLINE
_SYSSMU32$                     PUBLIC UNDO2                          OFFLINE
_SYSSMU33$                     PUBLIC UNDO2                          OFFLINE
34 rows selected.
SQL> show parameter UNDO
NAME TYPE VALUE
undo_management string AUTO
undo_retention integer 40000
undo_suppress_errors boolean FALSE
undo_tablespace string UNDO1
SQL>
Thanks

Similar Messages

  • Automatic Undo Management - Shrink Undo Segments

    Hello guys,
    i have a question regarding the automatic undo management and some large transactions.
    So lets take the following example:
    1 transaction with a lot of updates (round about 20.00000 entries) . After the update a commit was executed.
    Now the corresponding undo segment was blown up to 640 MB.
    Now my questions:
    Will this segment be shrinked after it is not needed anymore (STATUS = EXPIRED)?
    If not and another transaction needs some undo and activates this segment again.. 640 MB are going online again... but the transaction now only needs some KB.
    I know the algorithm if the undo segment needs to be extended (metalinknote #413732.1).. but what is happening to "big" segements if they are not needed anymore ... are the deallocated/shrinked after a time period?
    Regards
    Stefan

    Here is a little example of a smaller undo segment.. which shows my doubt:
    SELECT SEGMENT_NAME,STATUS FROM DBA_ROLLBACK_SEGS WHERE SEGMENT_NAME = '_SYSSMU13$';
    SEGMENT_NAME                   STATUS          
    _SYSSMU13$                     OFFLINE      
    SELECT SEGMENT_NAME, EXTENT_ID, BYTES, STATUS from DBA_UNDO_EXTENTS WHERE SEGMENT_NAME = '_SYSSMU13$';
    SEGMENT_NAME                   EXTENT_ID              BYTES                  STATUS   
    _SYSSMU13$                     0                      65536                  EXPIRED  
    _SYSSMU13$                     1                      65536                  EXPIRED  
    _SYSSMU13$                     2                      8388608                EXPIRED  
    _SYSSMU13$                     3                      8388608                EXPIRED  
    _SYSSMU13$                     4                      8388608                EXPIRED  
    _SYSSMU13$                     5                      8388608                EXPIRED  
    _SYSSMU13$                     6                      8388608                EXPIRED  
    _SYSSMU13$                     7                      8388608                EXPIRED  
    _SYSSMU13$                     8                      8388608                EXPIRED  
    _SYSSMU13$                     9                      8388608                EXPIRED  
    _SYSSMU13$                     10                     8388608                EXPIRED  
    _SYSSMU13$                     11                     67108864               EXPIRED   If the other guys are correct, the extents of undo segment _SYSSMU13$ should be deallocated... but they still persist.
    Regards
    Stefan

  • Undo Block Allocation Algorithm in Automatic Undo Management

    Hi,
    Can someone please explain me the Undo Block allocation algorithm in Automatic Undo Management??
    I need to tune my Undo tablespace in my Prod database.
    regards,
    Arul Sekar

    Hi,
    Thanks for the link provided.....
    But the link which has been provided does not contain the details about the Undo block allocation alogorithm in AUM.
    Can you please help me in this regard??
    regards,
    Arul Sekar

  • Automatic Undo Management, UNDO tablspace, and undo_segment count

    When I created my UNDO tablespace I was given 10 undo_segments:
    SQL> SELECT usn "Rollback Table", GETS, WAITS, xacts "Active Transactions"
    2 FROM V$ROLLSTAT;
    Rollback Table GETS WAITS Active Transactions
    0 1242 0 0
    1 88678 8 0
    2 83884 2 0
    3 82519 9 0
    4 85661 17 0
    5 80613 14 0
    6 82183 0 0
    7 92551 9 0
    8 78371 14 0
    9 89043 1 0
    10 75477 5 0
    The above statistic indicates I need more undo_segments. Do I need to recreate my UNDO tablespace in order to get the number of segments necessary to prevent waits or will more undo_segments be spawned eventually??
    I think I'm suffering Contention? Is there medicine?

    Compared to the number of GETS, the number of WAITS is very small. I doubt that you could ever have enough rollback segments to ensure that there were never any waits. Oracle's read consistency mechanism virtually guarantees that you will at least occasionally get waits.
    Aside from that, the point of UNDO tablespaces is that Oracle will manage the number and size of rollback segments based on the load. If you are really concerned about this, and if you have statistics indicating that waits for rollback segments are a performance bottleneck (something like a statspack report showing large amounts of time for one of the undo waits), then you can simply add more space to your undo tablespace, and Oracle will likely use it to add additional segmetns if it feels the need.
    John

  • Oracle 10g - undo management

    Guys,
    I am updating 1 million rows in Oracle 10g platform, normally when I do it in oracle 9i I run it as batch process and commit after each batch. Obviously to avoid/control undo generation. But in Oracle 10g I am told undo management is automatic and I do not need run the update as batch process.
    Is this right please throw some light on this new feature - automatic undo management
    Thanks

    Automatic undo management was available in 9i as well, and my guess is you were probably using it there. However, I'll assume for the sake of this writing that you were using manual undo management in 9i and are now on automatic.
    Automatic undo management depends upon UNDO_RETENTION, a parameter that defines how long Oracle should try to keep committed transactions in UNDO. However, this parameter is only a suggestion. You must also have an UNDO tablespace that's large enough to handle the amount of UNDO you will be generating/holding, or you will get ORA-01555: Snapshot too old, rollback segment too small errors.
    You can use the UNDO advisor to find out how large this tablespace should be given a desired UNDO retention, or look online for some scripts...just google for: oracle undo size
    Oracle 10g also gives you the ability to guarantee undo. This means that instead of throwing an error on SELECT statements, it guarantees your UNDO retention for consistent reads and instead errors your DML that would cause UNDO to be overwritten.
    Now, for your original question...yes, it's easier for the DBA to minimize the issues of UNDO when using automatic undo management. If you set the UNDO_RETENTION high enough with a properly sized undo tablespace you shouldn't have as many issues with UNDO. How often you commit should have nothing to do with it, as long as your DBA has properly set UNDO_RETENTION and has an optimally sized UNDO tablespace. Committing more often will only result in your script taking longer, more LGWR/DBWR issues, and the "where was I" problem if there is an error (if it errors, where did it stop?).
    Lastly (and true even for manual undo management), if you commit more frequently, you make it more possible for ORA-01555 errors to occur. Because your work will be scattered among more undo segments, you increase the chance that a single one may be overwritten if necessary, thus causing an ORA-01555 error for those that require it for read consistency.
    It all boils down to the size of the undo tablespace and the undo retention, in the end...just as manual management boiled down to the size, amount, and usage of rollback segments. Committing frequently is a peroxide band-aid: it covers up the problem, tries to clean it, but in the end it just hurts and causes problems for otherwise healthy processes.

  • Automatic UNDO

    if we use automatic undo management in oracle database, may we still have a chance to get ERROR"Snapshot too old" or it may be avoided as Oracle manages undo segments itself....
    Regards

    If you are 9i this note is worth a look:Note:301432.1Performance Slowdown During Heavy Undo Segment Onlining
    I have discussed about this topic at my blog:
    http://jaffardba.blogspot.com/
    The question was about 'Sanpshot too old eror', not about the performance related to AUTOMATIC UNDO.
    One more parameter that may cause is undo_retention.
    The other work around to avoid is to run the most long query and use v$undostat view and set the undo tbs and undo_retention parameters.
    Jaffar

  • UNDO Management - Config changes for OLTP and large background processes

    Hi,
    I am running 9i on a 2 node RAC cluster - Sun Solaris.
    I use Automatic Undo.
    The database is currently configured for OLTP and has 2 undo datafiles - 1GB in size and undo_retention set to default (900seconds)
    I am about to start scheduling a batch job to run each night that will delete approx 1 million records each time it runs.
    To get this to work without the dreaded Error -30036: ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDO01', I have increased the undo datafiles to 5GB and the undo_retention to 4000.
    The question is do I need to worry about switching between these settings - using the smaller values for daytime OLTP and the nighttime settings for the heavy processing?
    What issues might I encounter if I just left the UNDO Management settings in place that I use for the large delete?

    I would say no, leave the settings the highest level required to accomplish the work of the instance. Once the setting are correct for the instance, you should not have to change them around. They are really max setting for the heaviest load on your instance.

  • Undo Management

    Hello guys,
    I have a problem with Undo Tablespace in Oracle 9i.
    There's a OLPT system, Oracle 9i DBServer on Linux.
    The problem is that Undo datafile has grown very much, reaching about 4 GB. I restarted the my DB, but UndoTablespace continue with 99% used of 4GB.
    I used mode auto. Well, I think that Oracle automatically handles onlining/offlining, as well as all other aspects of undo management. What it's happen?
    Could you tell me why there's so much rollback space taken and how could I use it.
    Any help appreciated.

    Sounds ugly!
    Can you make a new UNDO TS - to take the place of the other (large) one?

  • How do you set Automatic Acoustic Management (AAM) for new Hard Drive?

    I have a new hard drive that I'm about to have installed into my iMac. The drive is a WD1001FALS (Western Digital Caviar Black 1TB). The only concern I have is that by all accounts it is a bit louder than some other drives, although everything being relative I don't know what that means to me since I've not heard it run yet.
    Still, the 320GB drive currently in the iMac is absolutely inaudible and while I'll make some concessions for speed and size I'd like to minimize the amount of noise coming out of the box. I know that the drive supports Automatic Acoustic Management (AAM), however its default state is "disabled". Is there a way, either through the OS or third party software to enable this feature?

    I just wanted to close out this question.
    I never received a clear answer but in the end I don't need to use the function. My concern was that a new WD1001FALS would be louder than the OEM 320GB HDD in my iMac to the point that I wouldn't be happy with it. Not wanting to trade speed for quiet I passed on the Green caviar and went for the Black. After living with it for several weeks I can say that it is very quiet and while I don't know if it's measurably louder than the old drive, it's not enough for me to notice (and I'm pretty picky).
    So, I'm happy with the drive as-is, case closed.

  • Oracle 11g AMM (Automatic Memory Management)

    Hi All,
    I have a very powerful server 24 Processors with 6 cores each and 74 GB RAM for my production database. The server will host only one production database. I wanted to use AMM for this database and allocate maximum memory to Oracle by setting memory_target. By default /dev/shm is set 37 GB but I wanted to increase it least 55 GB. I know I can get this changed by my system admin but I wanted to know how much memory should leave for OS?
    Please help me on sizing this.
    Thanks,
    Arun Singh

    From MOS ID 169706.1
    Automatic Memory Management
    Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (/dev/shm) and file descriptors. The shared memory should be sized to be at least the greater of MEMORY_MAX_TARGET and MEMORY_TARGET for each Oracle instance on the computer. To determine the amount of shared memory available, enter the following command: # df -k /dev/shm/
    Note: MEMORY_MAX_TARGET and MEMORY_TARGET cannot be used when LOCK_SGA is enabled or with huge pages on Linux

  • Illegal rollback Segment operation in Automatic Undo mode

    Hi,
    I use oracle database 9.2.0.1 and I try to install SCM repository but when I run ckcreate I saw an error message in
    the log file that Illegal rollback Segment operation in Automatic Undo mode because oracle 9.2 use automatic undo mode .So how can i install the repository.
    Ghassan Hallaq

    ORA-30019: Illegal rollback Segment operation in Automatic Undo mode
    You have hit bug '2108361'. I think you could safely ignore it in your case.

  • To change manul to auto undo management in 9i

    Hi
    My production database on manul undo management means (RBS) . I want to change this on auto mode Please Help me what steps i follow to do this
    DB 9.2 and OS AIX 5.2
    Thanks

    SQL> alter system set undo_management=manual scope=spfile;
    System altered.
    SQL> shutdown immediate;
    SQL> startup
    SQL> show parameter undo
    NAME TYPE VALUE
    undo_management string MANUAL
    undo_retention integer 1800
    undo_tablespace string UNDONEW
    SQL>
    do this same for auto....
    regards

  • In preferences what does "Override automatic cache management" mean and do?

    I was wondering what "Override automatic cache management" means and does.

    Firefox normally manages the size of it's cache, and can cache more or less information depending on various factors.
    Checking this option allows you to specify the maximum size of the Firefox cache, in MB.
    There isn't usually any need to enable this option.

  • INS-20802 Automatic Storage Management Configuration Assistant Failed

    Dear all,
    Please help me to fix this issue, when I install grid infrastructure I have encounter a problem which describe INS-20802 Automatic Storage Management Configuration Assistant Failed.
    Could anyone help me to find out this problem?
    Thank before hand for you help.
    Best Regards,
    Vouthea OUN

    Dear all,
    Please help me to fix this issue, when I install grid infrastructure I have encounter a problem which describe INS-20802 Automatic Storage Management Configuration Assistant Failed.
    Could anyone help me to find out this problem?
    Thank before hand for you help.
    Best Regards,
    Vouthea OUN

  • Automatic Storage Management

    Please can someone help me? How can i tell if my 11g database is using automatic storage management. How do i know if oracle grid infrastructure is installed?
    thanks

    How can i tell if my 11g database is using automatic storage management.You can check using
    sql> show parameter db_create_file_dest
    If it shows something like +DISKGORUPNAME, the database is using ASM
    Also, you can verfity using
    select name,state from v$asm_diskgroup;
    Is the state shows CONNECTED,then that particular ASM diskgroup is connected with the instance.
    Anand

Maybe you are looking for