İki dönemi karşılaştıran AWR diff (compare period) raporu
OraclePerformansKomut
-- Etkilesimli: @?/rdbms/admin/awrddrpt.sql (RAC: awrgdrpt.sql)
-- Script'ten: 1. donem (iyi) = <bid1>-<eid1>, 2. donem (kotu) = <bid2>-<eid2>
SET LINESIZE 8000 PAGESIZE 0 TRIMSPOOL ON HEADING OFF FEEDBACK OFF
SPOOL /tmp/awr_diff.txt
SELECT output
FROM TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_TEXT(
dbid1 => (SELECT dbid FROM v$database), inst_num1 => 1,
bid1 => <bid1>, eid1 => <eid1>,
dbid2 => (SELECT dbid FROM v$database), inst_num2 => 1,
bid2 => <bid2>, eid2 => <eid2>));
SPOOL OFF
-- HTML: DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_HTMLNe yapar?
İki snapshot aralığını yan yana koyar; DB time, wait event, load profile ve SQL bazında yüzde farkları gösterir. "Dün iyiydi, bugün yavaş" sorusuna doğrudan cevap verir.
Ne zaman kullanılır?
Upgrade/patch, parametre değişikliği, deploy veya istatistik toplama sonrası regresyon analizi; aynı saat dilimindeki iki günü karşılaştırma.
Dikkat
Diagnostics Pack lisansı gerekir. Karşılaştırılan dönemler aynı uzunlukta ve benzer iş yükünde olmalı; aksi halde farklar yanıltıcıdır. Farklı DB'ler (ör. prod vs test) karşılaştırılacaksa AWR verisini awrextr.sql/awrload.sql ile taşı ve dbid2'yi buna göre ver.
İlgili
- AWR snapshot al ve iki snapshot arası AWR raporu üret
- ASH ile anlık/son dakikaların top wait event ve top SQL analizi
- ADDM analizini çalıştır ve raporunu al
- SQL Monitor raporu al (çalışan veya biten uzun SQL)
- Bir session için 10046 trace aç/kapat ve TKPROF ile özetle
- Gerçek execution plan'ı satır istatistikleriyle göster (ALLSTATS LAST)