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

Similar Messages

  • 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

  • How to switch undo tablespace

    Dear all,
    I have created a new undo tablespace named undotbs2, How can i switch all the session use the undotbs2?
    Many sessions are running and using the old undo tablespace named undotbs1.

    user7244870 wrote:
    CKPT wrote:
    Sb has already mentioned links how to manage undo..
    For more reference check this below links.
    http://oracleflash.com/32/Change-or-switch-undo-tablespace-in-Oracle-database.html
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/undo.htm#BABGJBJH
    I can't open the link.
    http://oracleflash.com/32/Change-or-switch-undo-tablespace-in-Oracle-database.html
    Is there a specific reason that you are not willing to read the official doc link?
    http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/logical.htm#CNCPT1079
    Aman....

  • Undo tablespace issue

    Hello,
    I have a question regarding undo tablespace utilization. Currently there are no active transactions, all previous transactions have been commited, there is only one user session on my test database, undo retention is set to 900. I am trying to drop the old undo tablespace (I have created a new one, and switched to it - alter system undo_tablespace= new_undo;) but I get ORA-30013: undo tablespace 'old_undo' is currently in use.
    I have bounced the database, but made no progress. dba_undo_extents stiil have active segments from the old_undo and dba_rollback_segs indicate there are two online segments from the old_undo.
    Why is the old undo being used? WHo is using it?
    Thank you and
    Rgds

    SQL> SELECT * FROM V$VERSION;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE 11.2.0.1.0 Production
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL> select distinct status, segment_name, tablespace_name from dba_undo_extents where status='ACTIVE';
    STATUS SEGMENT_NAME TABLESPACE_NAME
    ACTIVE SYSSMU112241730627$ UNDOTBS8
    ACTIVE SYSSMU161513093487$ UNDOTBS8
    SQL> show parameter undo
    NAME TYPE VALUE
    undo_management string AUTO
    undo_retention integer 900
    undo_tablespace string UNDOTBS11
    Thanks!

  • 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

  • UNDO Tablespace Issue - URGENT

    I had issues with UNDO. Here is what happened -
    SQL> alter tablespace UNDO
    2 add datafile '/oracle/TESTDB/data04/TESTDB_undo_04.db' size 100M autoextend on maxsize 10000M;
    SQL> select file_name,bytes/1024/1024 MB, maxbytes/1024/1024 MMB from dba_data_files where tablespace_name='UNDO';
    FILE_NAME MB MMB
    /oracle/TESTDB/data02/TESTDB_undo_01.dbf 6158 10240
    /oracle/TESTDB/data01/TESTDB_undo_02.dbf 7703 0
    /oracle/TESTDB/data03/TESTDB_undo_03.dbf 7636 0
    /oracle/TESTDB/data04/TESTDB_undo_04.db 100 10000
    But after some time this same query gave me this error -
    SQL> select file_name,bytes/1024/1024 MB, maxbytes/1024/1024 MMB from dba_data_files where tablespace_name='UNDO';
    FILE_NAME MB MMB
    /oracle/TESTDB/data02/TESTDB_undo_01.dbf 6158 10240
    /oracle/TESTDB/data01/TESTDB_undo_02.dbf 7703 0
    /oracle/TESTDB/data03/TESTDB_undo_03.dbf 7636 0
    /oracle/TESTDB/data04/TESTDB_undo_04.db
    Users then started complaining about it.
    Queries like this also started giving us these problems -
    SQL> select file_id,file_name,bytes/1024/1024 MB, maxbytes/1024/1024 MMB,status from dba_data_files where tablespace_name='UNDO';
    select file_id,file_name,bytes/1024/1024 MB, maxbytes/1024/1024 MMB,status from dba_data_files where tablespace_name='UNDO'
    ERROR at line 1:
    ORA-00376: file 67 cannot be read at this time
    ORA-01110: data file 67: '/oracle/TESTDB/data04/TESTDB_undo_04.db'
    Then I though of bouncing the database but then it also giving some problem -
    SQL> shutdown immediate;
    ORA-00376: file 67 cannot be read at this time
    ORA-01110: data file 67: '/oracle/TESTDB/data04/TESTDB_undo_04.db'
    SQL> exit
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    TESTDB - /oracle/TESTDB/data03> sqlplus / as sysdba
    SQL*Plus: Release 11.1.0.7.0 - Production on Fri Jul 30 09:27:24 2010
    Copyright (c) 1982, 2008, Oracle. All rights reserved.
    Connected.
    SQL> shutdown abort;
    ORACLE instance shut down.
    SQL> startup;
    ORACLE instance started.
    Total System Global Area 4175568896 bytes
    Fixed Size 2160352 bytes
    Variable Size 3137341728 bytes
    Database Buffers 1023410176 bytes
    Redo Buffers 12656640 bytes
    Database mounted.
    ORA-00376: file 67 cannot be read at this time
    ORA-01110: data file 67: '/oracle/TESTDB/data04/TESTDB_undo_04.db'
    Thought of recovering the this tablespace but still getting this error -
    RMAN> recover tablespace "UNDO";
    Starting recover at 30-JUL-10
    starting full resync of recovery catalog
    full resync complete
    allocated channel: ORA_SBT_TAPE_1
    channel ORA_SBT_TAPE_1: SID=278 device type=SBT_TAPE
    channel ORA_SBT_TAPE_1: Data Protection for Oracle: version 5.5.1.0
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=277 device type=DISK
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of recover command at 07/30/2010 09:34:17
    ORA-00376: file 67 cannot be read at this time
    ORA-01110: data file 67: '/oracle/TESTDB/data04/TESTDB_undo_04.db'
    Will greatly appreciate if someone can give some advice here.

    TESTDB - /oracle/TESTDB/data04> ls -ltr
    total 25751072
    drwxr-xr-x 2 oracle dba 256 Apr 9 10:09 lost+found
    -rw-r----- 1 oracle dba 104865792 Jul 30 09:08 TESTDB_undo_04.db
    -rw-r----- 1 oracle dba 104865792 Jul 30 09:50 TESTDB_paipas_idx_256k_a_01
    -rw-r----- 1 oracle dba 104865792 Jul 30 09:50 TESTDB_cmwdgt_tab_1m_a_01
    -rw-r----- 1 oracle dba 104865792 Jul 30 09:50 TESTDB_cmwdgt_idx_256k_a_01
    -rw-r----- 1 oracle dba 104865792 Jul 30 09:50 TESTDB_cmpcc_idx_256k_a_01
    -rw-r----- 1 oracle dba 232792064 Jul 30 09:50 TESTDB_cmcap_tab_1m_a_01
    -rw-r----- 1 oracle dba 104865792 Jul 30 09:50 TESTDB_cmcap_idx_256k_a_01
    -rw-r----- 1 oracle dba 504373248 Jul 30 09:50 TESTDB_cctlrpt_tab_1m_a_01
    -rw-r----- 1 oracle dba 1356865536 Jul 30 09:50 TESTDB_ccstgrpt_tab_1m_a_01
    -rw-r----- 1 oracle dba 4481622016 Jul 30 09:50 TESTDB_ccoprpt_tab_1m_a_01
    -rw-r----- 1 oracle dba 653271040 Jul 30 09:50 TESTDB_ccindrpt_idx_256K_a_01
    -rw-r----- 1 oracle dba 2752520192 Jul 30 09:50 TESTDB_cccnv_tab_1m_a_02.dbf
    -rw-r----- 1 oracle dba 168828928 Jul 30 09:50 TESTDB_ccadmrpt_tab_1m_a_01
    -rw-r----- 1 oracle dba 104865792 Jul 30 09:50 TESTDB_cmwos_idx_256k_a_01
    -rw-r----- 1 oracle dba 104865792 Jul 30 09:50 TESTDB_cmgcd_idx_256k_a_01
    -rw-r----- 1 oracle dba 104865792 Jul 30 09:50 TESTDB_cmfos_idx_256k_a_01
    -rw-r----- 1 oracle dba 247472128 Jul 30 09:52 TESTDB_cmpcc_tab_1m_a_01
    -rw-r----- 1 oracle dba 104865792 Jul 30 09:53 TESTDB_cmpe_tab_1m_a_01
    -rw-r----- 1 oracle dba 104865792 Jul 30 09:53 TESTDB_cmpe_idx_256k_a_01
    -rw-r----- 1 oracle dba 104865792 Jul 30 09:54 TESTDB_cmgcd_tab_1m_a_01
    -rw-r----- 1 oracle dba 247472128 Jul 30 09:57 TESTDB_cmwos_tab_1m_a_01
    -rw-r----- 1 oracle dba 364912640 Jul 30 09:58 TESTDB_cmfos_tab_1m_a_01
    -rw-r----- 1 oracle dba 916004864 Jul 30 09:58 TESTDB_sysaux_02.dbf

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

  • 2 Undo Tablespace both ONLINE, How to drop previous undo tbs

    Hello Team,
    Undo management=auto
    After Cloning :-
    To reclaim space i created another undo tablespace, but now both are online, but as per oracle as soon as you switch undo tablespace, previous undo TBS gets in Pending offline mode,offline mode, (So that transaction get finished)
    But in my case Both UNDO Tablespaces are online
    Previous Undo TBS1:- 600 GB
    New UNDo Tb2s:- 100GB
    Please suggest how to drop this online undo TBS1
    TABLESPACE_NAME ONLINE_
    APPS_UNDOTS1 ONLINE
    APPS_UNDOTS1 ONLINE
    APPS_UNDOTS1 ONLINE
    APPS_UNDOTS1 ONLINE
    APPS_UNDOTS1 ONLINE
    APPS_UNDOTS1 ONLINE
    APPS_UNDOTS1 ONLINE
    APPS_UNDOTS1 ONLINE
    APPS_UNDOTS1 ONLINE
    APPS_UNDOTS2 ONLINE
    APPS_UNDOTS2 ONLINE
    TABLESPACE_NAME ONLINE_
    APPS_UNDOTS2 ONLINE

    Hi As per
    select segment_name,owner,tablespace_name,status from dba_rollback_segs where tablespace_name like 'UNDOTBS1';
    All Are offline for UNDOTBS1(Previous)
    SEGMENT_NAME OWNER TABLESPACE_NAME STATUS
    SYSSMU49861044602693$ PUBLIC APPS_UNDOTS1 OFFLINE
    SYSSMU4893847838046$ PUBLIC APPS_UNDOTS1 OFFLINE
    SYSSMU48682660477388$ PUBLIC APPS_UNDOTS1 OFFLINE
    SYSSMU47753309457002$ PUBLIC APPS_UNDOTS1 OFFLINE
    SYSSMU47131240212364$ PUBLIC APPS_UNDOTS1 OFFLINE
    434 rows selected.

  • Move an undo tablespace datafile while online

    Having a spirited debate at work today. Is it possible, or has anyone successfully moved an undo tablespace datafile while keeping the database online? (Hypothetically someone created it in the wrong directory)
    My logic:
    Create a new undo tablespace B
    Switch undo tablespace from A to B
    Take tablespace A offline
    Once A goes from 'PENDING OFFLINE' to 'OFFLINE' copy the file to new location
    Alter database rename file location
    Switch undo tablespace from B to A
    Drop tablespace B
    Any comments?

    Yes I do understood that, but you don't have to "move" the datafile.
    The procedure I proposed is just to create a new undo tablespace, drop the former and forget about it.
    You can't "move" the file stricto sensu while the database is online, but nothing prevents you from switching from one tablespace to another. Once it's done, everything's fine. And if you're on 10G (r2?) you might even rename tablespace "B" to tablespace "A"!
    Yoann.

  • "Undo Tablespace X moved to Pending Switch-Out state."

    Hi,
    The alert.log is recorded several '"Undo Tablespace X moved to Pending Switch-Out state." notifications after UNDOTBS2 was created and brought ONLINE along with UNDOTBS1. UNDOTBS2 is now the default UNDO.
    I understand that the notification is because of the "PENDING OFFLINE" state of the rollback segment which has the active transactions.
    I ran the following query as per Metalink Doc 341372.1:
    We are now having performance issues, could the sessions showing up from the query above be contributing to performance bottlenecks?
    Please advise as this is high intensity production database.
    Thanks and Regards,
    A
    Edited by: 850391 on Apr 16, 2011 12:22 AM

    Hello,
    The alert.log is recorded several '"Undo Tablespace X moved to Pending Switch-Out state." notifications after UNDOTBS2 was created and brought ONLINE along with UNDOTBS1. UNDOTBS2 is now the default UNDO.Why did you have to create a second UNDO Tablespace ?
    We are now having performance issuesDid you have this performance issues before or after you have switched to UNDOTBS2 ?
    If you killed the sessions which were using the former UNDO tablespace UNDOTBS1, then now some Transactions may be rollbacking.
    If these Transactions were rather heavy, it can be ressource consuming to Rollback them.
    It's just an assumption, as previously posted, you may use AWR or STATSPACK to see better what it's happening.
    Hope this help.
    Best regards,
    Jean-Valentin

  • Cannot drop undo tablespace

    Hello:
    I've created a new undo tablespace undotbs2. I've set it to the default undo tablespace. When I've tried to drop the old one, I get the following error:
    SQL> conn / as sysdba
    Connected.
    SQL> DROP TABLESPACE undotbs1 INCLUDING CONTENTS AND DATAFILES;
    DROP TABLESPACE undotbs1 INCLUDING CONTENTS AND DATAFILES
    ERROR at line 1: ORA-01548: active rollback segment '_SYSSMU7$' found, terminate dropping tablespace
    This is a production database. The service is down because the partition with the Oracle tablespaces: system, undo, temp, etc is full.
    After shutting down the database the problem persist: I cannot drop the old undo tablespace because of the same error.
    I've followed the note 1321093.1. Here the query results:
    Select segment_name, status, tablespace_name, rs.segment_id
    from dba_rollback_segs rs
    where status not in ('ONLINE','OFFLINE');
    _SYSSMU7$ PARTLY AVAILABLE UNDOTBS1 7
    SELECT KTUXEUSN, KTUXESLT, KTUXESQN, /* Transaction ID */ KTUXESTA Status, KTUXECFL Flags
    FROM x$ktuxe
    WHERE ktuxesta !='INACTIVE' AND ktuxeusn =7;
    7 47 382687 ACTIVE DEAD
    SELECT LOCAL_TRAN_ID,GLOBAL_TRAN_ID,STATE,MIXED,COMMIT# FROM DBA_2PC_PENDING;
    No rows
    SELECT LOCAL_TRAN_ID,IN_OUT,DATABASE,INTERFACE FROM dba_2pc_neighbors;
    No rows
    As you can see, there is no pending transactions. No application is connected to the database (service is down), however the database is appling rollbacks since 2 days.
    A lot of archivelogs are being created at rolling back (30 GB archivelogs per hour). Here a tail of the alertlog file:
    Wed Apr 17 06:19:53 2013
    Thread 1 advanced to log sequence 7382
    Current log# 5 seq# 7382 mem# 0: /ora2/origlogs/webfrbr/redo05_m1.log
    Current log# 5 seq# 7382 mem# 1: /ora3/mirrorlogs/webfrbr/redo05_m2.log
    Wed Apr 17 06:21:16 2013
    Thread 1 advanced to log sequence 7383
    Current log# 6 seq# 7383 mem# 0: /ora2/origlogs/webfrbr/redo06_m1.log
    Current log# 6 seq# 7383 mem# 1: /ora3/mirrorlogs/webfrbr/redo06_m2.log
    Wed Apr 17 06:22:41 2013
    Thread 1 advanced to log sequence 7384
    Current log# 4 seq# 7384 mem# 0: /ora2/origlogs/webfrbr/redo04_m1.log
    Current log# 4 seq# 7384 mem# 1: /ora3/mirrorlogs/webfrbr/redo04_m2.log
    Wed Apr 17 06:24:02 2013
    Thread 1 advanced to log sequence 7385
    Current log# 5 seq# 7385 mem# 0: /ora2/origlogs/webfrbr/redo05_m1.log
    Current log# 5 seq# 7385 mem# 1: /ora3/mirrorlogs/webfrbr/redo05_m2.log
    Wed Apr 17 06:25:24 2013
    Thread 1 advanced to log sequence 7386
    Current log# 6 seq# 7386 mem# 0: /ora2/origlogs/webfrbr/redo06_m1.log
    Current log# 6 seq# 7386 mem# 1: /ora3/mirrorlogs/webfrbr/redo06_m2.log
    Wed Apr 17 06:26:46 2013
    Thread 1 advanced to log sequence 7387
    Current log# 4 seq# 7387 mem# 0: /ora2/origlogs/webfrbr/redo04_m1.log
    Current log# 4 seq# 7387 mem# 1: /ora3/mirrorlogs/webfrbr/redo04_m2.log
    Oracle Database - Enterprise Edition 10.2.0.3
    Linux x86-64 Oracle Linux 5
    Please, consider the output of the following queries too:
    select * from V$FAST_START_TRANSACTIONS
    USN 7 -- Undo segment number of the transaction
    SLT 47 -- Slot within the rollback segment
    SEQ 382687 -- Incarnation number of the slot
    STATE RECOVERING --
    UNDOBLOCKSDONE 0 -- Number of undo blocks completed on the transaction
    UNDOBLOCKSTOTAL 2079151 -- Total number of undo blocks that need recovery
    PID 15 -- ID of the current server it has been assigned to
    CPUTIME 1153 -- Time for which recovery has progressed (in seconds)
    PARENTUSN 0 -- Undo segment number of the parent transaction in PDML
    PARENTSLT 0 -- Slot of the parent transaction in PDML
    PARENTSEQ 0 -- Sequence number of the parent transaction in PDML
    XID 07002F00DFD60500 -- Transaction ID
    PXID 0000000000000000 -- Parent transaction ID
    RCVSERVERS 1 -- Number of servers used in the last recovery
    select * from x$ktuxe where ktuxecfl = 'DEAD';
    ADDR 00002B3E808B9BD8
    INDX 145
    INST_ID 1
    KTUXEUSN 7
    KTUXESLT 47
    KTUXESQN 382687
    KTUXERDBF 2
    KTUXERDBB 2080076
    KTUXESCNB 424110769
    KTUXESCNW 0
    KTUXESTA ACTIVE
    KTUXECFL DEAD
    KTUXEUEL 3739
    KTUXEDDBF 0
    KTUXEDDBB 0
    KTUXEPUSN 0
    KTUXEPSLT 0
    KTUXEPSQN 0
    KTUXESIZ 2079151
    select * from v$fast_start_servers;
    RECOVERING 0 15 07002F00DFD60500
    IDLE 0 16 0000000000000000
    IDLE 0 17 0000000000000000
    IDLE 0 18 0000000000000000
    IDLE 0 19 0000000000000000
    IDLE 0 20 0000000000000000
    IDLE 0 21 0000000000000000
    IDLE 0 22 0000000000000000
    IDLE 0 25 0000000000000000
    IDLE 0 26 0000000000000000
    IDLE 0 27 0000000000000000
    IDLE 0 28 0000000000000000
    IDLE 0 29 0000000000000000
    IDLE 0 30 0000000000000000
    IDLE 0 31 0000000000000000
    IDLE 0 32 0000000000000000
    Any ideas to solve this issue?
    Thank you in advance
    Edited by: albrotar on Apr 17, 2013 1:48 AM
    Edited by: albrotar on Apr 17, 2013 1:49 AM
    Edited by: albrotar on Apr 17, 2013 1:51 AM
    Edited by: albrotar on Apr 17, 2013 1:52 AM
    Edited by: albrotar on Apr 17, 2013 1:54 AM

    I've found some errors in alert log file occurred at shutting down the database:
    +...+
    Control autobackup written to DISK device
    handle '/orabck/rman/webfrbr/ora_cfc-3587726327-20130414-00'
    Completed: CREATE UNDO TABLESPACE undotbs2 DATAFILE '/orabck/undo/undotbs02.dbf'
    SIZE 500M reuse autoextend ON NEXT 5M maxsize 32767M
    Sun Apr 14 15:46:43 2013
    Successfully onlined Undo Tablespace 5.
    Undo Tablespace 1 moved to Pending Switch-Out state.
    *** active transactions found in undo tablespace 1 during switch-out.
    Sun Apr 14 15:46:44 2013
    ALTER SYSTEM SET undo_tablespace='UNDOTBS2' SCOPE=BOTH;
    Sun Apr 14 16:11:42 2013
    ALTER ROLLBACK SEGMENT "_SYSSMU7$" offLINE
    Sun Apr 14 16:11:42 2013
    Completed: ALTER ROLLBACK SEGMENT "_SYSSMU7$" offLINE
    Sun Apr 14 16:12:36 2013
    DROP TABLESPACE undotbs1 INCLUDING CONTENTS AND DATAFILES
    Sun Apr 14 16:12:36 2013
    +...+
    Thread 1 advanced to log sequence 5107
    Current log# 4 seq# 5107 mem# 0: /ora2/origlogs/webfrbr/redo04_m1.log
    Current log# 4 seq# 5107 mem# 1: /ora3/mirrorlogs/webfrbr/redo04_m2.log
    Sun Apr 14 19:00:28 2013
    Stopping background process CJQ0
    Sun Apr 14 19:00:29 2013
    Stopping background process QMNC
    Sun Apr 14 19:00:31 2013
    Stopping background process MMNL
    Sun Apr 14 19:00:32 2013
    Stopping background process MMON
    Sun Apr 14 19:00:34 2013
    Shutting down instance (immediate)
    License high water mark = 31
    Sun Apr 14 19:00:34 2013
    Stopping Job queue slave processes
    Sun Apr 14 19:00:34 2013
    Job queue slave processes stopped
    All dispatchers and shared servers shutdown
    Sun Apr 14 19:00:42 2013
    ALTER DATABASE CLOSE NORMAL
    Sun Apr 14 19:04:28 2013
    +...+
    Thread 1 advanced to log sequence 5118
    Current log# 6 seq# 5118 mem# 0: /ora2/origlogs/webfrbr/redo06_m1.log
    Current log# 6 seq# 5118 mem# 1: /ora3/mirrorlogs/webfrbr/redo06_m2.log
    Sun Apr 14 20:11:21 2013
    Errors in file /ora1/admin/webfrbr/bdump/webfrbr_smon_4629.trc:
    +ORA-07445: exception encountered: core dump [_intel_fast_memcpy.A()+10] [SIGSEGV] [Invalid permissions for mapped object] [0x2B6B66003000] [] []+*
    Sun Apr 14 20:11:21 2013
    Errors in file /ora1/admin/webfrbr/bdump/webfrbr_smon_4629.trc:
    ORA-00600: internal error code, arguments: [999], [0x107C14015], [], [], [], [], [], []*
    +ORA-07445: exception encountered: core dump [_intel_fast_memcpy.A()+10] [SIGSEGV] [Invalid permissions for mapped object] [0x2B6B66003000] [] []+*
    Sun Apr 14 20:11:22 2013
    +...+
    Sun Apr 14 20:11:48 2013
    Errors in file /ora1/admin/webfrbr/bdump/webfrbr_pmon_4617.trc:
    ORA-00474: SMON process terminated with error
    Sun Apr 14 20:11:48 2013
    +...+
    The instance could start up, but after this, it is recovering undo and generating redo since 2 days

  • Dropping Undo Tablespace

    Hi,
    I am running Oracle 9.2 on Solaris. I have Automatic undo management turned on and have a Undo tablespace by name UNDOTBS. It has a single datafile and has AUTOEXTEND feature turned on. My UNDO_RETENTION was set to 4 hours.
    Presently, the size of UNDOTBS has grown to around 40G and has filled up the file system in which it resides. I need to clean up the file system. In order to do this, I followed the below procedure.
    SQL> create undo tablespace UNDOTBS1 datafile '/u04/oradata/proddb/undo_00.dbf' size 1024M autoextend off;
    SQ> alter system set undo_tablespace=undotbs1 scope=both;
    SQL> alter system set undo_retention=3600 scope=both;
    Now, i checked the alert log and it is offlining all the UNDO segments of the first undo tablespace UNDOTBS. It is taking time and has been more than 1.5 hours. I have a couple of questions here,
    1. As i have issued "alter system undo_tablespace=undotbs1 scope=both", all the new transactions will use the new UNDOTBS1. No new transactions will be using the first undo tablespace UNDOTBS right?
    2. Since, i have issued "alter system undo_retention=3600 scope=both", all the transactions in first undo tablespace UNDOTBS will be rolled back after 2 hours, no matter if it is commited or not. After this period, i am safe to drop the first undo tablespace using "drop tablespace UNDOTBS including contents and datafiles;". Did i get it right?
    Any information will be of a great help.
    THanks,
    Harris.

    Hi,
    Thank you all for the replies. It has been two days since i switched the undo_tablespace to use the new tablespace(undotbs1) but my alert log is still being flooded with " Undo tablespace 1 moved to pending switch out state". I tried the following to see if there are any rows returne from the above query and it did 3 rows, showing some undo segments with the following output
    SQL> select a.name, b.status from v$rollname a, v$rollstat b where a.name in (select segment_name from dba_segments where tablespace_name='UNDOTBS') and a.usn=b.usn;
    Name Status
    _SYSSMU15$      UNKNOWN
    _SYSSMU33$      UNKNOWN
    _SYSSMU9$        PENDING OFFLINE
    I have seen gone through the metalink id: 341372.1 that speaks about this SWITCH-OUT state. How can i make sure what old transactions are still using the Undo segments in first undo tablespace and how can i go about killing them. Could anyone please let me know that i could use the following queries to find the correct sessions that are using the Old Undo tablespace.
    SQL> select ADDR, XIDUSN,STATUS, START_TIME from v$transaction;
    SQL> SELECT
    a.usn,
    a.name,
    b.status,
    c.tablespace_name,
    d.addr,
    e.sid,
    e.serial#,
    e.username,
    e.program,
    e.machine,
    e.osuser
    FROM
    v$rollname a,
    v$rollstat b,
    dba_rollback_segs c,
    v$transaction d,
    v$session e
    WHERE
    a.usn=b.usn AND
    a.name=c.segment_name AND
    a.usn=d.xidusn AND
    d.addr=e.taddr AND
    b.status='PENDING OFFLINE';
    Just wanted to make sure that the second query lists the PENDING OFFLINE segments of the first tablespace right?
    This is a prod. box, so wanted to confirm with you guys before proceeding.
    Thanks,
    Harris.

  • UNDO tablespace getting full

    My undo tablespace is getting full because of uncommited deletes performed by jdbc thin client sessions.
    How can I solve this problem permanently?
    Size of undo tablespace is 5.5GB
    I am facing an undo tablespace full issue
    Below are the sessions which maybe causing the problem.
    select s.sid,
    s.serial#,
    s.sql_id,
    s.prev_sql_id,
    s.SCHEMANAME ,
    s.OSUSER ,
    s.program,
    USED_UBLK,USED_UREC from v$session s, v$transaction t where s.taddr=t.addr order by USED_UREC;
    3909 30842 fgcp0qn1bqzx9 XLTDB5 xltwrk5 JDBC Thin Client 504 45257
    5133 53593 fgcp0qn1bqzx9 XLTDB5 xltwrk5 JDBC Thin Client 07 54482
    4525 35108 fgcp0qn1bqzx9 XLTDB10 xltwrk10 JDBC Thin Client 2381 192853
    4428 38484 fgcp0qn1bqzx9 XLTDB1 xltwrk1 JDBC Thin Client 8682 634540
    For this sql id :fgcp0qn1bqzx9 there are more than 14k executions per hour.
    Below is the query for this sql id:
    /* TJAPI_SubTrxTransient_deleteTrb1SubTrxTransient_0 */ DELETE FROM TRB1_SUB_TRX_TRANSIENT
    Some other details
    ++++++++++++
    Oravle version:11.1.0.7
    OS:SunOS
    ++++++++++++

    Perhaps an interesting link:
    http://oracledisect.blogspot.com/2008/05/who-is-using-your-undo-space.html
    Perhaps you can use Oracle Resource Manager, create a resource plan and switch sessions to a different consumer group once they reach a certain treshold.
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/dbrm004.htm
    Btw are these distributed transactions?
    DBA commit other session's transaction?
    Edited by: Markus Waldorf on Sep 9, 2010 7:57 PM

  • 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 grew 15GB +

    Hi Guys,
    During one of the processes my UNDO tablespace grew to 15GB(reached it's limit) and it keeps growing. I have made the size to 20GB and it going to fill that too. Can someone suggest a way to fix this issue? Can I create a new TS and drop the old one something like this:
    CREATE SMALLFILE UNDO TABLESPACE "UNDOTBS2" DATAFILE 'D:\ORACLE\ORADATA\NGS1\UNDOTBS02.DBF' SIZE 200M REUSE
    alter system set undo_tablespace = undotbs2
    DROP TABLESPACE UNDOTBS1
    If I drop the old UNDO tablespace do I have to follow some prerequisite for example set undo_retention=0 etc. Please let me know.
    Thanks

    Hello,
    Even if the transaction is commited the Undo Tablespace can keep Undo records ( you have the
    parameter undo_retention ).
    When you create a new Undo tablespace then, you have to switch the database to it by
    using the parameter undo_tablespace.
    This is a dynamic parameter but, I use to restart the database so as to be sure that the old
    undo tablespace is not used anymore. So that I can drop it.
    Of course the database should be shutdown cleanly so that there's no transaction to rollback when
    you start it up.
    Best regards,
    Jean-Valentin

Maybe you are looking for