DBAtlas · Атлас эксплуатации баз данных

Сделать снимок AWR и сформировать отчёт AWR между двумя снимками

OracleПроизводительность

Команда

-- 1) Manual snapshot before and after the event (run in CDB root):
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;

-- 2) List snapshots:
SELECT snap_id,
       TO_CHAR(begin_interval_time,'YYYY-MM-DD HH24:MI') AS begin_time,
       TO_CHAR(end_interval_time,'YYYY-MM-DD HH24:MI')   AS end_time
FROM   dba_hist_snapshot
WHERE  dbid = (SELECT dbid FROM v$database)
ORDER  BY snap_id DESC
FETCH FIRST 24 ROWS ONLY;

-- 3a) Interactive report (prompts for HTML/TEXT and snapshot range):
-- @?/rdbms/admin/awrrpt.sql      (RAC: awrgrpt.sql, specific instance: awrrpti.sql)

-- 3b) TEXT report from a script:
SET LINESIZE 8000 PAGESIZE 0 TRIMSPOOL ON HEADING OFF FEEDBACK OFF
SPOOL /tmp/awr_<begin_snap>_<end_snap>.txt
SELECT output
FROM   TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT(
         l_dbid     => (SELECT dbid FROM v$database),
         l_inst_num => (SELECT instance_number FROM v$instance),
         l_bid      => <begin_snap>,
         l_eid      => <end_snap>));
SPOOL OFF
-- For HTML: DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML (same parameters)

Что делает

Формирует отчёт между двумя снимками AWR, охватывающими проблемный интервал: профиль нагрузки, основные wait events, топ SQL и статистику экземпляра. Табличная функция позволяет получать отчёт из скрипта или задания планировщика.

Когда использовать

При анализе замедления в конкретном временном интервале, для сравнения до/после нагрузочного теста или пакетной обработки и для отчётов по ёмкости.

Внимание

Требует лицензии Diagnostics Pack (CONTROL_MANAGEMENT_PACK_ACCESS='DIAGNOSTIC' или 'DIAGNOSTIC+TUNING'); без неё установите параметр в 'NONE' и используйте Statspack. Отчёт не может охватывать перезапуск экземпляра. Интервалы длиннее часа усредняют данные и скрывают кратковременные всплески; держите окно узким.

Открыть в DBAtlas →

Связанные материалы