AWR需要禁用?这么好的东东。缺省的情况下,AWR是可以使用的,需要耗用一定的sysaux表空间。但涉及到有关AWR相关的调试包(需要li
AWR需要禁用?这么好的东东。缺省的情况下,AWR是可以使用的,需要耗用一定的sysaux表空间。但涉及到有关AWR相关的调试包(需要license)会访问AWR视图或者awr异常又不想更新patch,甚至没有patch可用的情况下,我们可以禁用AWR以及卸载AWR,本文演示了如果禁用AWR功能以及卸载awr相关的数据字典。
1、禁用AWR的目的
If most of the space in the SYSAUX tablespace is consumed by information associated with the Automatic Workload Repository (AWR), the AWR can be disabled or uninstalled, releasing space in the sysaux tablespace. This is specially relevant to customers who do not have a license to use AWR.
2、如何禁用AWR(Oracle 10g and above)
AWR is enabled by default because many database features that are not part of the Diagnostic Pack such as Automatic Segment Advisor and Undo Advisor need information captured in AWR. Use of these features, which implicitly access some AWR views, does not require Diagnostic Pack license.
What is not permitted without the Diagnostic Pack license is direct access by customers of AWR views and reports. Oracle, therefore, recommends that all customers, with or without Diagnostic Pack license, leave AWR enabled so that they can benefit from features that do not require a license but implicitly use AWR. (When running both AWR and Statspack collection on one database, it is advised to schedule the two types of collections at different times. For example, if the AWR takes a snapshot every hour, on the hour, then you could schedule a Statspack snapshot every hour, at the bottom of each hour.)
However, for those users who all the same want to disable AWR, the package DBMS_AWR described below can be instaled and used. The package gives the ability to disable and enable AWR so as not to breaching Diagnostic Pack license terms.
Affected Releases:
All Oracle Database 10g releases and onwards
禁用awr需要下载: dbmsnoawr.plb 文件。
------------------------------------------分割线------------------------------------------
免费下载地址在
用户名与密码都是
具体下载目录在 /2014年资料/9月/12日/禁用与卸载Oracle AWR特性
下载方法见
------------------------------------------分割线------------------------------------------
注意这里的禁用我们指的是完全停用。当然通过设置STATISTICS_LEVEL也可以从一定程度上实现类似的目的。
如果将参数STATISTICS_LEVEL设置为BASIC,下列重要的统计信息将不会被收集。
Automatic Workload Repository (AWR) Snapshots
Automatic Database Diagnostic Monitor (ADDM)
All server-generated alerts
Automatic SGA Memory Management
Automatic optimizer statistics collection
Object level statistics
End to End Application Tracing (V$CLIENT_STATS)
Database time distribution statistics (V$SESS_TIME_MODEL and V$SYS_TIME_MODEL)
Service level statistics
Buffer cache advisory
MTTR advisory
Shared pool sizing advisory
Segment level statistics
PGA Target advisory
Timed statistics
Monitoring of statistics
3、演示禁用AWR
oracle@USDB:~> export ORACLE_SID=HKBO5
oracle@USDB:~> sqlplus / as sysdba
sys@HKBO5> select * from v$version where rownum
BANNER
----------------------------------------------------------------
Oracle Database 10g Release 10.2.0.3.0 - 64bit Production
--查看禁用前awr的使用频率
sys@HKBO5> SELECT name,
2 detected_usages detected,
3 total_samples samples,
4 currently_used used,
5 to_char(last_sample_date,'MMDDYYYY:HH24:MI') last_sample,
6 sample_interval interval
7 FROM dba_feature_usage_statistics
8 WHERE name = 'Automatic Workload Repository';
NAME DETECTED SAMPLES USED LAST_SAMPLE INTERVAL
---------------------------------------------------------------- ---------- ---------- ----- -------------- ----------
Automatic Workload Repository 0 207 FALSE 09112014:00:12 604800
oracle@USDB:~> ll *awr*
-rw-r--r-- 1 oracle oinstall 2369 2014-08-21 17:26 dbmsnoawr.plb
--Author : Leshami
--Blog :
--执行dbmsnoawr.plb,,其实质是添加了一个名为dbms_awr的pkg到当前数据库
sys@HKBO5> @dbmsnoawr.plb
Package created.
Package body created.
sys@HKBO5> exec dbms_awr.disable_awr();
PL/SQL procedure successfully completed.
sys@HKBO5> desc dbms_awr
FUNCTION AWR_ENABLED RETURNS BOOLEAN
FUNCTION AWR_STATUS RETURNS VARCHAR2
PROCEDURE DISABLE_AWR
PROCEDURE ENABLE_AWR
--查看disable后awr的状态,返回值为disable
sys@HKBO5> select dbms_awr.awr_status from dual;
AWR_STATUS
-------------------------------------------------------------
DISABLED
--查询awr的数据字典,发现SNAP_INTERVAL变成了0值
sys@HKBO5> select * from dba_hist_wr_control;