查看AWR默认配置
SELECT * FROM dba_hist_wr_control;
-- 修改快照时间间隔为30分钟,保留时间修改为10天。
BEGIN
dbms_workload_repository.modify_snapshot_settings(INTERVAL=>30,RETENTION=>10*24*60);
END;
在ssh 上執行
exec dbms_workload_repository.modify_snapshot_settings(INTERVAL=>30,RETENTION=>10*24*60);
***************************************
--设置 AWR 收集频率:每30分钟一次
exec dbms_workload_repository.modify_snapshot_settings(INTERVAL =>30);
--设置 AWR 快照保留天数:每次保留7天
exec dbms_workload_repository.modify_snapshot_settings(retention => 7 * 24 * 60);
--设置 AWR 捕获的SQL数量:每次100条
exec dbms_workload_repository.modify_snapshot_settings(TOPNSQL=>100);
关闭awr
exec DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(INTERVAL => 0);
启动awr
exec DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(INTERVAL => 60);
目前现网即是采用默认配置,建议修改为每隔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=>7);
end;
4.修改AWR设置:
BEGIN
dbms_workload_repository.modify_snapshot_settings(INTERVAL =>240,retention => 7 * 24 * 60);
END;
这里,参数INTERVAL表示每隔多少分钟收集一次AWR信息。参数retention表示7(天)*24(小时/天)*60(分钟/小时)分钟。
5.查看awr的保留時間
select DBID, SNAP_INTERVAL, SNAPINT_NUM, RETENTION from SYS.WRM$_WR_CONTROL
**********************************