Undo tablespace growing without reusing space

Hi,
I'm running an Oracle9i database on Solaris. I am using the automatic undo management and I have one undo tablespace. The UNDO_RETENTION value is 900. I have created the undo tablespace this way (clause in create database statement):
UNDO TABLESPACE "UNDOTBS1" DATAFILE '/u04/oracle/oradata/my_dbname/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
The undo tablespace datafile is now close to 3G. I have other servers running the same setup, and their undo datafile size is still 200M. There is currently no active transaction in the database. Any idea why this is happening? Is there any tables I can check for clues?
Many thanks,
Gloria

Should Oracle automatically shrink the undo tablespace (datafile) when it is not needed anymore? Say at one point the database really needs 3G of undo tablespace, but afterwards only 10M is needed, would the datafile be 'shrunk' back?
Also, how can I check if the database really needed the 3G of undo tablespace at one point? (I guess it's checking the level of activities in the database, but how do I do that for past data?)
I'm trying to decide whether the undo tablespace really grew due to a need at some point or is it a case of Bug 2660394 (documented in metalink note271119.1). The bug basically says that "An auto extensible undo tablespace MAY grow before reusing expired extents leading to more space use than actually needed".

Similar Messages

  • Undo tablespace grows fast

    How the undo tablespace grows very fast., how can we control on it. When I try to resize it did not allow me, what exact action can i take it.

    >> How the undo tablespace grows very fast., how can we control on it.
    It’s all depending on the DML transaction activities on your database i.e. frequent inserts,updates, and deletes.
    >> When I try to resize it did not allow me, what exact action can i take it.
    How/What you tried to resize it. Can you show the details??
    Moreover, Do take a look at the Oracle Documentation on "Managing the Undo Tablespace"
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/undo.htm
    Regards,
    Sabdar Syed.
    Added the link.
    Message was edited by:
    Sabdar Syed

  • Undo tablespace growing fast

    Hello All
    We are having issues with undo tablespace growing... the oracle version is 10.2.0.1.0
    the table is holding around 400000000 records and this table is also partitioned by range
    any reason for this undo tablespace growing by at an high rate
    regards
    Kedar

    Undo tablespaces are special tablespaces used solely for storing undo information. You cannot create any other segment types (for example, tables or indexes) in undo tablespaces. Each database contains zero or more undo tablespaces. In automatic undo management mode, each Oracle instance is assigned one (and only one) undo tablespace. Undo data is managed within an undo tablespace using undo segments that are automatically created and maintained by Oracle.
    Every Oracle Database must have a method of maintaining information that is used to roll back, or undo, changes to the database. Such information consists of records of the actions of transactions, primarily before they are committed. These records are collectively referred to as undo.
    Undo records are used to:
    Roll back transactions when a ROLLBACK statement is issued
    Recover the database
    Provide read consistency
    Analyze data as of an earlier point in time by using Oracle Flashback Query
    Recover from logical corruptions using Oracle Flashback features
    When a ROLLBACK statement is issued, undo records are used to undo changes that were made to the database by the uncommitted transaction. During database recovery, undo records are used to undo any uncommitted changes applied from the redo log to the datafiles. Undo records provide read consistency by maintaining the before image of the data for users who are accessing the data at the same time that another user is changing it.
    You confuse TEMP with UNDO tablespace.
    Best Regards,
    Francisco Munoz Alvarez
    www.oraclenz.com

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

  • UNDO tablespace increase more more .... spaces

    I checked my Oracle database. I found undo tablespace increase more more spaces.
    from 10G , now 40G
    undo_retention = 15 minutes
    Please help me
    How I tune and monitor for track this problem?

    Hello HunterX,
    You have not indicated which version of database & on what platform. The Version number & platform is very important...I tell you why. Because i had the same issue with my database and handled successfully.
    Please check the BUG No. Note:2660394.8 & also note no. 271119.1.
    This explains that Undo tablespace is used and after the expiry of 15 minutes it does not use the EXPIRED extents. It again allocates the NEW extents out of your segment of the tablespace....And leads to continuous growing of UNDO Tablespace...
    Do the follwoing i feel would be appropriate...Rest you can decide it better....
    1. Create a New UNDO Tablespace may be undo_new of smaller size..
    2. Do not keep autoextend ON and put some max size...may be 1 GB. Do not put it unlimited.
    3. Stop the DB Instance
    4. Change the name of new UNDO Tablespace in INIT.ORA file
    5. Restart the DB Instance.....
    6. drop the Old Tablespace UNDO & delete the datafile...
    If stopping of DB Instance is not possible...(for production server), i hv few command which does the above on-line. But i do not remember them at this time...I will hv to refer my docs. If you feel i can try that for you...otherwise you may follwo above points.
    Hope that helps to you. Thanks.
    Regards,
    Kamesh Rastogi

  • Extending undo tablespace

    Hi everyone!
    I used this sql to check the status of my tablespaces.
    SELECT /* + RULE */  df.tablespace_name "Tablespace",
           df.bytes / (1024 * 1024) "Size (MB)",
           SUM(fs.bytes) / (1024 * 1024) "Free (MB)",
           Nvl(Round(SUM(fs.bytes) * 100 / df.bytes),1) "% Free",
           Round((df.bytes - SUM(fs.bytes)) * 100 / df.bytes) "% Used"
      FROM dba_free_space fs,
           (SELECT tablespace_name,SUM(bytes) bytes
              FROM dba_data_files
             GROUP BY tablespace_name) df
    WHERE fs.tablespace_name (+)  = df.tablespace_name
    GROUP BY df.tablespace_name,df.bytes
    UNION ALL
    SELECT /* + RULE */ df.tablespace_name tspace,
           fs.bytes / (1024 * 1024),
           SUM(df.bytes_free) / (1024 * 1024),
           Nvl(Round((SUM(fs.bytes) - df.bytes_used) * 100 / fs.bytes), 1),
           Round((SUM(fs.bytes) - df.bytes_free) * 100 / fs.bytes)
      FROM dba_temp_files fs,
           (SELECT tablespace_name,bytes_free,bytes_used
              FROM v$temp_space_header
             GROUP BY tablespace_name,bytes_free,bytes_used) df
    WHERE fs.tablespace_name (+)  = df.tablespace_name
    GROUP BY df.tablespace_name,fs.bytes,df.bytes_free,df.bytes_used
    ORDER BY 4 DESC;It shows that my undo tablespace has only 3% space left.
    I just executed this SQL command but still the output is the same.
    SQL> alter database datafile 'c:\ORACLE\DATA\PRODUCTION\DATAFILE\O1_MF_UNDO.DBF' autoextend on maxsize 50M;
    Database altered.I mistakenly thought that the file's existing size is less than 50M.
    But then realised the unused (3%) is 50M.
    How should I increase the file's size now.
    Please guide me.
    Will the command I issued have a negative impact?
    Thanks in advance.
    Nith

    user645399 wrote:
    Hi everyone!
    I used this sql to check the status of my tablespaces.
    <snip>
    It shows that my undo tablespace has only 3% space left.Which is not a problem of itself. Were you seeing an errors due to lack of space in the undo TS? Do you understand how the undo TS uses - and reuses - space?
    >
    I just executed this SQL command but still the output is the same.
    SQL> alter database datafile 'c:\ORACLE\DATA\PRODUCTION\DATAFILE\O1_MF_UNDO.DBF' autoextend on maxsize 50M;
    Database altered.
    And of course the output is the same. Modifying the autoextend allocation of a file doesn't change the size of anything. It simply allows the file to grow if and when it becomes necessary. And with 3% still available, it is not necessary. And it won't become necessary until some DML causes that 3% to be exhausted.
    I mistakenly thought that the file's existing size is less than 50M.
    But then realised the unused (3%) is 50M.
    How should I increase the file's size now.
    Please guide me.
    Will the command I issued have a negative impact?
    Thanks in advance.
    Nith

  • FLASHBACK OFF FOR UNDO TABLESPACE????

    Hi all
    As my Undo tablespace growing evryday 2 GB & NOW it reached 19,
    Database size is 6GB only
    using Oracle 10g Release 2 without patch Set (release 1002000100) on Hp-Unix OS
    Can i use the Undo tablespace with FLASHBACK OFF option?
    what are the Consequences for Turning off the FLASHBACK,
    Can we use this type of Undo tablespace with Flashback OFF???
    CREATE UNDO TABLESPACE UNDOTBS03 DATAFILE
    '/app/oracle/product/oradata/prod/undotbs03.dbf' SIZE 1000M AUTOEXTEND OFF
    ONLINE
    RETENTION NOGUARANTEE
    BLOCKSIZE 8K
    FLASHBACK OFF;
    THANKS ALOT

    Oracle Flashback Database: feature is similar to conventional point-in-time recovery in its results, allowing you to return a database to its state at a time in the recent past. It is, however, much faster than point-in-time recovery, because it does not require restoration of datafiles from a backup and it requires application of fewer changes from the archived redo logs.
    UNDO  Tablespace: Oracle db save the old value when a process change data in undo tablespace.
    I think that you can change de default UNDO tablespace as NO AUTOEXTEND, and
    Configure
    SET UNDO_MANAGEMENT=AUTO
    SET UNDO_RETENTION= ( second need for logger transaction )
    UNDO_RETENTION specifies (in seconds) the low threshold value of undo retention. For AUTOEXTEND undo tablespaces, the system retains undo for at least the time specified in this parameter, and automatically tunes the undo retention period to satisfy the undo requirements of the queries.
    For fixed- size undo tablespaces, the system automatically tunes for the maximum possible undo retention period, based on undo tablespace size and usage history, and ignores UNDO_RETENTION unless retention guarantee is enabled.

  • Unable to extend segment by 8 in undo tablespace 'UNDOTBS1'

    Hi All,
    I have enabled the Oracle flashback data archive.
    Undo tbs size is unlimited. Whenevr i enable FBDA i am getting the below error. when i disable this feature the error is not coming.
    My Oracle version is 11.0.2.0
    ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS1'
    ORA-02002: error while writing to audit trail
    ORA-00604: error occurred at recursive SQL level 1
    ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS1'
    ; nested exception is java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
    can anyone help me to solve the issue would be very much helpful.
    thanks
    Mohan

    ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS1'
    30036, 00000, "unable to extend segment by %s in undo tablespace '%s'"
    // *Cause:   the specified undo tablespace has no more space available.
    // *Action:  Add more space to the undo tablespace before retrying
    //           the operation. An alternative is to wait until active
    //           transactions to commit.

  • Undo Tablespace Reuse

    Hi,
    I am using 10.2.0.3.0 on Oracle Solaris 5.10.
    I have an undo tablespace 'UNDOTBS1' which has 5 data files of sizes 60GB. Here are my undo parameters:
    SQL> show parameter undo
    NAME                                 TYPE        VALUE
    undo_management                      string      AUTO
    undo_retention                       integer     900
    undo_tablespace                      string      UNDOTBS1I have a long running batch process, which is inserting billions of records in the table and generating lots of undo. The batch is running for the last two days, and generating lots of undo and developer says that he is committing after 3 million records, though he was told to commit after 10000 records. Now all the data files of undo tablespace have become full except one, which is also getting filled up.
    I see from dba_rollback_segs that there are some 25 segments which are showing status offline.
    does it mean that the oracle will reuse those segments and I dont need to add another data file to the undo tablespace?
    How would I know during this running process, that oracle would reuse space in undo tablespace, or will just throw an error, after exhausting all the data files.
    Thanks and regards

    Hi,
    As the undo segments are used in a curcular fashion, dba_free_space may not give correct picture. use following sql.
    col PCT_USED head '% Used'
    select a.used, b.allocated, round((a.used/b.allocated)*100,2) PCT_USED, c.unexpired, d.active from
    (select sum(BYTES/1024/1024) used from dba_undo_extents where status in ('UNEXPIRED','ACTIVE')) a,
    (select bytes/1024/1024 allocated from dba_data_files where tablespace_name = 'UNDOTBS1') b ,
    (select sum(bytes/1024/1024) unexpired from dba_undo_extents where status = 'UNEXPIRED') c,
    (select sum(bytes/1024/1024) active from dba_undo_extents where status = 'ACTIVE') d
    Here ACTIVE - they are being used
    UNEXPIRED - they will not be released until the undo_retention time. But if all other extents are used, then oracle may reallocate unexpired blocks and any session which is trying to read from unexpired block may received "snapshot too old error".
    EXPIRED - here these blocks will be reused, you can consider them as free.
    Thanks,
    Siva

  • Free space in UNDO tablespace

    Hi,
    in DB version 9.2.0, after all transactions are committed, the occupied blocks in UNDO tablespace will be free or not ?
    The same just after startup, before any transaction the free space in UNDO tablespace would be at max ?
    Many thanks.

    Hello Dear copy this script and paste in the sql prompt and it will show your how much total space table have, or how much is used and how much it is free
    SELECT Total.name "Tablespace Name",
    nvl(Free_space, 0) Free_space,
    nvl(total_space-Free_space, 0) Used_space,
    total_space
    FROM
    (select tablespace_name, sum(bytes/1024/1024) Free_Space
    from sys.dba_free_space
    group by tablespace_name
    ) Free,
    (select b.name, sum(bytes/1024/1024) TOTAL_SPACE
    from sys.v_$datafile a, sys.v_$tablespace B
    where a.ts# = b.ts#
    group by b.name
    ) Total
    WHERE Free.Tablespace_name(+) = Total.name
    ORDER BY Total.name

  • Drop undo tablespace but space not release (du and df show different value)

    hi guys,
    i just change my undo and drop the previous 1.
    create undo tablespace UNDOTBS4 DATAFILE '/u03/oradata/starhub/undotbs4.dbf' size 2g;
    Tablespace created.
    SQL> ALTER SYSTEM SET UNDO_TABLESPACE = undotbs4;
    System altered.
    SQL>  drop tablespace undotbs3 including contents and datafiles;
    Tablespace dropped.
    SQL>
    However, when i check my diskspace using df -h , it is still showing. 32 gig is used. where infact, only 30G should be used.
    71G 32G 37G 47% /u03
    when i check using du -h, it is showing only
    30G ./oradata
    I have to bounce the database to get my 2G back, why ?
    Is there anyway to get my 2G back without bouncing the DB ?
    Regards,
    Noob

    Oracle has the file still open, so the i-node of that file is still in use, so the file shows up.
    Learn your Unix!
    Sybrand Bakker
    Senior Oracle DBA

  • Undo tablespace keeps on growing

    We have a 3rd party application running on our oracle(10.2.0.4) database running on 64bit solaris(sparc) machine.
    Since few days my undo started going up. I increased the size from 2g to 5g. Still it is at more then 90%levels.
    I ran this query to see which session is using maximum undo
    SELECT a.sid, b.name, a.value
    FROM v$sesstat a, v$statname b
    WHERE a.statistic# = b.statistic#
    AND a.statistic# = 176
    ORDER BY a.value DESC
    From this i found the session which is using max undo.
    When i query this sid from v$session i see this is inactive
    my undo retention is set to 9000 and undo management is auto
    how can i check if i have expired undo blocks that are not being used

    >
    Since few days my undo started going up. I increased the size from 2g to 5g. Still it is at more then 90%levels.
    I ran this query to see which session is using maximum undo
    SELECT a.sid, b.name, a.value
    FROM v$sesstat a, v$statname b
    WHERE a.statistic# = b.statistic#
    AND a.statistic# = 176
    ORDER BY a.value DESC
    From this i found the session which is using max undo.
    When i query this sid from v$session i see this is inactive
    my undo retention is set to 9000 and undo management is auto
    >
    With an UNDO_RETENTION of 2.5 hours set, I am not surprised that you use up to (or even more than) 5g space in the UNDO tablespace! I would even call that moderate.
    What is your concern? If you don't have the space for your UNDO tablespace, lower UNDO_RETENTION accordingly. Notice that UNDO_RETENTION is the wish to preserve before images for that long time even if their transaction did already commit. Why have you set it to that (relatively high) value of 2.5 hours?
    Kind regards
    Uwe
    http://uhesse.wordpress.com

  • Executing transaction without active Undo Tablespace

    Hi,
    DB: 9.2.0.5
    OS : AIX 5.2
    I have opened my standby database in READ ONLY mode.I have undo tablespace.It is live setup and users are checking data with standby database.
    SQL> show parameter aq_tm
    NAME TYPE VALUE
    aq_tm_processes integer 0
    SQL>
    SQL> show parameter undo
    NAME TYPE VALUE
    undo_management string AUTO
    undo_retention integer 10800
    undo_suppress_errors boolean FALSE
    undo_tablespace string UNDOTBS1
    SQL>
    My standby alertlog getting warning message as
    Mon Dec 13 12:16:39 2010
    ***Warning - Executing transaction without active Undo Tablespace
    Mon Dec 13 12:27:37 2010
    ***Warning - Executing transaction without active Undo Tablespace
    Mon Dec 13 12:28:03 2010
    ***Warning - Executing transaction without active Undo Tablespace
    Mon Dec 13 12:28:17 2010
    ***Warning - Executing transaction without active Undo Tablespace
    Mon Dec 13 12:34:43 2010
    ***Warning - Executing transaction without active Undo Tablespace
    ***Warning - Executing transaction without active Undo Tablespace
    ***Warning - Executing transaction without active Undo Tablespace
    ***Warning - Executing transaction without active Undo Tablespace
    ***Warning - Executing transaction without active Undo Tablespace
    ***Warning - Executing transaction without active Undo Tablespace
    ***Warning - Executing transaction without active Undo Tablespace
    ***Warning - Executing transaction without active Undo Tablespace
    ***Warning - Executing transaction without active Undo Tablespace
    ***Warning - Executing transaction without active Undo Tablespace
    ***Warning - Executing transaction without active Undo Tablespace
    Mon Dec 13 12:35:22 2010
    ***Warning - Executing transaction without active Undo Tablespace
    ***Warning - Executing transaction without active Undo Tablespace
    Please help me.
    Thanks,
    sunand

    Hi Forstmann,
    Thanks for your quick reply.
    I have temp tablespace and see the below output.
    SQL> select name from v$tempfile;
    no rows selected
    Which means i do not have any temp file to temp tablespace.
    How do i can create tempfile in standby?.In what following states i can create,
    1) MOUNT ( Recovery mode canceled)
    2) READ ONLY
    3) opened after FAILOVER
    4) At any stage i can
    My client is planning to check the DR server by doing FAILOVER.After that will create standby database again from primary.
    Thanks,
    Sunand

  • Undo tablespace keeps growing

    Hello,
    my undotbs is growing 14g (although i my undotbs actul size is 9g) I try to resize datafiles, but
    this may not work.
    So, i am assuming to perform this task
    >
    - Create a new undo tablespace as :
    SQL> create undo tablespace UNDOTBS2 datafile '<complete file path>' size <smaller size>;
    - Change parameter UNDO_TABLESPACE
    SQL> alter system set UNDO_TABLESPACE=UNDOTBS2;
    - Drop UNDOTBS1
    SQL> drop tablespace UNDOTBS1 including contents and datafiles;>
    but my question is , is it worthy to delete the undotbs1 whose having alot of data and if i deleted
    this (undotablespace) data ,i will not able to recover it thoroughly?
    db_version:10.2.0(linux)

    sunny kichlooIf your concern is regarding how to resize Refer this thread
    >
    i have already try this but it still growing and day-today we are running large transaction on our db.
    marcopb      Try to investigate why your undo tablespace is growing... and think about why your next undo tablespace won't grow as the previous...
    >
    our db size is 60g and we are running on heavy transection on it (everday)

  • Open XE without UNDO tablespace

    Hy
    I have an oracle xe installation on linux ubuntu that does not start, it arrives in MOUNT status.
    When i try to open i get the following messages:
    ORA-01172: recovery of thread 1 stuck at block 153 of file 2
    ORA-01151: use media recovery to recover block, restore backup if needed
    Unfortunately it is in NOARCHIVELOG mode.
    Can i open it with no UNDO tablespace, and the add a new datafile to the UNDO tablespace?
    Thanks
    Lorenzo

    Here is alert log content: the last shutdown was not clean
    Here there is not the shutdown log...
    Tue Mar 9 17:42:29 2010
    starting up 4 shared server(s) ...
    Oracle Data Guard is not available in this edition of Oracle.
    Tue Mar 9 17:42:31 2010
    ALTER DATABASE MOUNT
    Tue Mar 9 17:42:35 2010
    Setting recovery target incarnation to 2
    Tue Mar 9 17:42:35 2010
    Successful mount of redo thread 1, with mount id 2594312135
    Tue Mar 9 17:42:35 2010
    Database mounted in Exclusive Mode
    Completed: ALTER DATABASE MOUNT
    Tue Mar 9 17:42:35 2010
    ALTER DATABASE OPEN
    Tue Mar 9 17:42:35 2010
    Beginning crash recovery of 1 threads
    Tue Mar 9 17:42:35 2010
    Started redo scan
    Tue Mar 9 17:42:36 2010
    Completed redo scan
    1264 redo blocks read, 136 data blocks need recovery
    Tue Mar 9 17:42:36 2010
    Started redo application at
    Thread 1: logseq 175, block 2, scn 6715755
    Tue Mar 9 17:42:36 2010
    Recovery of Online Redo Log: Thread 1 Group 2 Seq 175 Reading mem 0
    Mem# 0 errs 0: /usr/lib/oracle/xe/app/oracle/flash_recovery_area/XE/onlinelog/o1_mf_2_5dm8sg16_.log
    RECOVERY OF THREAD 1 STUCK AT BLOCK 153 OF FILE 2
    Tue Mar 9 17:42:37 2010
    Aborting crash recovery due to error 1172
    Tue Mar 9 17:42:37 2010
    Errors in file /usr/lib/oracle/xe/app/oracle/admin/XE/udump/xe_ora_4250.trc:
    ORA-01172: recovery of thread 1 stuck at block 153 of file 2
    ORA-01151: use media recovery to recover block, restore backup if needed
    ORA-1172 signalled during: ALTER DATABASE OPEN...

Maybe you are looking for

  • Error while opening Excel report using servlet

    Hi I am using a servlet to open an excel report which has multiple sheets . But there is a weird problem when i try to open an excel report with two sheets having the same name . Generally when an excel with same sheet names is opened with Microsoft

  • I can't seem to bring-up apple TV display icon on my mac to mirror on the tv

    I cannot bring up the airplay icon so i can mirror what i play on mac onto my apple tv (i.e big screen). I've tried everything The only thing i can play is music through itunes. But I can't get airplay from my web browser (e.g. can't play bbc iplayer

  • What caused my kernal Panic?

    I wish i could read this and make sense of it, but I cannot. Interval Since Last Panic Report: 1408827 sec Panics Since Last Report: 1 Anonymous UUID: 1433A7C0-1FE8-4ACC-9C75-098BAA1B4028 Sat Nov 27 21:13:30 2010 panic(cpu 1 caller 0x2aab55): Kernel

  • Type casting in JAX-RPC

    Hello I was trying to do a JAX-RPC application, and I had some problems with type casting. My application worked fine with primitive types, vectors of primitive types, and beans with primitive type properties. But it didn't work with vectors of beans

  • Itunes will not open until I reboot

    I'm running a Windows 7 64 bit computer. My music is installed on an external harddrive. Itunes will not open until I reboot my computer. I admit I have a large collection of music but my computer is running 8 gigs of DDR3 ram and a AMD Athlon II x4