Undo Tablespace Retention gurantee
Hi,
From what I have read about undo Tablespaces ,If Undo Management is AUTO,and Retention is se to say 15 min and retention gurantee is disabled ,Unexpired transactions can be overwritten by the database,If such is the case then undo tablespace should never get filled up.
But I have observed despite these settings,Undo tablespace filling issue still occurs.
Please help me understand this.
Thanks.
Either
1. Your undo tablespace datafile is small (inadequate for the volume of transactions)
OR
2. Oracle is using autotuneundo which causes it to retain Undo for longer than undo_retention period and use the undo tablespace datafile to the fullest.
See Oracle Support notes
"Oracle 10G new feature - Automatic Undo Retention Tuning [ID 311615.1] "
"Bug 5387030 - Automatic tuning of undo_retention causes unusual extra space allocation [ID 5387030.8] "
"Bug 5387030"
Hemant K Chitale
Similar Messages
-
Is there so call "dedicated" UNDO tablespace in Oracle 9i and higher?
Since one of our applicaions needs to process large amounts of data, we have been using a dedicated rollback segment in order to avoid the "snapshot too old" problem.
Recently our DB upgraded to Oracle 9i and DBA asked us to use "undo" tablespace.
Based the Oracle 9i Doc., it only allows to select ONE undo tablespace at a time.
If so, DBA has to make the only UNDO as large as our Cash large transactions
need(adjust the UNDO_RENTION), which inevitably waste lots of space.
Does Oracle 9i allow to have one dedicated UNDO tablespace for large transactions while another one for regular transactions just like we use the old rollback segments.
Thanks in advanceWhy have multiple UNDO tablespaces? You can only use one at a time, and when the other one is not being used, it still consumes storage space.
Spend a little time determining how much undo you need and size undo tablespace and undo retention around those values and you should be able to resolve the problems you are experiencing now.
http://download-east.oracle.com/docs/cd/B10501_01/server.920/a96521/undo.htm#9505 -
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! -
Snapshot too old in a very big undo tablespace
Hi,
I can see the snapshot too old error message in my alert log file.
ORA-01555 caused by SQL statement below (Query Duration=5 sec, SCN: 0x000d.a1e610e5):
It shows that query failed just after its start within 5 seconds. I really dont understand this in the presence of following facts
Current size of my undo tablespace is around 15G and undo retention is 180 minutes and for my environment, oracle recommends to use around 8 G size for undo tablespace if i want to use undo retention to be set for 180 minutes.
I am using oracle 9.2.0.6 and automatic undo management.
Thanks
SalmanCould it be that the ora-1555 is thrown by the statement in the alert log, but is really caused by another statement that has been sitting around since yesterday? Oracle may be trying to make read-consistent some data that the other statement used to have in undo.
I see this all the time if I don't kill off leftover sessions in the middle of the night. Darn users.
Search asktom.oracle.com for the error, many good explanations there and in his books. There are some application coding conditions that can cause this, too.
Also, try doing a full scan of the table - select some arbitrary column without a where statement. This may correct a "delayed block cleanout" condition. Google that for more info if you don't know about it. -
Inactive undo tablespace, still needed?
Dear All,
I am using ORACLE 10.2 database server.
I changed the active undo space from USDOTBS1 to UNDOTBS2 and bring the inactive one to offline (normal mode).. The tablespace UNDOTBS1 is empty. As I read in the documentation an undo table space cannot be put offline if it still contains any data used by ongoing transactions;
However, when some DML statements (completely new transaction) executes, Oracle complains about having no access to the UNDOTBS1, and datafile associated with it. I don’t understand how it is possible since the active undo tables space is UNDOTBS2.
After bringing UNDOTBS1 back online (without making it active), everything works fine.
The error is as follows:So how did you confirm there were no outstanding snapshot dependant transactions against the undo tablespace?
http://stanford.edu/dept/itss/docs/oracle/10g/server.101/b10739/undo.htm
Looking at the section on dropping undo talks about dependant transactions on before snapshots of undo.
"However, since DROP TABLESPACE drops an undo tablespace even if it contains unexpired undo information (within retention period), you must be careful not to drop an undo tablespace if undo information is needed by some existing queries." -
Undo tablespace keeps on growing
We have a 3rd party application running on our oracle(10.2.0.4) database running on 64bit solaris(sparc) machine.
Since few days my undo started going up. I increased the size from 2g to 5g. Still it is at more then 90%levels.
I ran this query to see which session is using maximum undo
SELECT a.sid, b.name, a.value
FROM v$sesstat a, v$statname b
WHERE a.statistic# = b.statistic#
AND a.statistic# = 176
ORDER BY a.value DESC
From this i found the session which is using max undo.
When i query this sid from v$session i see this is inactive
my undo retention is set to 9000 and undo management is auto
how can i check if i have expired undo blocks that are not being used>
Since few days my undo started going up. I increased the size from 2g to 5g. Still it is at more then 90%levels.
I ran this query to see which session is using maximum undo
SELECT a.sid, b.name, a.value
FROM v$sesstat a, v$statname b
WHERE a.statistic# = b.statistic#
AND a.statistic# = 176
ORDER BY a.value DESC
From this i found the session which is using max undo.
When i query this sid from v$session i see this is inactive
my undo retention is set to 9000 and undo management is auto
>
With an UNDO_RETENTION of 2.5 hours set, I am not surprised that you use up to (or even more than) 5g space in the UNDO tablespace! I would even call that moderate.
What is your concern? If you don't have the space for your UNDO tablespace, lower UNDO_RETENTION accordingly. Notice that UNDO_RETENTION is the wish to preserve before images for that long time even if their transaction did already commit. Why have you set it to that (relatively high) value of 2.5 hours?
Kind regards
Uwe
http://uhesse.wordpress.com -
Hi,
We have a production database with size 120GB (DB Version 11.1.0.6), And our UNDO Tablespace size is 30GB.
For the past 4 days the UNDO tablespace utilization is more than 85%.
We have disabled the AUTOEXTEND for the UNDO Tablespace.
So the UNDO RETENTION is dynamically calculated by Oracle itself and the value now is
TUNED_UNDORETENTION
339183
Please suggest how to fix this issue.
Thanks !Hi,
The UNDO Tablespace size is still increasing. We dont have flashnack enabled for our database.
The database is 11.1.0.6 Standard Edition.
TABLESPACE TOTAL_SIZE_IN_MB FREE_SPACE_IN_MB % FREE %USED
UNDOTBS1 32152 4440 14 86.19
USERS 123784 23120 19 81.32
SYSTEM 1536 465 30 69.73
SYSAUX 1024 449 44 56.15
GGS_DATA 2048 1388 68 32.23
We enabled AUTOEXTEND on for one of the datafiles in UNDO Tablespace.
NAME TYPE VALUE
undo_management string AUTO
undo_retention integer 9000
undo_tablespace string UNDOTBS1
select to_char(begin_time, 'DD-MON-RR HH24:MI') begin_time,
to_char(end_time, 'DD-MON-RR HH24:MI') end_time, tuned_undoretention
from v$undostat order by end_time;
BEGIN_TIME END_TIME TUNED_UNDORETENTION
23-DEC-11 18:15 23-DEC-11 18:25 375077
23-DEC-11 18:25 23-DEC-11 18:35 375678
23-DEC-11 18:35 23-DEC-11 18:45 376278
23-DEC-11 18:45 23-DEC-11 18:51 376578
Please let me know how can i reduce the space consumed by UNDO Tablespace. -
Hi ..
My undo tablespace is Growing rapidly from 1gb to 10 gb with an Hour.
Is there any ways to find out which operation Generates More Undo ..
Can i able to restrict it...hi,
there is parameter that control the aging out of undo blocks that leverages size of UNDO tbs:
UNDO_RETENTION
You can guarantee that unexpired undo data is not overwritten even if it means that future operations that need to generate undo data will fail. This is done by specifying the RETENTION GUARANTEE clause for the undo tablespace when it is created by either the CREATE DATABASE or CREATE UNDO TABLESPACE statement. Alternatively, you can later specify this clause in an ALTER TABLESPACE statement.
more: UNDO RETENTION GUARANTEE -
UNDO Tablespace is used to fill frequently
Hi Experts,
We have an issue with the UNDO tablespace frequently,where we dont see the space occupied for any active transactions and i can see only for "Retained for Use by Queries or Flashback" i.e. more than 2000M.
Can any one let me know how to purge this space and to free up the undo tablespace.
FYI -
Oracle Ver:10.2.0.2
OS :SUN OS
Undo Retention : 30 Mins.
Undo tblspace size:3G
undo_management:AUTO
Thanks Much!!
SenthilHi,
I think your undo tablespace contains data for inactice transactions and this is mainly because of higher value of undo_retention parameter.
This space will be overwritten automatically as and when the space will be required by the current transaction.
Thanks,
Navneet -
Undo tablespace utilizes 100 %
hi,
We are using oracle 11.2.0.3.0 on solaris 10 sparc 64 bit. From last week we are facing an issue our undo tablespace got 100 % full , we have add the data files and increase the size upto 300 gb. But after some time it utilizes all the available space and cant release it.
Thanksuser11062519 wrote:
hi,
We are using oracle 11.2.0.3.0 on solaris 10 sparc 64 bit. From last week we are facing an issue our undo tablespace got 100 % full , we have add the data files and increase the size upto 300 gb. any long running batch jobs configured ?what is your undo retention period?
But after some time it utilizes all the available space and cant release it.space cannot release until unless active transaction ends. -
After transaction completed in undo tablespace what would happen? will they
after transaction completed in undo tablespace what would happen?
will they take out of undo tablespace or segment?
please elaborate, thank youHi,
Even, if the transaction is committed, there may remains a need to retain the undo data. For instance, for the long running queries or for the flashback features. In automatic undo management, you may specify the undo retention period, which is the minimum amount of time that Oracle Database attempts to retain old undo information before overwriting it.
One may also enable the retention guarantee, which ensures that the undo data will remain in the undo tablespace, even if that means that the transaction would fail due to lack of space in the undo tablespace.
In addition, also read the following:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/undo.htm
regards -
FLASHBACK OFF FOR UNDO TABLESPACE????
Hi all
As my Undo tablespace growing evryday 2 GB & NOW it reached 19,
Database size is 6GB only
using Oracle 10g Release 2 without patch Set (release 1002000100) on Hp-Unix OS
Can i use the Undo tablespace with FLASHBACK OFF option?
what are the Consequences for Turning off the FLASHBACK,
Can we use this type of Undo tablespace with Flashback OFF???
CREATE UNDO TABLESPACE UNDOTBS03 DATAFILE
'/app/oracle/product/oradata/prod/undotbs03.dbf' SIZE 1000M AUTOEXTEND OFF
ONLINE
RETENTION NOGUARANTEE
BLOCKSIZE 8K
FLASHBACK OFF;
THANKS ALOTOracle Flashback Database: feature is similar to conventional point-in-time recovery in its results, allowing you to return a database to its state at a time in the recent past. It is, however, much faster than point-in-time recovery, because it does not require restoration of datafiles from a backup and it requires application of fewer changes from the archived redo logs.
UNDO Tablespace: Oracle db save the old value when a process change data in undo tablespace.
I think that you can change de default UNDO tablespace as NO AUTOEXTEND, and
Configure
SET UNDO_MANAGEMENT=AUTO
SET UNDO_RETENTION= ( second need for logger transaction )
UNDO_RETENTION specifies (in seconds) the low threshold value of undo retention. For AUTOEXTEND undo tablespaces, the system retains undo for at least the time specified in this parameter, and automatically tunes the undo retention period to satisfy the undo requirements of the queries.
For fixed- size undo tablespaces, the system automatically tunes for the maximum possible undo retention period, based on undo tablespace size and usage history, and ignores UNDO_RETENTION unless retention guarantee is enabled. -
Cacluation of undo tablespace size and retenion
How to calaculate the expected size of the undo tablespace and undo retention parameter from the exisitng data.
The easiest way to calculate undo requirementes is using the undo advisor, it is available in 10g and 9i. This is a graphical tool that lets you know the amount of required undo space according to your generated undo data.
Regards. -
How to estimate undo tablespace size in 11g?
I found someone document said, use this sql to estimate undo tablespace:
select (UR*(UPS*DBS))+(DBS*24) as "bytes" from (select value as UR from v$parameter where name='undo_retention'),(select (sum(undoblks)/sum(((end_time-begin_time)*86400))) as UPS from v$undostat),(select value as DBS from v$parameter where name='db_block_size');
but in my 11g database, the "select value as UR from v$parameter where name='undo_retention'" is 0. so above sql is always get 196608(8192*24)
How to estimate undo tablespace size in 11g?
Thanks very much!for undo segments size you should turn it to be autoextend on as well undo management set to be AUTO
i.e
undo_managment='AUTO'
for retention see that link
Ora-01555, snapshot too old: rollback segment number 2 with name "_SYSSMU1
BTW as hemant stated leave it to be auto which is good approach but make sure enough space on disk has been
dedicated for undo segments are allowed to grow to the size they need to be based on the requested undo_retention.
Khurram -
About snapshot too old and undo tablespace
Hello,
version: 11.1.0.7
environment:
Database A contain some views from several tables located into database B.
When I query the views that join several tables located in a remote database B using a dblink the query intermittently notice me, the following errors:
ORA-12801: error signaled in parallel query server
ORA-01555: snapshot too old: rollback segment number too small
Some times after the I re-execute the query it run without any problems but it is bad because the Developers can not accurately test their app.
The undo tablespace have the following configuration:
guaranteed retention
unlimited
undo_retention is about 7200.
Also the undo tablespace are just using a 4% of total so I think the system should has honor to the old images from my distributed query.
Thank you in advance for your suggestion.user12100209 wrote:
Hello,
version: 11.1.0.7
environment:
Database A contain some views from several tables located into database B.
When I query the views that join several tables located in a remote database B using a dblink the query intermittently notice me, the following errors:
ORA-12801: error signaled in parallel query server
ORA-01555: snapshot too old: rollback segment number too small
Some times after the I re-execute the query it run without any problems but it is bad because the Developers can not accurately test their app.
The undo tablespace have the following configuration:
guaranteed retention
unlimited
undo_retention is about 7200.
Also the undo tablespace are just using a 4% of total so I think the system should has honor to the old images from my distributed query.
Thank you in advance for your suggestion.session reporting ORA-01555 is victim.
some session is doing DML against same table as victim session & doing COMMIT (likely inside LOOP)
Maybe you are looking for
-
EREC: From MSS Requisition request is not coming in Recruter UWL.
hello everyone, we are creating Requisition request in MSS. But Request is not reaching Recruter UWL. We tried to find so many ways to solve this problem. We got to know that there is problem in workflow. we are getting follwoing error. Object CL_HRA
-
What index types do you suggest when you have...
If you have tables A, B, C and they are all partitioned range by created_date where that is a timestamp If nearly all queries can only specify created_date on C only because the B's that belong to A and the C's that belong to B can all be in differen
-
WAD: How to.. Cascading Web Items?
Hello Gurus, I have the following requirement: Using WAD 2004s with IP to build an application, where there are 4 characteristics that need to be showed depending on each other in a cascading way like that: We have the following characteristics, t
-
Import PMI from SolidWorks to PDF 3D
Hi all , I have noticed that PDF 3D (V9 Pro extended)did not import PMI data from Solidworks 2008 is this issue resolved in the new Solidworks's 2009 release (if available)? Thanks Regards
-
How do I make the bass booster the default setting for ALL of my tracks in iTunes?