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

AWR报告生成

harrison辉 2025/09/12 131 0 0
摘要

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

select sf_check_awr_sys;
0		关闭
1		开启

2、开启awr快照功能

sp_init_awr_sys(1);

3、设置快照定时机制
调 用 DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL 过程设置快照的间隔时间

call dbms_workload_repository.awr_set_interval(10);

每10分钟生成一次快照,单位是分钟,默认值是60,取值区间10~525600,默认保留8天。
调用MODIFY_SNAPSHOT_SETTINGS设置快照保留时间,RETENTION 的有效范围为 [1440, 52560000],单位分钟

call dbms_workload_repository.modify_snapshot_settings(1440);
保留时间1天(24*60=1440)

4、查看目前快照机制

select * from sys.wrm$_wr_control;

5、手动生成快照

dbms_workload_repository.create_snapshot();

6、清理历史快照

call DBMS_WORKLOAD_REPOSITORY.AWR_CLEAR_HISTORY();
---删除 snap_id 在 1~3 之间的 snapshot,并立即释放相应分区表空间。 
call DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(1,3,NULL,TRUE)

---删除“2024-12-19 16:10:29.488000”时间点之前创建的所有 snapshot,并立即释放相应分区表空间。 
CALL DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_BY_TIME('2024-12-19 16:10:29.488000',TRUE);

7、查看生成的快照信息

select * from sys.wrm$_snapshot;

8、根据现有快照生成awr报告
Awr报告需要一个开始快照和结束快照,因此手动生成了两个快照,并且要求awr报告的快照之间不能有重启库的操作,可根据sys.wrm$_snapshot中startup_time数据库启动时间判断快照是否连续可用。

call sys.awr_report_html(1,2,'/home/dmdba/awr ','awr.html')

这里用的是生成1号和2号快照之间的性能报告(注意这里的路径是服务器路径,而非本地路径)

9、关闭awr快照功能

sp_init_awr_sys(1);

使用完毕后可以关闭快照功能

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服