

应用在运行期间,产生了性能相关的瓶颈问题,需要对数据库进行整体监控和分析。数据库层面可以使用AWR报告进行分析、定位问题。AWR(Automatic Workload Repository)是DM数据库自动工作集负载信息库。系统为其所有重要统计信息和负载信息执行一次快照,并将这些快照存储在 AWR 中。AWR默认是关闭的,如果需要使用AWR报告,则要手动开启。
生成快照
1、创建 DBMS_WORKLOAD_REPOSITORY 系统包
SP_INIT_AWR_SYS(1);
创建DBMS_WORKLOAD_REPOSITORY包后,会生成一个SYSAUX表空间,该表空间用于存储该包生成快照的数据。如果该包被删除,那么 SYSAUX 表空间也对应地被删除。
注意:DM MPP环境不支持DBMS_WORKLOAD_REPOSITORY系统包。
2、查看系统包启用状态
select sf_check_awr_sys;

状态为1,说明包
DBMS_WORKLOAD_REPOSITORY被启用;
状态为0,说明包DBMS_WORKLOAD_REPOSITORY未启用。
3、设定快照生成时间间隔
CALL DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL();
例:设定数据库快照生成时间间隔为30分钟。
CALL DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(30);
DM数据库快照生成默认时间间隔为60分钟。设定快照时间间隔后,快照会自动产生,也可以通过执行
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
手动生成快照。快照ID从1开始递增。
查看已经生成的快照:
SELECT * FROM SYS.WRM$_SNAPSHOT;

生成AWR报告
一个AWR报告生成,至少需要两次快照。
例:将时间从2020-12-07 14:00至2020-12-07 14:30生成一个awr报告
时间段2020-12-07 14:00至2020-12-07 14:30对应的SANP_ID为6,7
SYS.AWR_REPORT_HTML(6,7,'/home/dmdba','AWR6-7.html');

生成的AWR报告,如下:
AWR报告里面有服务器、数据库的负载信息,包括TOP 5等待事件、T0P sql,TIme Model等。


好,以上是本次分享内容,希望能给大家带来帮助,感谢大家。
往期回顾





