DBAtlas · 数据库运维图谱

两个时间段之间的 AWR diff(比较周期)报告

Oracle性能

命令

-- Interactive: @?/rdbms/admin/awrddrpt.sql   (RAC: awrgdrpt.sql)

-- From a script: period 1 (good) = <bid1>-<eid1>, period 2 (bad) = <bid2>-<eid2>
SET LINESIZE 8000 PAGESIZE 0 TRIMSPOOL ON HEADING OFF FEEDBACK OFF
SPOOL /tmp/awr_diff.txt
SELECT output
FROM   TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_TEXT(
         dbid1 => (SELECT dbid FROM v$database), inst_num1 => 1,
         bid1  => <bid1>, eid1 => <eid1>,
         dbid2 => (SELECT dbid FROM v$database), inst_num2 => 1,
         bid2  => <bid2>, eid2 => <eid2>));
SPOOL OFF
-- HTML: DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_HTML

作用

将两个快照范围并排显示,并给出 DB time、等待事件、负载概况和各 SQL 统计信息的百分比差异。直接回答"昨天还好,今天变慢"的问题。

适用场景

升级/补丁、参数变更、发布或统计信息收集后的回退分析;比较两天中相同时段。

注意

需要 Diagnostics Pack 许可。比较的时间段应长度相同、负载相近,否则差值会有误导性。要比较不同数据库(例如 prod 与 test),请用 awrextr.sql/awrload.sql 迁移 AWR 数据并传入对应的 dbid2。

在 DBAtlas 中打开 →

相关内容