调整AWR收集信息的频率

How to Modify Statistics collection by MMON for AWR repository (文档 ID 308450.1)

在10g及以上版本,MMON进程每小时运行一次收集AWR信息,该文档介绍怎样修改默认的信息收集设置
在10g及以上版本,运行下面的存储过程手动修改收集设置:
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS((
retention IN NUMBER DEFAULT NULL,
interval IN NUMBER DEFAULT NULL,
dbid IN NUMBER DEFAULT NULL);



例如:每2小时收集一次AWR,保留2周:
execute dbms_workload_repository.modify_snapshot_settings(interval => 120,retention => 20160);



注意这里的单位是分钟!

可以在运行函数前后分别查询DBA_HIST_WR_CONTRO表来确认修改是否成功。

SQL> select snap_interval,retention from dba_hist_wr_control;
SNAP_INTERVAL
---------------------------------------------------------------------------
RETENTION
---------------------------------------------------------------------------
+00000 01:00:00.0
+00007 00:00:00.0
SQL> execute dbms_workload_repository.modify_snapshot_settings(interval => 120,retention => 20160);
PL/SQL procedure successfully completed.
SQL> select snap_interval,retention from dba_hist_wr_control;
SNAP_INTERVAL
---------------------------------------------------------------------------
RETENTION
---------------------------------------------------------------------------
+00000 02:00:00.0
+00014 00:00:00.0



在11g中,默认的interval=60分钟,默认的retention=8天;
在10g中,默认的interval=60分钟,默认的retention=7天。

在DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(...)中,interval和retention的值都是以分钟为单位来表示的

假如设置了interval=0,那么每110年收集一次统计信息。相当于关闭了AWR自动收集。
execute DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval => 0);














你可能感兴趣的:(Oracle)