DBAtlas · Veritabanı operasyon atlası

AWR snapshot al ve iki snapshot arası AWR raporu üret

OraclePerformans

Komut

-- 1) Olay oncesi ve sonrasi manuel snapshot (CDB root'ta calistir):
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;

-- 2) Snapshot listesini gor:
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) Etkilesimli rapor (HTML/TEXT ve snap araligini sorar):
-- @?/rdbms/admin/awrrpt.sql      (RAC: awrgrpt.sql, tek instance: awrrpti.sql)

-- 3b) Script'ten TEXT rapor:
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
-- HTML icin: DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML (ayni parametreler)

Ne yapar?

Olay penceresini kapsayan iki AWR snapshot'ı arasında load profile, top wait event, top SQL ve instance istatistiklerini içeren raporu üretir; tablo fonksiyonu sayesinde rapor script'ten veya scheduler job'ından alınabilir.

Ne zaman kullanılır?

Belirli bir zaman aralığındaki yavaşlığı analiz ederken, yük testi/batch öncesi-sonrası karşılaştırma için, kapasite raporlamasında.

Dikkat

Diagnostics Pack lisansı gerektirir (CONTROL_MANAGEMENT_PACK_ACCESS='DIAGNOSTIC' veya 'DIAGNOSTIC+TUNING'); lisans yoksa parametreyi 'NONE' yap ve Statspack kullan. Aralık içinde instance restart varsa rapor üretilemez. 1 saatten uzun aralıklar ortalama alır ve kısa süreli spike'ları gizler; olay penceresini dar tut.

DBAtlas'ta aç →

İlgili