DBAtlas · 数据库运维图谱

运行 ADDM 分析并获取报告

Oracle性能

命令

-- Analyze the range between two snapshots (in CDB root):
VAR tname VARCHAR2(60)
BEGIN
  :tname := 'ADDM_<begin_snap>_<end_snap>';
  DBMS_ADDM.ANALYZE_DB(
    task_name      => :tname,
    begin_snapshot => <begin_snap>,
    end_snapshot   => <end_snap>);
END;
/

SET LONG 1000000 LONGCHUNKSIZE 1000000 LINESIZE 200 PAGESIZE 0
SELECT DBMS_ADDM.GET_REPORT(task_name => :tname) FROM dual;

-- Findings summary (by impact):
SET PAGESIZE 100
SELECT finding_name, type, ROUND(impact/1e6) AS impact_sec, message
FROM   dba_advisor_findings
WHERE  task_name = :tname
ORDER  BY impact DESC;

-- Interactive alternative: @?/rdbms/admin/addmrpt.sql
-- Clean up the task when done:
EXEC DBMS_ADDM.DELETE(task_name => :tname);

作用

Automatic Database Diagnostic Monitor 分析两个 AWR 快照之间的 DB time,报告瓶颈及其影响(findings)并给出具体建议。

适用场景

在阅读 AWR 报告前快速获得"应该看哪里"的摘要,或在每次快照后自动运行的 ADDM 之外分析自定义范围。

注意

需要 Diagnostics Pack 许可。不要盲目应用 ADDM 建议(调大参数、运行 SQL Tuning Advisor 等);请对照 AWR advisory 部分验证内存建议。范围不能跨越重启。

在 DBAtlas 中打开 →

相关内容