Выполнить анализ 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 анализирует DB time между двумя снимками AWR и сообщает об узких местах с их влиянием (findings) и конкретными рекомендациями.
Когда использовать
Чтобы перед чтением отчёта AWR получить краткую сводку "куда смотреть", или чтобы проанализировать произвольный диапазон помимо автоматического запуска ADDM после каждого снимка.
Внимание
Требует лицензии Diagnostics Pack. Не применяйте рекомендации ADDM (увеличение параметров, запуск SQL Tuning Advisor и т. п.) вслепую; проверяйте рекомендации по памяти по разделам advisory в AWR. Диапазон не может охватывать перезапуск.
Связанные материалы
- Сделать снимок AWR и сформировать отчёт AWR между двумя снимками
- Отчёт AWR diff (compare period) между двумя периодами
- Топ wait events и топ SQL из ASH за последние минуты
- Получить отчёт SQL Monitor (выполняющийся или завершённый долгий SQL)
- Включить/выключить трассировку 10046 для сессии и обобщить её через TKPROF
- Показать фактический план выполнения со статистикой row source (ALLSTATS LAST)