Run an ADDM analysis and get its report
OraclePerformanceCommand
-- 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.
Related
- Take an AWR snapshot and generate an AWR report between two snapshots
- AWR diff (compare period) report between two periods
- Top wait events and top SQL from ASH for the last minutes
- Get a SQL Monitor report (running or completed long SQL)
- Enable/disable 10046 trace for a session and summarize with TKPROF
- Show the actual execution plan with row source statistics (ALLSTATS LAST)