ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle 11g 关于 AWR 的参数设置

Oracle 11g 关于 AWR 的参数设置

原创 Linux操作系统 作者:golden_zhou 时间:2013-01-08 11:08:03 0 删除 编辑
Oracle 11g 关于 AWR 的参数设置
参考文档:
http://foxmile.blog.163.com/blog/static/81169805201110332258896/
http://zxf261.blog.51cto.com/701797/762046

--设置 AWR 收集频率:每30分钟一次
exec dbms_workload_repository.modify_snapshot_settings(INTERVAL  =>30);
--设置 AWR 快照保留天数:每次保留3天
exec dbms_workload_repository.modify_snapshot_settings(retention => 3 * 24 * 60);
--设置 AWR 捕获的SQL数量:每次100条
exec dbms_workload_repository.modify_snapshot_settings(TOPNSQL=>100);

目前现网即是采用默认配置,建议修改为每隔4小时收集一次并保留3天的数据。
修改步骤如下:
1.查询当前的设置:
SQL> select * from dba_hist_wr_control;
返回结果例如:
    DBID                SNAP_INTERVAL  RETENTION    TOPNSQL
1 4068003495     +00000 01:00:00.0    +00008 00:00:00.0     DEFAULT
字段snap_interval表示时间间隔,这里为每1小时收集一次AWR
2.查看moving_window_size的大小:
SQL> SELECT baseline_name, start_snap_time, end_snap_time,
moving_window_size
  FROM dba_hist_baseline_details
3.返回结果中,如果字段moving_window_size的值大于要修改为的保留天数,则必须执行
以下命令修改,这里应修改为3:
begin DBMS_WORKLOAD_REPOSITORY.MODIFY_BASELINE_WINDOW_SIZE(WINDOW_SIZE=>3);
end;
4.修改AWR设置:
BEGIN
  dbms_workload_repository.modify_snapshot_settings(INTERVAL  =>240,retention => 3 * 24 * 60);
END;
这里,参数INTERVAL表示每隔多少分钟收集一次AWR信息。参数retention表示3(天)*24(小时/天)*60(分钟/小时)分钟。
5.将AWR的保留天数从7天修改为3天后,系统不会自动将第4天到第7天的信息删除。仍需要手工删除,删除方法请参考下面的内容。
删除部分AWR信息的步骤如下:
找到DBID:
SQL> select dbid from v$database
返回结果例如4068003495
确定要清除哪些SNAP_ID:
查询视图dba_hist_snapshot确定需要清除的SNAP_ID范围,这里例如为51到130
清除AWR历史数据:
BEGIN
  dbms_workload_repository.drop_snapshot_range(
low_snap_id  => 51,
high_snap_id => 130,
dbid         => 4068003495);
END;

6.查询视图dba_hist_snapshot以及WRH$_LATCH,应发现SNAP_ID范围为51到130的数据已被清除。
       
建议与总结: 
oracle 10G后新增表空间SYSAUX空间,默认情况下,AWR的信息每隔一个小时收集一次AWR信息,并保留7天。这些数据存放在SYSAUX表空间中,
建议修改为每隔4小时收集一次并保留3天的数据。
 4.1.3  修改Snapshots设置
通过MODIFY_SNAPSHOT_SETTINGS过程,DBA可以调整包括快照收集频率、快照保存时间、以及捕获的SQL数量三个方面的设置。分别对应MODIFY_SNAPSHOT_SETTINGS的三个参数:

Retention :设置快照保存的时间,单位是分钟。可设置的值最小为1天,最大为100年。设置该参数值为0的话,就表示永久保留收集的快照信息。
Interval :设置快照收集的频率,以分钟为单位。可设置的值最小为10分钟,最大为1年。如果设置该参数值为0,就表示禁用AWR特性。
Topnsql :指定收集的比较占用资源的SQL数量,可设置的值最小为30,最大不超过100000000。
查看当前快照收集的相关设置,可以通过DBA_HIST_WR_CONTROL视图查看,例如:

SQL> select * from dba_hist_wr_control;
      DBID SNAP_INTERVAL            RETENTION            TOPNSQL
---------- ------------------------ -------------------- ----------
3812548755 +00000 01:00:00.0        +00007 00:00:00.0    DEFAULT
又比如通过MODIFY_SNAPSHOT_SETTTINGS过程修改snap_intrval的设置:

SQL> exec dbms_workload_repository.modify_snapshot_settings(interval=>120);
PL/SQL procedure successfully completed.

SQL> select * from dba_hist_wr_control;

      DBID SNAP_INTERVAL            RETENTION            TOPNSQL
---------- ------------------------ -------------------- ----------
3812548755 +00000 02:00:00.0        +00007 00:00:00.0    DEFAULT

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25198367/viewspace-752288/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-03-09

  • 博文量
    238
  • 访问量
    301853