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

Similar Messages

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

  • ORA-30012: undo tablespace 'UNDOTBS' does not exist or of wrong type

    OS Version : AIX 6.1
    DB Version : 11.2.0.1
    I am duplicating database and got below error:
    contents of Memory Script:
       Alter clone database open resetlogs;
    executing Memory Script
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-00601: fatal error in recovery manager
    RMAN-03004: fatal error during execution of command
    RMAN-10041: Could not re-create polling channel context following failure.
    RMAN-10024: error setting up for rpc polling
    RMAN-10005: error opening cursor
    RMAN-10002: ORACLE error: ORA-03114: not connected to ORACLE
    RMAN-03002: failure of Duplicate Db command at 02/16/2013 17:20:02
    RMAN-03015: error occurred in stored script Memory Script
    RMAN-06136: ORACLE error from auxiliary database: ORA-01092: ORACLE instance terminated. Disconnection forced
    ORA-30012: undo tablespace 'UNDOTBS' does not exist or of wrong type
    Process ID: 44040326
    Session ID: 65 Serial number: 3
    Error is because in target database undo tablespace is UNDOTBS_NEW and in auxiliary database undo tablespace name in init file is UNDOTBS. I followed the meatlink doc 433992.1 which suggest following steps to recover from above error:
    1) edit the parameter UNDO_MANAGEMENT to "MANUAL"
    2) start database again
    3) drop the UNDO tablespace
    4) recreate UNDO tablespace which matches to name in init file.
    5) shutdown & start DB again.
    Now, i edited init file and tried to start DB and got following error:
    oracore@cph-core-db01-s $ sqlplus /nolog
    SQL*Plus: Release 11.2.0.1.0 Production on Sat Feb 16 17:22:11 2013
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    SQL> conn sys as sysdba
    Enter password:
    Connected to an idle instance.
    SQL> startup
    ORACLE instance started.
    Total System Global Area 4275781632 bytes
    Fixed Size                  2213632 bytes
    Variable Size             822085888 bytes
    Database Buffers         3439329280 bytes
    Redo Buffers               12152832 bytes
    Database mounted.
    ORA-01113: file 1 needs media recovery
    ORA-01110: data file 1: '/u04/oradata/CORE/CORE_DUP/system01.dbf'I don't want to run duplicate command with correct UNDO tablespace name. Any other work around for this ?

    STARTUP MOUNT
    RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL
    CANCEL
    ALTER DATABASE OPEN RESETLOGS
    Above option is not working for CORE_DUP, i am getting very strange error, while trying to recover i am getting very strange error as below:
    oracore@cph-core-db01-s $ export ORACLE_SID=CORE_DUP
    SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 18 11:17:25 2013
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    SQL> conn sys as sysdba
    Enter password:
    Connected to an idle instance.
    SQL> startup mount
    ORACLE instance started.
    Total System Global Area 4275781632 bytes
    Fixed Size                  2213632 bytes
    Variable Size             822085888 bytes
    Database Buffers         3439329280 bytes
    Redo Buffers               12152832 bytes
    Database mounted.
    SQL> alter database open resetlogs;
    alter database open resetlogs
    ERROR at line 1:
    ORA-01139: RESETLOGS option only valid after an incomplete database recovery
    SQL> recover database using backup controlfile until cancel;
    ORA-00283: recovery session canceled due to errors
    ORA-16433: The database must be opened in read/write mode.Primary database initfile:
    event="10298 trace name context forever, level 32"
    db_block_size=8192
    db_file_multiblock_read_count=16
    open_cursors=300
    db_name=CORE
    cursor_sharing='SIMILAR'
    global_names=FALSE
    diagnostic_dest=/u01/app/oracore/diag/CORE
    #background_dump_dest=/u01/app/oracore/diag/rdbms/bdump
    #core_dump_dest=/u01/app/oracore/diag/rdbms/cdump
    #user_dump_dest=/u01/app/oracore/diag/rdbms/udump
    control_files=("/u01/oradata/CORE/control01.ctl", "/u02/oradata/CORE/control02.ctl", "/u03/oradata/CORE/control03.ctl")
    log_archive_dest_1='LOCATION=/u05/oradata/CORE/'
    log_archive_format='CORE_%s%t%r.ARC'
    job_queue_processes=10
    compatible=11.2.0.1
    processes=150
    fast_start_mttr_target=300
    filesystemio_options='SETALL'
    pga_aggregate_target=500M
    recyclebin='OFF'
    remote_login_passwordfile='EXCLUSIVE'
    session_cached_cursors=100
    sga_target=4G
    undo_management='AUTO'
    undo_tablespace='UNDOTBS_NEW'
    nls_date_format='DD-MON-RRRR'
    nls_length_semantics='CHAR'initfile for CORE_DUP
    event="10298 trace name context forever, level 32"
    db_block_size=8192
    db_file_multiblock_read_count=16
    open_cursors=300
    db_name=CORE_DUP
    cursor_sharing='SIMILAR'
    global_names=FALSE
    diagnostic_dest=/u01/app/oracore/diag/CORE/CORE_DUP
    control_files=("/u01/oradata/CORE/CORE_DUP/control01.ctl", "/u02/oradata/CORE/CORE_DUP/control02.ctl", "/u03/oradata/CORE/CORE_DUP/control03.ctl")
    log_archive_dest_1='LOCATION=/u05/oradata/CORE/CORE_DUP/'
    log_archive_format='CORE_DUP%s%t%r.ARC'
    job_queue_processes=10
    compatible=11.2.0.1
    _compression_compatibility="11.2.0"
    processes=150
    fast_start_mttr_target=300
    filesystemio_options='SETALL'
    pga_aggregate_target=500M
    recyclebin='OFF'
    remote_login_passwordfile='EXCLUSIVE'
    session_cached_cursors=100
    sga_target=4G
    undo_management='AUTO'
    undo_tablespace='UNDOTBS'
    nls_date_format='DD-MON-RRRR'
    nls_length_semantics='CHAR'
    log_file_name_convert='/CORE','/CORE/CORE_DUP'
    db_file_name_convert='/CORE','/CORE/CORE_DUP'Duplicate steps are as:
    oracore@cph-core-db01-s $ rman target sys/zzzz@core catalog rmantst10/zzzzz@catdb auxiliary /
    Recovery Manager: Release 11.2.0.1.0 - Production on Mon Feb 18 15:50:00 2013
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    connected to target database: CORE (DBID=913972022)
    connected to recovery catalog database
    connected to auxiliary database: CORE_DUP (not mounted)
    RMAN> duplicate target database to CORE_DUP;
    Starting Duplicate Db at 18-FEB-13
    allocated channel: ORA_AUX_DISK_1
    channel ORA_AUX_DISK_1: SID=96 device type=DISK
    allocated channel: ORA_AUX_DISK_2
    channel ORA_AUX_DISK_2: SID=127 device type=DISK
    contents of Memory Script:
       sql clone "create spfile from memory";
    executing Memory Script
    sql statement: create spfile from memory
    contents of Memory Script:
       shutdown clone immediate;
       startup clone nomount;
    executing Memory Script
    Oracle instance shut down
    connected to auxiliary database (not started)
    Oracle instance started
    Total System Global Area    4275781632 bytes
    Fixed Size                     2213632 bytes
    Variable Size                838863104 bytes
    Database Buffers            3422552064 bytes
    Redo Buffers                  12152832 bytes
    contents of Memory Script:
       sql clone "alter system set  db_name =
    ''CORE'' comment=
    ''Modified by RMAN duplicate'' scope=spfile";
       sql clone "alter system set  db_unique_name =
    ''CORE_DUP'' comment=
    ''Modified by RMAN duplicate'' scope=spfile";
       shutdown clone immediate;
       startup clone force nomount
       restore clone primary controlfile;
       alter clone database mount;
    executing Memory Script
    sql statement: alter system set  db_name =  ''CORE'' comment= ''Modified by RMAN duplicate'' scope=spfile
    sql statement: alter system set  db_unique_name =  ''CORE_DUP'' comment= ''Modified by RMAN duplicate'' scope=spfile
    Oracle instance shut down
    Oracle instance started
    Total System Global Area    4275781632 bytes
    Fixed Size                     2213632 bytes
    Variable Size                838863104 bytes
    Database Buffers            3422552064 bytes
    Redo Buffers                  12152832 bytes
    Starting restore at 18-FEB-13
    allocated channel: ORA_AUX_DISK_1
    channel ORA_AUX_DISK_1: SID=96 device type=DISK
    allocated channel: ORA_AUX_DISK_2
    channel ORA_AUX_DISK_2: SID=127 device type=DISK
    channel ORA_AUX_DISK_1: starting datafile backup set restore
    channel ORA_AUX_DISK_1: restoring control file
    channel ORA_AUX_DISK_1: reading from backup piece /oraclebackup/CORE/DF_L1_CORE_16022013_5fo246k3_175_1
    channel ORA_AUX_DISK_1: piece handle=/oraclebackup/CORE/DF_L1_CORE_16022013_5fo246k3_175_1 tag=LEVEL1
    channel ORA_AUX_DISK_1: restored backup piece 1
    channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03
    output file name=/u01/oradata/CORE/CORE_DUP/control01.ctl
    output file name=/u02/oradata/CORE/CORE_DUP/control02.ctl
    output file name=/u03/oradata/CORE/CORE_DUP/control03.ctl
    Finished restore at 18-FEB-13
    database mounted
    contents of Memory Script:
       set until scn  1217601;
       set newname for datafile  1 to
    "/u04/oradata/CORE/CORE_DUP/system01.dbf";
       set newname for datafile  2 to
    "/u04/oradata/CORE/CORE_DUP/sysaux01.dbf";
       set newname for datafile  4 to
    "/u04/oradata/CORE/CORE_DUP/users01.dbf";
       set newname for datafile  5 to
    "/u04/oradata/CORE/CORE_DUP/users02.dbf";
       set newname for datafile  6 to
    "/u04/oradata/CORE/CORE_DUP/users03.dbf";
       set newname for datafile  9 to
    "/u04/oradata/CORE/CORE_DUP/undotbs_new01.dbf";
       restore
       clone database
    executing Memory Script
    executing command: SET until clause
    executing command: SET NEWNAME
    executing command: SET NEWNAME
    executing command: SET NEWNAME
    executing command: SET NEWNAME
    executing command: SET NEWNAME
    executing command: SET NEWNAME
    Starting restore at 18-FEB-13
    using channel ORA_AUX_DISK_1
    using channel ORA_AUX_DISK_2
    channel ORA_AUX_DISK_1: starting datafile backup set restore
    channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
    channel ORA_AUX_DISK_1: restoring datafile 00004 to /u04/oradata/CORE/CORE_DUP/users01.dbf
    channel ORA_AUX_DISK_1: restoring datafile 00005 to /u04/oradata/CORE/CORE_DUP/users02.dbf
    channel ORA_AUX_DISK_1: restoring datafile 00006 to /u04/oradata/CORE/CORE_DUP/users03.dbf
    channel ORA_AUX_DISK_1: reading from backup piece /oraclebackup/CORE/DF_L0_CORE_16022013_55o246fe_165_1
    channel ORA_AUX_DISK_2: starting datafile backup set restore
    channel ORA_AUX_DISK_2: specifying datafile(s) to restore from backup set
    channel ORA_AUX_DISK_2: restoring datafile 00001 to /u04/oradata/CORE/CORE_DUP/system01.dbf
    channel ORA_AUX_DISK_2: restoring datafile 00002 to /u04/oradata/CORE/CORE_DUP/sysaux01.dbf
    channel ORA_AUX_DISK_2: restoring datafile 00009 to /u04/oradata/CORE/CORE_DUP/undotbs_new01.dbf
    channel ORA_AUX_DISK_2: reading from backup piece /oraclebackup/CORE/DF_L0_CORE_16022013_56o246fe_166_1
    channel ORA_AUX_DISK_2: piece handle=/oraclebackup/CORE/DF_L0_CORE_16022013_56o246fe_166_1 tag=LEVEL0
    channel ORA_AUX_DISK_2: restored backup piece 1
    channel ORA_AUX_DISK_2: restore complete, elapsed time: 00:01:15
    channel ORA_AUX_DISK_1: piece handle=/oraclebackup/CORE/DF_L0_CORE_16022013_55o246fe_165_1 tag=LEVEL0
    channel ORA_AUX_DISK_1: restored backup piece 1
    channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:35
    Finished restore at 18-FEB-13
    contents of Memory Script:
       switch clone datafile all;
    executing Memory Script
    datafile 1 switched to datafile copy
    input datafile copy RECID=24 STAMP=807724355 file name=/u04/oradata/CORE/CORE_DUP/system01.dbf
    datafile 2 switched to datafile copy
    input datafile copy RECID=25 STAMP=807724355 file name=/u04/oradata/CORE/CORE_DUP/sysaux01.dbf
    datafile 4 switched to datafile copy
    input datafile copy RECID=26 STAMP=807724356 file name=/u04/oradata/CORE/CORE_DUP/users01.dbf
    datafile 5 switched to datafile copy
    input datafile copy RECID=27 STAMP=807724356 file name=/u04/oradata/CORE/CORE_DUP/users02.dbf
    datafile 6 switched to datafile copy
    input datafile copy RECID=28 STAMP=807724356 file name=/u04/oradata/CORE/CORE_DUP/users03.dbf
    datafile 9 switched to datafile copy
    input datafile copy RECID=29 STAMP=807724356 file name=/u04/oradata/CORE/CORE_DUP/undotbs_new01.dbf
    contents of Memory Script:
       set until scn  1217601;
       recover
       clone database
        delete archivelog
    executing Memory Script
    executing command: SET until clause
    Starting recover at 18-FEB-13
    using channel ORA_AUX_DISK_1
    using channel ORA_AUX_DISK_2
    channel ORA_AUX_DISK_1: starting incremental datafile backup set restore
    channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
    destination for restore of datafile 00001: /u04/oradata/CORE/CORE_DUP/system01.dbf
    destination for restore of datafile 00002: /u04/oradata/CORE/CORE_DUP/sysaux01.dbf
    destination for restore of datafile 00009: /u04/oradata/CORE/CORE_DUP/undotbs_new01.dbf
    channel ORA_AUX_DISK_1: reading from backup piece /oraclebackup/CORE/DF_L1_CORE_16022013_5eo246k2_174_1
    channel ORA_AUX_DISK_2: starting incremental datafile backup set restore
    channel ORA_AUX_DISK_2: specifying datafile(s) to restore from backup set
    destination for restore of datafile 00004: /u04/oradata/CORE/CORE_DUP/users01.dbf
    destination for restore of datafile 00005: /u04/oradata/CORE/CORE_DUP/users02.dbf
    destination for restore of datafile 00006: /u04/oradata/CORE/CORE_DUP/users03.dbf
    channel ORA_AUX_DISK_2: reading from backup piece /oraclebackup/CORE/DF_L1_CORE_16022013_5do246k2_173_1
    channel ORA_AUX_DISK_1: piece handle=/oraclebackup/CORE/DF_L1_CORE_16022013_5eo246k2_174_1 tag=LEVEL1
    channel ORA_AUX_DISK_1: restored backup piece 1
    channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
    channel ORA_AUX_DISK_2: piece handle=/oraclebackup/CORE/DF_L1_CORE_16022013_5do246k2_173_1 tag=LEVEL1
    channel ORA_AUX_DISK_2: restored backup piece 1
    channel ORA_AUX_DISK_2: restore complete, elapsed time: 00:00:01
    starting media recovery
    archived log for thread 1 with sequence 1718 is already on disk as file /u05/oradata/CORE/CORE_17181807276264.ARC
    archived log for thread 1 with sequence 1719 is already on disk as file /u05/oradata/CORE/CORE_17191807276264.ARC
    archived log for thread 1 with sequence 1720 is already on disk as file /u05/oradata/CORE/CORE_17201807276264.ARC
    archived log for thread 1 with sequence 1721 is already on disk as file /u05/oradata/CORE/CORE_17211807276264.ARC
    archived log for thread 1 with sequence 1722 is already on disk as file /u05/oradata/CORE/CORE_17221807276264.ARC
    archived log for thread 1 with sequence 1723 is already on disk as file /u05/oradata/CORE/CORE_17231807276264.ARC
    archived log for thread 1 with sequence 1724 is already on disk as file /u05/oradata/CORE/CORE_17241807276264.ARC
    archived log for thread 1 with sequence 1725 is already on disk as file /u05/oradata/CORE/CORE_17251807276264.ARC
    archived log for thread 1 with sequence 1726 is already on disk as file /u05/oradata/CORE/CORE_17261807276264.ARC
    archived log for thread 1 with sequence 1727 is already on disk as file /u05/oradata/CORE/CORE_17271807276264.ARC
    archived log for thread 1 with sequence 1728 is already on disk as file /u05/oradata/CORE/CORE_17281807276264.ARC
    archived log for thread 1 with sequence 1729 is already on disk as file /u05/oradata/CORE/CORE_17291807276264.ARC
    archived log for thread 1 with sequence 1730 is already on disk as file /u05/oradata/CORE/CORE_17301807276264.ARC
    archived log for thread 1 with sequence 1731 is already on disk as file /u05/oradata/CORE/CORE_17311807276264.ARC
    archived log for thread 1 with sequence 1732 is already on disk as file /u05/oradata/CORE/CORE_17321807276264.ARC
    archived log for thread 1 with sequence 1733 is already on disk as file /u05/oradata/CORE/CORE_17331807276264.ARC
    archived log for thread 1 with sequence 1734 is already on disk as file /u05/oradata/CORE/CORE_17341807276264.ARC
    archived log for thread 1 with sequence 1735 is already on disk as file /u05/oradata/CORE/CORE_17351807276264.ARC
    archived log for thread 1 with sequence 1736 is already on disk as file /u05/oradata/CORE/CORE_17361807276264.ARC
    archived log for thread 1 with sequence 1737 is already on disk as file /u05/oradata/CORE/CORE_17371807276264.ARC
    archived log for thread 1 with sequence 1738 is already on disk as file /u05/oradata/CORE/CORE_17381807276264.ARC
    archived log for thread 1 with sequence 1739 is already on disk as file /u05/oradata/CORE/CORE_17391807276264.ARC
    archived log for thread 1 with sequence 1740 is already on disk as file /u05/oradata/CORE/CORE_17401807276264.ARC
    archived log for thread 1 with sequence 1741 is already on disk as file /u05/oradata/CORE/CORE_17411807276264.ARC
    archived log for thread 1 with sequence 1742 is already on disk as file /u05/oradata/CORE/CORE_17421807276264.ARC
    archived log for thread 1 with sequence 1743 is already on disk as file /u05/oradata/CORE/CORE_17431807276264.ARC
    archived log for thread 1 with sequence 1744 is already on disk as file /u05/oradata/CORE/CORE_17441807276264.ARC
    channel ORA_AUX_DISK_1: starting archived log restore to default destination
    channel ORA_AUX_DISK_1: restoring archived log
    archived log thread=1 sequence=1710
    channel ORA_AUX_DISK_1: reading from backup piece /oraclebackup/CORE/ARC_1HR_CORE_16022013_5jo24jp8_179_1
    channel ORA_AUX_DISK_2: starting archived log restore to default destination
    channel ORA_AUX_DISK_2: restoring archived log
    archived log thread=1 sequence=1711
    channel ORA_AUX_DISK_2: restoring archived log
    archived log thread=1 sequence=1712
    channel ORA_AUX_DISK_2: restoring archived log
    archived log thread=1 sequence=1713
    channel ORA_AUX_DISK_2: restoring archived log
    archived log thread=1 sequence=1714
    channel ORA_AUX_DISK_2: restoring archived log
    archived log thread=1 sequence=1715
    channel ORA_AUX_DISK_2: restoring archived log
    archived log thread=1 sequence=1716
    channel ORA_AUX_DISK_2: restoring archived log
    archived log thread=1 sequence=1717
    channel ORA_AUX_DISK_2: reading from backup piece /oraclebackup/CORE/ARC_1HR_CORE_18022013_5ko296uf_180_1
    channel ORA_AUX_DISK_1: piece handle=/oraclebackup/CORE/ARC_1HR_CORE_16022013_5jo24jp8_179_1 tag=ARC_1HR
    channel ORA_AUX_DISK_1: restored backup piece 1
    channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17101807276264.ARC thread=1 sequence=1710
    channel clone_default: deleting archived log(s)
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17101807276264.ARC RECID=3041 STAMP=807724360
    channel ORA_AUX_DISK_2: piece handle=/oraclebackup/CORE/ARC_1HR_CORE_18022013_5ko296uf_180_1 tag=ARC_1HR
    channel ORA_AUX_DISK_2: restored backup piece 1
    channel ORA_AUX_DISK_2: restore complete, elapsed time: 00:00:08
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17111807276264.ARC thread=1 sequence=1711
    channel clone_default: deleting archived log(s)
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17111807276264.ARC RECID=3042 STAMP=807724362
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17121807276264.ARC thread=1 sequence=1712
    channel clone_default: deleting archived log(s)
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17121807276264.ARC RECID=3043 STAMP=807724363
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17131807276264.ARC thread=1 sequence=1713
    channel clone_default: deleting archived log(s)
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17131807276264.ARC RECID=3044 STAMP=807724367
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17141807276264.ARC thread=1 sequence=1714
    channel clone_default: deleting archived log(s)
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17141807276264.ARC RECID=3048 STAMP=807724367
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17151807276264.ARC thread=1 sequence=1715
    channel clone_default: deleting archived log(s)
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17151807276264.ARC RECID=3046 STAMP=807724367
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17161807276264.ARC thread=1 sequence=1716
    channel clone_default: deleting archived log(s)
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17161807276264.ARC RECID=3045 STAMP=807724367
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17171807276264.ARC thread=1 sequence=1717
    channel clone_default: deleting archived log(s)
    archived log file name=/u05/oradata/CORE/CORE_DUP/CORE_DUP17171807276264.ARC RECID=3047 STAMP=807724367
    archived log file name=/u05/oradata/CORE/CORE_17181807276264.ARC thread=1 sequence=1718
    archived log file name=/u05/oradata/CORE/CORE_17191807276264.ARC thread=1 sequence=1719
    archived log file name=/u05/oradata/CORE/CORE_17201807276264.ARC thread=1 sequence=1720
    archived log file name=/u05/oradata/CORE/CORE_17211807276264.ARC thread=1 sequence=1721
    archived log file name=/u05/oradata/CORE/CORE_17221807276264.ARC thread=1 sequence=1722
    archived log file name=/u05/oradata/CORE/CORE_17231807276264.ARC thread=1 sequence=1723
    archived log file name=/u05/oradata/CORE/CORE_17241807276264.ARC thread=1 sequence=1724
    archived log file name=/u05/oradata/CORE/CORE_17251807276264.ARC thread=1 sequence=1725
    archived log file name=/u05/oradata/CORE/CORE_17261807276264.ARC thread=1 sequence=1726
    archived log file name=/u05/oradata/CORE/CORE_17271807276264.ARC thread=1 sequence=1727
    archived log file name=/u05/oradata/CORE/CORE_17281807276264.ARC thread=1 sequence=1728
    archived log file name=/u05/oradata/CORE/CORE_17291807276264.ARC thread=1 sequence=1729
    archived log file name=/u05/oradata/CORE/CORE_17301807276264.ARC thread=1 sequence=1730
    archived log file name=/u05/oradata/CORE/CORE_17311807276264.ARC thread=1 sequence=1731
    archived log file name=/u05/oradata/CORE/CORE_17321807276264.ARC thread=1 sequence=1732
    archived log file name=/u05/oradata/CORE/CORE_17331807276264.ARC thread=1 sequence=1733
    archived log file name=/u05/oradata/CORE/CORE_17341807276264.ARC thread=1 sequence=1734
    archived log file name=/u05/oradata/CORE/CORE_17351807276264.ARC thread=1 sequence=1735
    archived log file name=/u05/oradata/CORE/CORE_17361807276264.ARC thread=1 sequence=1736
    archived log file name=/u05/oradata/CORE/CORE_17371807276264.ARC thread=1 sequence=1737
    archived log file name=/u05/oradata/CORE/CORE_17381807276264.ARC thread=1 sequence=1738
    archived log file name=/u05/oradata/CORE/CORE_17391807276264.ARC thread=1 sequence=1739
    archived log file name=/u05/oradata/CORE/CORE_17401807276264.ARC thread=1 sequence=1740
    archived log file name=/u05/oradata/CORE/CORE_17411807276264.ARC thread=1 sequence=1741
    archived log file name=/u05/oradata/CORE/CORE_17421807276264.ARC thread=1 sequence=1742
    archived log file name=/u05/oradata/CORE/CORE_17431807276264.ARC thread=1 sequence=1743
    archived log file name=/u05/oradata/CORE/CORE_17441807276264.ARC thread=1 sequence=1744
    media recovery complete, elapsed time: 00:00:33
    Finished recover at 18-FEB-13
    contents of Memory Script:
       shutdown clone immediate;
       startup clone nomount;
       sql clone "alter system set  db_name =
    ''CORE_DUP'' comment=
    ''Reset to original value by RMAN'' scope=spfile";
       sql clone "alter system reset  db_unique_name scope=spfile";
       shutdown clone immediate;
       startup clone nomount;
    executing Memory Script
    database dismounted
    Oracle instance shut down
    connected to auxiliary database (not started)
    Oracle instance started
    Total System Global Area    4275781632 bytes
    Fixed Size                     2213632 bytes
    Variable Size                838863104 bytes
    Database Buffers            3422552064 bytes
    Redo Buffers                  12152832 bytes
    sql statement: alter system set  db_name =  ''CORE_DUP'' comment= ''Reset to original value by RMAN'' scope=spfile
    sql statement: alter system reset  db_unique_name scope=spfile
    Oracle instance shut down
    connected to auxiliary database (not started)
    Oracle instance started
    Total System Global Area    4275781632 bytes
    Fixed Size                     2213632 bytes
    Variable Size                838863104 bytes
    Database Buffers            3422552064 bytes
    Redo Buffers                  12152832 bytes
    sql statement: CREATE CONTROLFILE REUSE SET DATABASE "CORE_DUP" RESETLOGS ARCHIVELOG
      MAXLOGFILES     32
      MAXLOGMEMBERS      4
      MAXDATAFILES      500
      MAXINSTANCES     1
      MAXLOGHISTORY     2298
    LOGFILE
      GROUP  1 ( '/u02/oradata/CORE/CORE_DUP/redo01a.log', '/u03/oradata/CORE/CORE_DUP/redo01b.log' ) SIZE 10 M  REUSE,
      GROUP  2 ( '/u02/oradata/CORE/CORE_DUP/redo02a.log', '/u03/oradata/CORE/CORE_DUP/redo02b.log' ) SIZE 10 M  REUSE,
      GROUP  3 ( '/u02/oradata/CORE/CORE_DUP/redo03a.log', '/u03/oradata/CORE/CORE_DUP/redo03b.log' ) SIZE 10 M  REUSE
    DATAFILE
      '/u04/oradata/CORE/CORE_DUP/system01.dbf'
    CHARACTER SET AL32UTF8
    contents of Memory Script:
       set newname for tempfile  1 to
    "/u04/oradata/CORE/CORE_DUP/temp01.dbf";
       switch clone tempfile all;
       catalog clone datafilecopy  "/u04/oradata/CORE/CORE_DUP/sysaux01.dbf",
    "/u04/oradata/CORE/CORE_DUP/users01.dbf",
    "/u04/oradata/CORE/CORE_DUP/users02.dbf",
    "/u04/oradata/CORE/CORE_DUP/users03.dbf",
    "/u04/oradata/CORE/CORE_DUP/undotbs_new01.dbf";
       switch clone datafile all;
    executing Memory Script
    executing command: SET NEWNAME
    renamed tempfile 1 to /u04/oradata/CORE/CORE_DUP/temp01.dbf in control file
    cataloged datafile copy
    datafile copy file name=/u04/oradata/CORE/CORE_DUP/sysaux01.dbf RECID=1 STAMP=807724423
    cataloged datafile copy
    datafile copy file name=/u04/oradata/CORE/CORE_DUP/users01.dbf RECID=2 STAMP=807724423
    cataloged datafile copy
    datafile copy file name=/u04/oradata/CORE/CORE_DUP/users02.dbf RECID=3 STAMP=807724423
    cataloged datafile copy
    datafile copy file name=/u04/oradata/CORE/CORE_DUP/users03.dbf RECID=4 STAMP=807724423
    cataloged datafile copy
    datafile copy file name=/u04/oradata/CORE/CORE_DUP/undotbs_new01.dbf RECID=5 STAMP=807724423
    datafile 2 switched to datafile copy
    input datafile copy RECID=1 STAMP=807724423 file name=/u04/oradata/CORE/CORE_DUP/sysaux01.dbf
    datafile 4 switched to datafile copy
    input datafile copy RECID=2 STAMP=807724423 file name=/u04/oradata/CORE/CORE_DUP/users01.dbf
    datafile 5 switched to datafile copy
    input datafile copy RECID=3 STAMP=807724423 file name=/u04/oradata/CORE/CORE_DUP/users02.dbf
    datafile 6 switched to datafile copy
    input datafile copy RECID=4 STAMP=807724423 file name=/u04/oradata/CORE/CORE_DUP/users03.dbf
    datafile 9 switched to datafile copy
    input datafile copy RECID=5 STAMP=807724423 file name=/u04/oradata/CORE/CORE_DUP/undotbs_new01.dbf
    contents of Memory Script:
       Alter clone database open resetlogs;
    executing Memory Script
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-00601: fatal error in recovery manager
    RMAN-03004: fatal error during execution of command
    RMAN-10041: Could not re-create polling channel context following failure.
    RMAN-10024: error setting up for rpc polling
    RMAN-10005: error opening cursor
    RMAN-10002: ORACLE error: ORA-03114: not connected to ORACLE
    RMAN-03002: failure of Duplicate Db command at 02/18/2013 15:53:50
    RMAN-03015: error occurred in stored script Memory Script
    RMAN-06136: ORACLE error from auxiliary database: ORA-01092: ORACLE instance terminated. Disconnection forced
    ORA-30012: undo tablespace 'UNDOTBS' does not exist or of wrong type
    Process ID: 3670170
    Session ID: 33 Serial number: 7
    oracore@cph-core-db01-s $

  • 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

  • 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

  • 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

  • Oracle DB : UNDO tablespace filled 99%

    Hi,
    That's not a problem (I hope) but just a question on Livecycle ES DataBase.
    The Undo tablespace set to 4Gb, always filled 99%.
    Is it normal ? is there preconized size for it ? Does we have to maintain it ...
    The LiveCycle configuration is :
    ES (1) version 8.2.1 SP3, Jboss
    Oracle 10g
    The server is running on Windows Server 2003 Ent OS.
    Thank you for your response !

    It very much depends on the tool used to determine the usage of the UNDO tablespace. Many tools do not take into account that the UNDO tablespace and the TEMP tablespace may seem to be full (have correctly formatted blocks) while still having a lot of functional space available inside of those blocks.
    In other words, if the tool calculates the usage in the same way as data tablespaces, it will be reporting the wrong value. Ideally, the UNDO tablespace will always be close to 100% full using traditional calculation.
    Assuming the tool is doing it's calculation correctly, the second thing to note is that UNDO is the core to Oracle Consistent Read mechanism. (Which is, in turn, the core to many of the Flashback techniques.) The UNDO data, which is created at transaction time, must be available after the transaction has committed if a consistent read or flashback is invoked. The more UNDO, the further back in 'time' you can flash back.
    So the correct way to tune the UNDO is to specify the amount of time you require UNDO to exist. And you verify that using the DBA_UNDO_EXTENTS view and the STATUS column. Totally free space in the undo occurs when the STATUS is EXPIRED. If you have no EXPIRED extents, they can not be reused (except in a pinch) and the system will allocate more space to the UNDO tablespace if possible.
    A great reference is the thread at http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:6894817116500
    I am curious - is 4GB UNDO really an issue?

  • 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

  • Tuning UNDO tablespace - 10g

    Hi,
    Currently my undo tablespace is 1GB (data file not set to autoextensible due to filesystem space constraint) and undo retention is 900 seconds.
    I'm facing alot of snapshot too old errors.
    I'm going to increase/tune tablespace size and also undo retention period. from the below query from gv$undostat, shud i set the maximun retention period of undo to the max query length? or only to the max query length there the ora-01555 error happens? how abt the tablespace sizing, how can i estimate.. please advise experts.
    Tuned Undo # Unexpired # Expired ORA-1555 Out-Of-space Max Query
    INST_ID BEGIN_TIME Retention Stolen Reused Error Error Length
    1 07/21/2008 11:12 49564 0 438 0 0 1421
    1 07/21/2008 11:22 2086 173 497 0 5 2022
    1 07/21/2008 11:32 2602 64 65 0 3 1768
    1 07/21/2008 11:42 3118 0 0 0 0 1847
    1 07/21/2008 11:52 3632 3 12 0 0 385
    1 07/21/2008 12:02 4146 2 17 0 0 572
    Tuned Undo # Unexpired # Expired ORA-1555 Out-Of-space Max Query
    INST_ID BEGIN_TIME Retention Stolen Reused Error Error Length
    1 07/21/2008 12:12 4659 57 60 0 0 32
    1 07/21/2008 12:22 5175 47 53 0 0 12
    1 07/21/2008 12:32 5690 0 43 0 0 105
    1 07/21/2008 12:42 6203 0 116 0 0 488
    1 07/21/2008 12:52 6719 0 116 0 0 1088
    1 07/21/2008 13:02 7231 0 330 0 0 1687
    1 07/21/2008 13:12 7743 0 229 0 0 2290
    1 07/21/2008 13:22 8248 13 393 0 0 666
    1 07/21/2008 13:32 8713 278 420 0 0 459
    1 07/21/2008 13:42 9180 170 288 1 0 1058
    1 07/21/2008 13:52 9650 286 335 2 0 1657
    1 07/21/2008 14:02 10141 51 273 2 0 733
    1 07/21/2008 14:12 10610 85 584 0 0 1389
    1 07/21/2008 14:22 10963 89 283 2 0 1716
    1 07/21/2008 14:32 12022 32 264 0 0 1598
    1 07/21/2008 14:42 10783 0 158 0 0 2918
    1 07/21/2008 14:52 11902 0 134 1 0 3519
    1 07/21/2008 15:02 13283 34 658 0 0 4121
    1 07/21/2008 15:12 12044 0 322 0 0 4722
    1 07/21/2008 15:22 2932 5 208 0 0 5322
    1 07/21/2008 15:32 3497 45 398 0 0 6200
    Tuned Undo # Unexpired # Expired ORA-1555 Out-Of-space Max Query
    INST_ID BEGIN_TIME Retention Stolen Reused Error Error Length
    1 07/21/2008 15:42 4071 8 489 0 0 6800
    1 07/21/2008 15:52 4637 386 494 0 5 7402
    1 07/21/2008 16:02 5209 200 812 0 1 7727
    1 07/21/2008 16:12 5775 319 568 1 7 1138
    1 07/21/2008 16:22 6345 3 1220 0 0 1740
    1 07/21/2008 16:32 6858 0 5575 0 0 98
    1 07/21/2008 16:42 7420 4 777 0 0 606
    1 07/21/2008 16:52 7952 32 1344 0 0 604
    1 07/21/2008 17:02 8293 0 6 0 0 43
    576 rows selected.

    Snapshot too old error's most useful solution is to raise the undo tablespace's size. I would raise it anyway, but i think you need to report your manager that you need to upgrade the system, indeed 900 seconds undo retention is not enough to your database.
    Simple logic, growing database, growing sql queries, decreasing or steady hardware and sizes? IMPOSSIBLE.

  • While dropping the old undo tablespace we get an error

    Hello friends ,
    i Cannot drop old undo tablespace. While dropping the old undo tablespace we get an error
    ERROR at line 1:
    ORA-01548: active rollback segment '_SYSSMU77$' found, terminate dropping
    tablespace
    SQL> select tablespace_name, status, segment_name from dba_rollback_segs where status != 'OFFLINE';
    TABLESPACE_NAME STATUS SEGMENT_NAME
    SYSTEM ONLINE SYSTEM
    APPS_UNDO NEEDS RECOVERY _SYSSMU77$
    Please help
    Thanks
    Edited by: Vicky C on Dec 23, 2012 9:23 AM

    Hi peter
    We not using rman backup only cold backup.. i tried using cold backup in ramn block media recovery but that recovery needs archive log
    RMAN> BLOCKRECOVER DATAFILE 158 BLOCK 48829;
    Starting blockrecover at 18-DEC-12
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: sid=437 devtype=DISK
    channel ORA_DISK_1: restoring block(s) from datafile copy /var/undo/undo02.dbf
    starting media recovery
    media recovery failed
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of blockrecover command at 12/18/2012 16:45:11
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01422: exact fetch returns more than requested number of rows
    ORA-00279: change 5975281035000 generated at 12/08/2012 06:00:58 needed for thread 1
    ORA-00289: suggestion : /prod/archlogs/1_465484_683651989.dbf
    ORA-00280: change 5975281035000 for thread 1 is in sequence #465484
    ORA-00278: log file '/prod/archlogs/1_465484_683651989.dbf' no longer needed for this re covery
    we did not have block media recovery needed archivelog
    Regards
    Vignesh C

  • Regarding Maxsize of Undo Tablespace

    Dear expetrs
    While executing a procedure i got error.
    Error In Insertion..ORA-30036: unable to extend segment by 16384 in undo tablesp
    ace 'UNDOTBS1'
    then i increase the size of the Undo Tablespace
    then again i got error.
    ORA-01144: File size (7680000 blocks) exceeds maximum of 4194303 blocks
    plz give me answer as soon as possible.
    thnaks.

    1) resize your datafile to 4194303 * db_block_size
    alter database datafile < path/filename > resize <4194303 * db_block_size> ;
    you find db_block_size by:
    sqlplus /nolog
    SQL> connect / as sysdba
    SQL> show parameter db_block_size
    or by simply have a look in the pfile (init<SID>.ora) in $ORACLE_HOME/dbs
    2) add another file to the undo tablespace:
    SQL>alter tablespace undotbs1 add datafile <path/filename> size <n> M;
    a tablespace may have up to 1022 datafiles.
    hope this helps
    roman

  • Undo tablespace recovery from RMAN backup

    Hi,
    Lets's assume we have RMAN backup and archivelog backups, and now
    my undo tablespace's disk crashed ,how can i recover?
    Can i recover while database is up?
    Thanks,
    Kumar.

    to recover UNDO tablespace from RMAN backup you must shutdown the database and start it in the MOUNT state to recover the missing files as follows
    rman target /
    RUN
    STARTUP MOUNT;
    ALLOCATE CHANNEL ch3 TYPE Disk;
    RESTORE datafile 'c:\u01\prod3\undo01.dbf';
    RECOVER datafile 'c:\u01\prod3\undo01.dbf';
    ALTER DATABASE OPEN;
    RELEASE CHANNEL ch3;
    hope this will help you

  • UNDO tablespace corrupted

    Hi!
    I have been having problems for the past couple days with restarting my database. For some reason when I shutdown, once I start it up again the undo tablespaces is offline and needs to be recovered. When the application tries to connect to the database it gives a "ora-01552 : cannot use system rollback segment for non-system tablespace." I do a recover on that tablespace and bring it back up, and it works fine... until the next restart.. Would anyone have an idea on what's the problem, and what I can do to fix it once and for all?
    Thanks
    Yazil Santoyo

    did you try metalink, there are lot of options / suggestions for your particular error.
    Is your database in Auto undo mode or manual undo?
    Thanks
    Gopal

  • Problem with UNDO tablespace

    Hi guys.
    Our database has 50GB of undo tablespace. I decided to create a second undo tablespace and switch to the new one. Since doing that yesterday, the size of the old undo is 49GB (was thinking that the values will drop to zero) and the new tablespace keeps increasing in size! Its size now is about 20GB. I do have the following question.
    a) If I restart the database, it the value of the old undo going to fall to zero?
    b) undo_retention=86400. Setting this value to a lesser value say 800seconds, it is going to act the performance of the database? Is it going to release the space on the old undo?
    Thanks and any help is appreciated.
    David

    The undo tablespace will not automatically shrink size, since you have a new undo tablespace in place. You can drop the old one if you don't plan to use it.
    Set lower undo_retention will certainly help to contain the undo space usage. However you should query v$undostat and v$rollstat to estimate the amount of undo space required for the current workload then size the undo tablespace accordingly. Turn off the auto extend on undo tablespace.

  • How to recover undo tablespace in 9i

    How can i recover undo tablespace 9i.Can any provide step by step recovery process

    Doc ID 94114.1 on Metalink might be of interest to you

Maybe you are looking for