Oracle 10gR2이상에서 Automatic Tuning of Undo_retention Causes Space Problems
Oracle 2011. 8. 11. 11:39Subject: | Automatic Tuning of Undo_retention Causes Space Problems | |||
Doc ID: | Note:420525.1 | Type: | PROBLEM | |
Last Revision Date: | 26-MAY-2008 | Status: | PUBLISHED |
Applies to:
Oracle Server - Enterprise Edition - Version: 10.2 to 11.0This problem can occur on any platform.
Symptoms
Look for:
1.) System Managed Undo
undo_management=auto in init.ora file
2.) Fixed size undo tablespace
SQL> select autoextensible from dba_data_files where tablespace_name='<current_undo_tablespace >'
returns "No" for all the undo tablespace datafiles.
3.) The undo tablespace is already sized such that it always has more than enough space to store all the undo generated within the undo_retention time, and the in-use undo space never exceeds the undo tablespace warning alert threshold (see below for the query to show the thresholds).
4.) The tablespace threshold alerts recommend that the DBA add more space to the undo tablespace:
SQL> select creation_time, metric_value, message_type,reason, suggested_action from dba_outstanding_alerts where object_name='<current_undo_ts>';
returns a suggested action of: "Add space to the tablespace"
Or,
This recommendation has been reported in the past but the condition has now cleared:
SQL> select creation_time, metric_value, message_type, reason, suggested_action, resolution from dba_alert_history where object_name='<current_undo_ts>';
5.) The undo tablespace in-use space exceeded the warning alert threshold at some point in time:
To see the warning alert percentage threshold:
SQL> select object_type, object_name, warning_value, critical_value from dba_thresholds where object_type='TABLESPACE';
To see the (current) undo tablespace percent of space in-use:
SQL> select
((select (nvl(sum(bytes),0))
from dba_undo_extents
where tablespace_name='<current_undo_ts>'
and status in ('ACTIVE','UNEXPIRED')) *100) /
(select sum(bytes)
from dba_data_files
where tablespace_name='<current_undo_ts>')
"PCT_INUSE"
from dual;
Cause
This is due to Bug 5387030 that is fixed in 11.1 version of RDBMS server.Solution
Apply the patch for the Bug 5387030. Check metalink for patch availability for your platform and RDBMS version.
Workaround
There are 3 possible alternate workarounds (any one of these should resolve the problem of the alerts triggering unnecessarily):
1.) Set the autoextend and maxsize attribute of each datafile in the undo ts so it is autoextensible and its maxsize is equal to its current size so the undo tablespace now has the autoextend attribute but does not autoend:
SQL> alter database datafile '<datafile_flename>'
autoextend on maxsize <current_size>;
With this setting, v$undostat.tuned_undoretention is not calculated based on a percentage of the undo tablespace size, instead v$undostat.tuned_undoretention is set to the maximum of (maxquerylen secs + 300) undo_retention specified in init.ora file.
2.) Set the following hidden parameter in init.ora file:
_smu_debug_mode=33554432
or
SQL> Alter system set "_smu_debug_mode" = 33554432;
With this setting, v$undostat.tuned_undoretention is not calculated based on a percentage of the fixed size undo tablespace, instead v$undostat.tuned_undoretention is set to the maximum of (maxquerylen secs + 300) undo_retention specified in init.ora file.
3.) Set the following hidden parameter in init.ora:
_undo_autotune = false
or
SQL> Alter system set "_undo_autotune" = false;
With this setting, v$undostat (and therefore v$undostat.tuned_undoretention) is not maintained and and the undo_retention used is the one specified in init.ora file.
References
Bug 5387030 - AUTOMATIC TUNING OF UNDO_RETENTION CAUSING SPACE PROBLEMS출처 : Oracle Support
alter system set "_IN_MEMORY_UNDO"=false;
Alter system set "_undo_autotune" = false;
'Oracle' 카테고리의 다른 글
DataPump Export (EXPDP) Client Gets UDE-8 ORA-31626 ORA-39086 [ID 549781.1] (3) | 2011.08.11 |
---|---|
Bug 5387030: AUTOMATIC TUNING OF UNDO_RETENTION CAUSING SPACE PROBLEMS (0) | 2011.08.11 |
EXPDP for a large table fails with ORA-1555 (0) | 2011.08.11 |
[Oracle Dictionary] PL/SQL과 Table간의 Dependency 정보 확인 (0) | 2011.02.22 |
Oracle REF CURSOR (0) | 2011.02.18 |