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

來源:互聯網
上載者:User

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

Oracle Database 11g 預設具備一個系統定義的Moving Window Baseline,該基準對應於 AWR 保留期中的所有 AWR 資料。
 僅可存在一個Moving Window Baseline。
 系統定義的Moving Window Baseline認大小為當前的AWR保留期,即預設為八天。
 
如果要增大Moving Window Baseline,首先需要相應增大AWR保留期。
 AWR保留期和系統定義的Moving Window Baseline的大小是兩個獨立的參數。
 但是AWR保留期必須大於或等於系統定義的Moving Window Baseline的大小。

Oracle AWR報告產生與查看

在CentOS 6.4下安裝Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虛擬機器中安裝步驟

Debian 下 安裝 Oracle 11g XE R2

Oracle AWR報告產生步驟

-----------查看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

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.