Oracle 11g 如何修改 AWR 的保留期限小于8天

2014-11-24 17:20:57 · 作者: · 浏览: 0

-----------查看awr 的保留时间,快照间隔:

SQL> select DBID, SNAP_INTERVAL, SNAPINT_NUM, RETENTION from wrm$_wr_control;

DBID SNAP_INTERVAL SNAPINT_NUM RETENTION
---------- -------------------------------------------- -----------
4215476630 +00000 01:00:00.0 3600 +00030 00:00:00.0


SQL> select * from dba_hist_wr_control;

DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- --------------------------------------------------------------------------- --------------------------------------------------------------------------- ----------
4215476630 +00000 01:00:00.0 +00030 00:00:00.0 DEFAULT


SQL> select dbms_stats.get_stats_history_retention from dual;

GET_STATS_HISTORY_RETENTION
---------------------------
31


---------直接修改awr 保留期限为7天

SQL> exec dbms_workload_repository.modify_snapshot_settings(interval=>60, retention=>10080);
BEGIN dbms_workload_repository.modify_snapshot_settings(interval=>60, retention=>10080); END;

*
ERROR at line 1:
ORA-13541: system moving window baseline size (691200) greater than retention (604800)
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 174
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 222
ORA-06512: at line 1


10080=7*24*60*60
691200=8*24*60*60 8天


------------查看当前Moving Window Baseline的值


SQL> col BASELINE_NAME for a30
SQL> select dbid, baseline_name, baseline_type, moving_window_size from dba_hist_baseline;
DBID BASELINE_NAME BASELINE_TYPE MOVING_WINDOW_SIZE
---------- ------------------------------ ------------- ------------------
4215476630 SYSTEM_MOVING_WINDOW MOVING_WINDOW 8


既然知道了原因,解决就很方便了,Modifying the Window Size of the Default Moving Window Baseline


BEGIN
DBMS_WORKLOAD_REPOSITORY.MODIFY_BASELINE_WINDOW_SIZE (
window_size => 5,
dbid => 4215476630);
END;
/

其中要注意:window size必须设置为一个小于或等于AWR设置的保留值。

这时就可以修改awr 快照的保留时间了:


SQL> exec dbms_workload_repository.modify_snapshot_settings(interval=>60, retention=>10080);

PL/SQL procedure successfully completed.


SQL> select * from dba_hist_wr_control;

DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- --------------------------------------------------------------------------- --------------------------------------------------------------------------- ----------
4215476630 +00000 01:00:00.0 +00007 00:00:00.0 DEFAULT