Buffer Waits on undo tablespace

Hi,
I am running Oracle Database 10g Enterprise Edition Release 10.2.0.3.0
After creating awr report under the section:
Tablespace IO Stats
ordered by IOs (Reads + Writes) desc
I noticed that I have 32 Buffer Waits for my undo tablespace.
UNDOTBS Buffer Waits = 32
Does anybody know how to reduce the buffer waits for my undo tablespace?
Thanks!

F. Munoz Alvarez wrote:
My idea was to give to the OP some links to read and do some research to learn about the topic. Generally an admirable strategy. However, even though you have changed the list of references, none addresses the point already made by Hermant that the OP has not considered the scale of the issue.
Again, though, if you follow the links you have posted, one seems to be unreachable, one has nothing to do with undo header waits, and the other three are limited to offering the same (out of date) suggestion about adding rollback segments.
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk
"The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge." (Stephen Hawking)

Similar Messages

  • Busy buffer wait

    Hi
    I am getting huge buffer busy waits events on my database and its increasing
    following is the result of query on my database(9.2.0.8.0)
    SQL> select event,total_waits from v$system_event where event in ('free buffer waits','buffer busy waits')
    2 ;
    EVENT TOTAL_WAITS
    free buffer waits 118
    buffer busy waits 12827
    Also my "segment space management" is on "auto" on the tablespaces
    please someone let me know even when "segment space management" is on "auto" , why buffer busy waits is so huge
    And how to reduce this event
    Regards

    Hi,
    Try to post the out put for system wide if possible
    SELECT time, count, class
    FROM V$WAITSTAT
    ORDER BY time,count
    First of all check how many session till now impacted with this event. execute the below query and check
    SELECT count(*), event
    FROM v$session_wait
    WHERE wait_time = 0
         AND event NOT IN ('smon timer','pmon timer','rdbms ipc message',
                        'SQL*Net message from client')
    GROUP BY event
    ORDER BY 1 DESC;
    try to check p1, p2 and p3 value of below query, from there we can find the cause
    SELECT count(*) n_w , p1 FILE#, p2 BLK#, p3 CLASS
    FROM v$session_wait
    WHERE event = 'buffer busy waits'
    GROUP BY p1, p2, p3
    from the above query you will get the AFN and Block and wait class, use those inputs and check the actual segment cause, then we can seee what we need to do
    SELECT owner,segment_name,segment_type
    FROM dba_extents
    WHERE file_id=&file
    AND &blockid BETWEEN block_id AND block_id + blocks
    - Pavan Kumar N
    - Pavan Kumar N
    Updated with queries

  • Drop Undo Tablespace taking more than 1 hr

    Hi,
    To give you background, I had given an "insert into .. select" command which was inserting 3 millions of rows of rowidth approx 5000 bytes. The window on which it was given, was closed by mistake.
    After sometime when I checked the size of undo_tablespace, it was 5.5GB. I decided to create a new one and drop the old undo_tbsp.
    I have successfully created new undo tablespace and changed the same in spfile also.
    now when i am dropping the old undo tablespace, its taking long time. its almost an hour, but the tablespace has not been dropped yet.
    I have given following command
    drop tablespace undotbs_01 including contents;
    Any idea, why is it taking so much time, and how long should I wait?
    If someone can give me any other idea on how can I drop the tablespace, that will be great.
    Regards,
    Archana.

    To give you background, I had given an "insert into .. select" command which was inserting 3 millions of rows of rowidth approx 5000 bytes. The window on which it was given, was closed by mistake.This could be the cause.
    I wonder the killed/closed session doesn't hangup with a latch or lock.
    Since the old undo tbs had active transaction, it might have to pending offline status. If so, you can drop it.
    Jaffar

  • Is it OK to Switching Undo Tablespaces without DB stop ?

    We use Oracle11g R2.
    I read Oracle Doc and It looks OK.
    But, how could I make sure UNDO tablespace mode(ONLINE,PENDING OFFLINE) ?
    Switching Undo Tablespaces
    You can switch from using one undo tablespace to another. Because the UNDO_TABLESPACE initialization parameter is a dynamic parameter, the ALTER SYSTEM SET statement can be used to assign a new undo tablespace.
    The following statement switches to a new undo tablespace:
    ALTER SYSTEM SET UNDO_TABLESPACE = undotbs_02; 
    Assuming undotbs_01 is the current undo tablespace, after this command successfully executes, the instance uses undotbs_02 in place of undotbs_01 as its undo tablespace.
    If any of the following conditions exist for the tablespace being switched to, an error is reported and no switching occurs:
      The tablespace does not exist
      The tablespace is not an undo tablespace
      The tablespace is already being used by another instance (in an Oracle RAC environment only)
    The database is online while the switch operation is performed, and user transactions can be executed while this command is being executed. When the switch operation completes successfully, all transactions started after the switch operation began are assigned to transaction tables in the new undo tablespace.
    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.
    An undo tablespace can exist in this PENDING OFFLINE mode, even after the switch operation completes successfully. A PENDING OFFLINE undo tablespace cannot be used by another instance, nor can it be dropped. Eventually, after all active transactions have committed, the undo tablespace automatically goes from the PENDING OFFLINE mode to the OFFLINE mode. From then on, the undo tablespace is available for other instances (in an Oracle Real Application Cluster environment).

    After you switch the UNDO_TABLESPACE parameter to the new tablespace, at the minimum, you have to wait for active transactions to complete (commit/rollback) before you can take the old Undo Tablespace offline.  Note that if you take the old Undo Tablespace  offline too quickly, you may prevent long running queries from reading from the old Undo Tablespace and may cause them to error with ORA-01555.  So you need to wait a reasonable time (e.g look at MAXQUERYLEN in V$UNDOSTAT) before you take the old Undo Tablespace offline.
    Hemant K Chitale

  • Help Dropping Undo Tablespace

    Guys,
    I want to create a new undo tablespace and drop the old one.
    I followed the below steps, but could not drop it
    create undo tablespace UNDOTBS datafile '/ora01/oradata/DEVTDB/undotbs.dbf' size 100m AUTOEXTEND ON MAXSIZE 5G;
    alter system set undo_tablespace=UNDOTBS scope=both;
    alter tablespace UNDOTBS1 offline; -- this was successful
    DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
    -- Last command threw the following error:
    ORA-01548: active rollback segment '_SYSSMU6$' found, terminate dropping tablespace
    I am using oracle 10.2.0.4G on Linux Redhat.
    Any help is appreciated.
    Thanks!

    Charlov wrote:
    Guys,
    I want to create a new undo tablespace and drop the old one.
    I followed the below steps, but could not drop it
    create undo tablespace UNDOTBS datafile '/ora01/oradata/DEVTDB/undotbs.dbf' size 100m AUTOEXTEND ON MAXSIZE 5G;
    alter system set undo_tablespace=UNDOTBS scope=both;
    alter tablespace UNDOTBS1 offline; -- this was successful
    DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
    -- Last command threw the following error:
    ORA-01548: active rollback segment '_SYSSMU6$' found, terminate dropping tablespace
    I am using oracle 10.2.0.4G on Linux Redhat.
    Any help is appreciated.
    Thanks!Hi,
    I think you need to wait until there's no active rollback segments in the old undotbs before you can drop it. You can also restart the instance to force Oracle to release the old undotbs.
    HtH
    //Johan

  • How to drop an undo tablespace which is in Pending Offline status

    Dear All,
    I changed my undo tablespace from undotbs1 to undonew in order to drop undotbs1.
    But my undotbs1 is in pending offline state, how can i drop undotbs1
    Thanks
    Mahi

    Check here
    Managing the Undo Tablespace
    Query V$TRANSACTION find out which transaction holding rollback segment on old undo tablespace. Commit or rollback it.
    Or simply wait for a while patiently.
    Quote "
    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.
    An undo tablespace can exist in this PENDING OFFLINE mode, even after the switch operation completes successfully. A PENDING OFFLINE undo tablespace cannot be used by another instance, nor can it be dropped. Eventually, after all active transactions have committed, the undo tablespace automatically goes from the PENDING OFFLINE mode to the OFFLINE mode.
    "

  • Cannot shrink the undo tablespace

    Hello!
    I have run a very long procedure, which generated 15GB undo information. Now I can see in the enterprise manager, that the undo tablespace is empty again. I tried to resize the datafile, but I receive "*ORA-03297*: file contains used data beyond requested RESIZE value". How can I shrink the tablespace without dropping and recreating it?
    I tried also
    purge recyclebin;
    I still get ORA-03297 if I try to resize the datafile.
    I wanted to try something like
    ALTER TABLE xxxxx UNALLOCATE UNUSED;
    or
    ALTER TABLE xxxxx SHRINK SPACE;
    but are there any tables that save the undo information?
    Regards.

    Hi
    well, my transaction is ready! The undo tablespace has not more that 10M of information, the other 15G are free!
    Thanks for the answers, it seems that i still have recreate it ...
    Well, another quertion:
    Is it possible, that I just have to wait longer before I resize the undo data file? I have just succeeded in resizing the data file to 7 GB. I really wish I could shrink it to 100M or so, but still - from 15G to 7G is a lot better! 2 hours ago this action was not possible. Is it some automatic management, that needs to time-out before I can shrink the undo tablespace?
    Edited by: user10962462 on Apr 8, 2009 2:39 AM

  • Droping an undo tablespace ????????????????

    Hi Gurus,
    How to drop an undo tablespace in oracle 10.2.
    when i issue drop tablespace undo including contents
    it shows like "ORA-30013: undo tablespace 'UNDO' is currently in use"
    Pls help it out......
    Regards
    Rajesh

    The reason why you cannot drop this tablespace is because it has been declared as the undo tablesapace for the database by means of the UNDO_TABLESPACE instance parameter.
    You have to create a new undo tablespace and change the undo_tablespace instance parameter value to point to the new undo tablespace:
    ALTER SYSTEM SET UNDO_TABLESPACE=<N EW UNDO TS>;
    Afterwards you will have to wait for a while before you are able to drop the current tablespace if there are active transactions or if the information is still required to perform flashback queries (it depends on the UNDO_RETENTION instance parameter), so it is suggested to temporarily reduce this value so you can perform the switch to the new tablespace and you can get rid of the current tablespace.
    ~ Madrid
    http://hrivera99.blogspot.com/

  • Undo tablespace  and instance recovery

    Is UNDO tablespace is mandatory during instance recovery. ?
    Suppose my undo tablespace has some active transaction and instance crashes making undo tablespace inaccessible.
    Will database search for that undo tablespace during startup or I can simply create a new one and set as new undo tablespace ?
    With Regards
    Amt

    Hi,
    >>I am actually confused
    Keep in mind that If an Oracle instance crashes, any changes that are made in the SGA are not written to the data files. When you restart the instance, the SMON background process automatically performs instance recovery by performing the following tasks:
    • Rolling forward changes that are made in the online redo log files but not in the data files. Since all the committed transactions are written to the online redo log files, these are successfully recovered as result of rolling forward changes from the online redo log files to the data files.
    • Opening the database. After the database is opened, users can log on and access any data that is not locked by un-recovered transaction.
    • Rolling back all the uncommitted transactions.
    In resume, during database recovery, undo records are used to undo any uncommitted changes applied from the redo log to the datafiles.
    But if your UNDO tablespace crashed, then you will need recover it, using steps like
    1) shutdown abort (If the instance yet is up)
    2) cp -a /backup/undo01.dbf /u01/oradata (restore the latest recent backup file)
    3) startup mount
    4) recover database or recover datafile '/u01/oradata/undo01.dbf'
    5) alter database open;
    In some cases, re-create it, also resolve the problem:
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:5669213349582
    Missing UNDO tablespace in restore backup
    >>I checked in test setup and it is actually waiting for missing UNDO tablespace.
    Which exactly test you are doing?
    Cheers

  • Switch undo tablespace issue

    I want to swithch current undo tablespace to another current undo tablespace,how can i check whether all the sessions have finished and commited in current table space?

    I don't think you really need to check because Oracle will handle the switch from old to new undo tablespace the following way:
    >
    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.
    An undo tablespace can exist in this PENDING OFFLINE mode, even after the switch operation completes successfully. A PENDING OFFLINE undo tablespace cannot be used by another instance, nor can it be dropped. Eventually, after all active transactions have committed, the undo tablespace automatically goes from the PENDING OFFLINE mode to the OFFLINE mode. From then on, the undo tablespace is available for other instances (in an Oracle Real Application Cluster environment).

  • UNDO Tablespace backup- RMAN

    Hi Team/champions,
    I am confused in RMAN full DB backup why UNDO tablespce is included even we include the archive logs also.
    in Short ?
    why UNDO tablespace backup is required while taking RMAN backup ?
    Regards,
    Shitesh Shukla

    if I dont want to include the UNDO tablespce in my backup
    what if I took only database files backup excluding TEMP n UNDONOT an option. You have to include UNDO. 11g has optimization for backing up an Undo tablespace.
    In 10gR2 what you could do is
    1. Create a New Undo Tablespace
    2. Switch to the new Undo Tablespace
    3. verify that the Old Undo Tablespace is no longer in use -- confirm that there are no active transactions in undo segments in it
    4. drop the old Undo tablespace
    5. Run your RMAN Backup
    You run the risks of
    a. Waiting a long time at step 3
    b. ORA-1555s for users after you drop the Undo tablespace in step 4.
    Hemant K Chitale
    http://hemantoracledba.blogspot.com

  • Undo tablespace full even with no active transaction and undo_retention 10s

    The 9.2.0.4 instance is AUM (auto undo management). The undo table space is 50G and is almost full.
    I have set the undo_retention to 10, previously it was 10800 (3hours). I restart the database. Wait quite long time.
    And search on the dba_undo_extents.
    select sum(bytes/(1024*1024*1024)),status from dba_undo_extents d where d.tablespace_name='UNDOTBS2' group by status;
    SUM(BYTES/(1024*1024*1024)) STATUS
    .574447632 EXPIRED
    45.5358887 UNEXPIRED
    It is hard to explain. 10 seconds already passed, at least all the extents should be expired.
    Why so many 45G is still unexpried.
    Is there a bug for undo tablespace? how to fix it.
    It is a rac instance, I am trouble shooting the undo tablespace issues.
    The UNDOTBS2 is for node2 to use.

    If you start the database in exclusive (one instance) mode then the database instance can have only one undo tablespace so I would not expect Oracle to do anything with the undo tablespace for the non-running instance.
    Run you database as normal and generate undo. See if the status changes. If if does that would imply that Oracle does not expire undo unless the undo segments (rbs segments) are accessed. Please post back with results of what you see.
    Between having batch production running on all my databases that use undo tablespaces and the fact we use uniform extent undo tabllespaces I am not in a position to try to duplicate what you are seeing.
    HTH -- Mark D Powell --

  • Switch undo tablespace

    Hello,
    I created a new undo tablespace and have successfully switched the database to use the new undo tablespace. Now I want to drop the old undo tablespace.
    What is the process for me to drop the old undo tablespace?
    Is it drop tablespace undotabsOLD; ? What are the 'gotachas' I should be aware before drop a tablespace that was unsed as an undo tablespace? Thank you in advance.

    undo_retention is not a 'gotcha' in this case,
    according the Oracle document I posted earlier,
    the undo tablespace is ready to be dropped when all active transactions gone. It will not wait for undo_retention
    see following examples,
    --Make a bigger retention just in case
    SQL> show parameter undo
    NAME                                 TYPE        VALUE
    undo_management                      string      AUTO
    undo_retention                       integer     3600
    undo_tablespace                      string      UNDOTBS_01
    -- Now create a new undo
    SQL> CREATE UNDO TABLESPACE undotbs_02
      2   DATAFILE '/u02/oradata/undo/undo2.dbf' SIZE 100M REUSE AUTOEXTEND ON
      3  /
    Tablespace created.
    --  Before we switch make an uncommited transaction on other session
    --  Then
    SQL> ALTER SYSTEM SET UNDO_TABLESPACE = undotbs_02;
    System altered.
    SQL> show parameter undo
    NAME                                 TYPE        VALUE
    undo_management                      string      AUTO
    undo_retention                       integer     3600
    undo_tablespace                      string      UNDOTBS_02
    -- Try to drop UNDOTBS_01
    SQL> drop tablespace UNDOTBS_01 including contents and datafiles
      2  /
    drop tablespace UNDOTBS_01 including contents and datafiles
    ERROR at line 1:
    ORA-30013: undo tablespace 'UNDOTBS_01' is currently in use
    -- Run a query to list PENDING OFFLINE rollback segments
    SQL> SELECT NAME, XACTS "ACTIVE TRANSACTIONS"
      2        FROM V$ROLLNAME, V$ROLLSTAT
      3        WHERE STATUS = 'PENDING OFFLINE'
      4          AND V$ROLLNAME.USN = V$ROLLSTAT.USN;
    NAME                           ACTIVE TRANSACTIONS
    _SYSSMU10$                                       1
    -- Now commit on other session
    SQL> select sysdate from dual
      2  /
    SYSDATE
    2007-06-21 03:49:49
    SQL> SELECT NAME, XACTS "ACTIVE TRANSACTIONS"
      2        FROM V$ROLLNAME, V$ROLLSTAT
       3       WHERE STATUS = 'PENDING OFFLINE'
      4          AND V$ROLLNAME.USN = V$ROLLSTAT.USN;
    NAME                           ACTIVE TRANSACTIONS
    _SYSSMU10$                                       0
    -- Wait a few seconds
    SQL> select sysdate from dual;
    SYSDATE
    2007-06-21 03:50:00
    SQL> SELECT NAME, XACTS "ACTIVE TRANSACTIONS"
      2    FROM V$ROLLNAME, V$ROLLSTAT
      3   WHERE STATUS = 'PENDING OFFLINE'
      4   AND V$ROLLNAME.USN = V$ROLLSTAT.USN;
    no rows selected
    -- NOW, drop the tablespace
    SQL> drop tablespace UNDOTBS_01 including contents and datafiles;
    Tablespace dropped.
    Done

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

  • If I have two undo tablespace, under what situation oracle will use another

    if I have two undo tablespaces, under what situation oracle will use another
    one is default undo tablespace, another is created manually
    will it use it when the default one is full?
    it seem like to be it won't use the second undo tablespace.
    thanks
    Edited by: user11402556 on Jul 3, 2010 2:18 PM

    You can have two Undo Tablespaces created with the CREATE UNDO TABLESPACE syntax.
    However, the current database instance will use the Undo Tablespace specified by the instance level parameter undo_tablespace.
    When you want to switch the datafiles of an undo tablespace from, say, one mount point to another (or when you want to "resize" an undo tablespace that has grown very large for specific one-off / adhoc jobs), you would create another undo tablespace, reset the instance level parameter to the new undo tablespace and wait for a decent interval (e.g. at least undo_retention or autotuned undo retention) before dropping the old undo tablespace.
    So yours is not a hypothetical question. Having two undo tablespaces is a real-world practice -- but the two are concurrently present for only a short duration, while transactions and queries switch from one to the other.
    (In RAC, each database instance must have it's own Undo tablespace as well).
    Hemant K Chitale

Maybe you are looking for

  • Re: error creating domain - need help!

    Hi all, Getting the below error in install logs while configuring Forms/Reports (11.1.2.1) Create Domain fails for missing prerequisites Setting ORACLE_HOME to C:\Ora_MWhome\Ora_FRHome Setting Doracle.config.mode to true Adding c:\tmp\OraInstall2013-

  • How do I add a new IP to the local host file?

    One of the sites I manage has been migrated to a dedicated server. Before changing the nameservers, I need to proof all the pages. To do so, I need to add the new IP number to my local computer local host file. How is that done? OSX 10.9 david

  • Problem in Currency field in Abap Query

    hi.      I have created an additional field for storing the currency type.      Based on some calculations i want to store the currency type into this additonal field.But the problem is that the currency field is not getting displayed in the report t

  • Exception message"no BOM selected"

    Hi Experts,                   In what circumstances is the above error message i.e. "no BOM selected" thrown ? When I am running MD02 for a FG, I am getting this message. This FG has only one SFG as it's component in the BOM. Production version for F

  • How to change language in garageband ?

    hy, How can i change the language from english to french in garageband...the app's language not the partition language.