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 -
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.... -
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
RgdsSQL> 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! -
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 ONLINEHi 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 AMHello,
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 -
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 AMI'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 -
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. -
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 -
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
RajeshThe 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.
ThanksHello,
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
-
How to restrict attachment of inactive user IDs for forwarding document.
Dear All, We have some temporary IDs in the system which is now inactive in the system. Now in some applications where users select user IDs at their own for forwarding certain document to someone. Erroneously the sometime select the in active IDs. W
-
I have the new 2011 macbook pro, with lion preinstalled. I want to change the harddrive. I have backed up everything on time machine. when i put my new blank hard drive in will the lion screen startup.How do i get the lion dmg when i am already using
-
what is process pattern in BPM? How many Process Patterns are there namely? Please REPLY urgently?
-
F8 Function Key Not Working In DreamWeaver
No response in the Adobe DreamWeaver forum, so here goes... The F8 function key used to bring up the Files window in DreamWeaver on previous Mac machines, but I'm trying to figure out why it won't on a new installation of Adobe CS3 on a brand new Mac
-
Hi all, Since a couple of days I don't get any sound from my Iphone 4S. Not any of the apps, ipod or phone function will produce any sound. I also tried earplugs and a dockingstation but it doesn't make any difference. The Iphone has been updated to