注册
AWR报告生成
专栏/技术分享/ 文章详情 /

AWR报告生成

不夜侯 2026/08/28 75 0 0
摘要

查看数据库是否开启awr快照功能

select sf_check_awr_sys;
0		关闭
1		开启

image.png
如果未开启则执行以下命令开启
sp_init_awr_sys(1);
image.png

设置快照定时

使用dbms_workload_repository.modify_snapshot_settings修改时间

修改间隔时间为 30 分钟、保留时间为 2(2880分钟) 天。
call dbms_workload_repository.modify_snapshot_settings(2880,30);
修改后查询是否生效
select * from sys.wrm$_wr_control;

image.png
注意:day(5)指的是精度,不要误认成天数
image.png

手动生成快照

dbms_workload_repository.create_snapshot();

清理历史快照

清空全部 AWR 所有快照历史数据
call DBMS_WORKLOAD_REPOSITORY.AWR_CLEAR_HISTORY();
按 SNAP_ID 快照编号范围删除快照:删除快照 ID 从 1 ~ 3 的快照
call DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(1,3,NULL,TRUE);
按时间清理:删除这个时间点之前的全部快照
CALL DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_BY_TIME('2026-8-22 22:30:00.000000',TRUE);

查看生成的快照信息

select * from sys.wrm$_snapshot;

image.png

根据现有快照生成awr报告

Awr报告需要一个开始快照和结束快照,两个快照STARTUP_TIME必须相等,中间不能数据库重启;一旦重启,前后快照基线断裂,AWR 报告数据无效;

--手动打第一个快照
call DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();

--中间跑业务SQL,做负载

--手动打第二个快照
call DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();

--查询拿到刚生成的两个SNAP_ID,确认STARTUP_TIME相同
select SNAP_ID,SNAP_TIME,STARTUP_TIME from SYS.WRM$_SNAPSHOT order by SNAP_ID desc;

--输出报告,填入查到的两个SNAP_ID
call sys.awr_report_html(2,3,'/data/dm8/dmdbms/log','awr_0822.html');

image.png
image.png

关闭awr快照功能

sp_init_awr_sys(0);
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服