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);
使用完毕后可以关闭快照功能
文章
阅读量
获赞