生成系统正常期间内和故障期间内的AWR性能数据比较报告,可能可以帮助我们更加简单的定位问题所在。
可以通过awrddrpt.sql脚本生成。
SQL> @?/rdbms/admin/awrddrpt.sql
脚本会要求输入需要比较的第一份和第二份AWR报告的起始结束Snap ID,生成的AWR报告基本上如下图所示。
在普通的AWR报告各个部分都增加了1st, 2nd以及%Diff,这表示第一份时,第二份时各自的情况以及两次的相差百分比。
如果我们因为某些原因(比如权限问题)无法读取awrddrpt.sql,那么也可以通过DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_TEXT函数来完成。
DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_TEXT( dbid1 IN NUMBER, inst_num1 IN NUMBER, bid1 IN NUMBER, eid1 IN NUMBER, dbid2 IN NUMBER, inst_num2 IN NUMBER, bid2 IN NUMBER, eid2 IN NUMBER) RETURN awrdrpt_text_type_table PIPELINED;
dbid通过以下SQL获取。
SQL> SELECT DBID FROM v$database; DBID ———- 777920305
inst_num通过以下SQL获得。
SQL> SELECT instance_number FROM v$instance; . . . → Read More: How to Generate AWR Differences Report