一、windows下采集
自动负载信息库(Automatic Workload Repository,AWR)是在Oracle 10g中被引入的,缺省地被安装到Oracle10g数据库中,用于收集关于该特定数据库的操作统计信息和其他统计信息。AWR的采样工作由后台进程MMON 每隔一段时间(通常是每个小时)会执行一次 AWR 的数据采样工作。
1.先查看采集策略(我这个是19.3版本)
set line 200
col SNAP_INTERVAL for a30
select * from dba_hist_wr_control;

SNAP_INTERVAL :快照间隔 上图的时间代表1小时采集一次。
RETENTION:快照保留时间8天。
修改快照采集间隔时间
BEGINDBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval => 30); -- 设置间隔为 30 分钟
END;
/
或者
exec DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval => 30);select * from dba_hist_wr_control;

修改成功
2.执行采集脚本


用管理员账户启动cmd
![]()
@awrrpt.sql

输入报告类型,默认是html,这里直接回车采用默认格式

输入想要获取快照列表的天数


根据刚才快照列表输入开始的 快照ID

根据刚才快照列表输入结束的 快照ID

输入报告名字

执行成功

在对应路径下找到报告
二、Linux下采集
1.查看采集策略
set line 200
col SNAP_INTERVAL for a30
select * from dba_hist_wr_control;

BEGINDBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval => 30); -- 设置间隔为 30 分钟
END;
/
或者
exec DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval => 30);select * from dba_hist_wr_control;
修改成功

手动创建AWR快照
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;

2.执行采集脚本
@$ORACLE_HOME/rdbms/admin/awrrpt.sql

采用默认格式:html

输入想要获取快照列表的天数

输入开始快照ID和结束快照ID

输入报告保存路径和名字(确保该路径存在)

执行成功
