--Interval :设置快照收集的频率,以分钟为单位。可设置的值最小为10分钟,最大为1年。如果设置该参数值为0,就表示禁用AWR特性。每30分钟一次
exec dbms_workload_repository.modify_snapshot_settings(INTERVAL =>30);
--设置 Retention :设置快照保存的时间,单位是分钟。可设置的值最小为1天,最大为100年。设置该参数值为0的话,就表示永久保留收集的快照信息。每次保留3天.
exec dbms_workload_repository.modify_snapshot_settings(retention => 3 * 24 * 60);
--Topnsql :指定收集的比较占用资源的SQL数量,可设置的值最小为30,最大不超过100000000。
查看当前快照收集的相关设置,可以通过DBA_HIST_WR_CONTROL视图查看.每次100条
exec dbms_workload_repository.modify_snapshot_settings(TOPNSQL=>100);
--查询当前的设置:
SQL> select * from dba_hist_wr_control;
DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- -------------------- -------------------- ------------------------------
1348048916 +00000 00:30:00.0 +00008 00:00:00.0 100
字段snap_interval表示时间间隔,这里为每1小时收集一次AWR
-- 查看moving_window_size的大小:
SQL> SELECT baseline_name, start_snap_time, end_snap_time,
moving_window_size FROM dba_hist_baseline_details
--返回结果中,如果字段moving_window_size的值大于要修改为的保留天数,则必须执行以下命令修改,这里修改为3:
begin DBMS_WORKLOAD_REPOSITORY.MODIFY_BASELINE_WINDOW_SIZE(WINDOW_SIZE=>3);
end;
--删除部分AWR信息的步骤如下:
找到DBID:
SQL> select dbid from v$database
DBID
---------------
4068003495
查询视图dba_hist_snapshot以及WRH$_LATCH,确定要清除哪些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;
--手工收集快照,两种方式
通过存储过程SQL> begin
2 dbms_workload_repository.create_snapshot();
3 end;
4 /
PL/SQL procedure successfully completed.
通过函数
SQL> select dbms_workload_repository.create_snapshot() from dual;
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT()
------------------------------------------
25
--使用utlsyxsz.sql估测sysaux的表空间大小
SQL> @?/rdbms/admin/utlsyxsz.sql
--使用awrinfo.sql估测sysaux表空间不同组件增长率
SQL> @?/rdbms/admin/utlsyxsz.sql
--创建新的baseline
SQL> begin
2 dbms_workload_repository.create_baseline(
3 start_snap_id => 18,
4 end_snap_id => 19,
5 baseline_name => 'my_baseline');
6 end;
7 /
PL/SQL procedure successfully completed.--删除baseline
SQL> begin
dbms_workload_repository.drop_baseline(baseline_name => 'my_baseline');
end;
/
--查询baseline信息
SQL> select baseline_id, baseline_name, start_snap_id, end_snap_id, moving_window_size from dba_hist_baseline;
参考至:《教你如何成为10g OCP》韩思捷著
http://blog.itpub.net/25198367/viewspace-752288/
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com