写在前面
大家在使用数据库的过程中,如果想对数据库在各个时点的参数进行监控,就需要用到数据库快照。数据库安装完成后,数据库快照功能默认是关闭的。数据库快照是一个只读的静态的数据库。DM快照功能是基于数据库实现的,每个快照是基于数据库的只读镜像。通过检索快照,可以获取源数据库在快照创建时间点的相关数据信息。本文就将给大家介绍如何生成数据库快照以及AWR报告
启用DM快照需要调用DBMS_WORKLOAD_REPOSITORY包
【注:DM MPP环境下不支持DBMS_WORKLOAD_REPOSITORY包】
–创建DBMS_WORKLOAD_REPOSITORY系统包。
SQL>SP_INIT_AWR_SYS(1);
–启用状态检测。
SQL>SELECT SF_CHECK_AWR_SYS;
–下面语句设置间隔为30分钟,也可以是其他值:
SQL>CALL DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(30);
–手动创建快照:
SQL>DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
这里我们可以多执行几遍试试,创建几个不同的快照。
–查看创建的快照信息,包括快照id:
SQL>SELECT * FROM SYS.WRM$_SNAPSHOT;
–查看 snapshot 的 id 在 1~3 范围内的 AWR 分析报告的带 html 格式的内容。
SQL>SELECT * FROM TABLE (DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML(1,3));
–把snapshot的id在1~3范围内的AWR分析报告生成到/home/dmdba目录下的awr1.html文件内(需要先对目录进行授权)
SYS.AWR_REPORT_HTML(1,3,’/home/dmdba’,'awr1.html’); 【按实际路径修改】
然后把生成的html拉出来就可以读懂拉
-在使用过程中可以通过 AWR 报告找出慢 SQL
SQL Ordered by Elapsed Time 的内容就是慢查询语句哦O_O。