DBAtlas · Database operations atlas

Run an ADDM analysis and get its report

OraclePerformance

Command

-- 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);

What it does

Automatic Database Diagnostic Monitor analyzes DB time between two AWR snapshots and reports bottlenecks with their impact (findings) and concrete recommendations.

When to use it

To get a quick "where should I look" summary before reading the AWR report, or to analyze a custom range beyond the automatic ADDM run after each snapshot.

Caution

Requires the Diagnostics Pack license. Do not apply ADDM recommendations (parameter increases, running SQL Tuning Advisor, etc.) blindly; validate memory recommendations against the AWR advisory sections. The range cannot span a restart.

Open in DBAtlas →

Related