AWR-Diff-Report (Compare Period) zwischen zwei Zeiträumen
OraclePerformanceBefehl
-- Interactive: @?/rdbms/admin/awrddrpt.sql (RAC: awrgdrpt.sql)
-- From a script: period 1 (good) = <bid1>-<eid1>, period 2 (bad) = <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_HTMLWas es tut
Stellt zwei Snapshot-Bereiche nebeneinander und zeigt prozentuale Unterschiede bei DB Time, Wait Events, Load Profile und Statistiken je SQL. Beantwortet direkt "gestern lief es, heute ist es langsam".
Wann einsetzen
Regressionsanalyse nach Upgrade/Patch, Parameteränderung, Deployment oder Statistikerfassung; Vergleich desselben Zeitfensters an zwei Tagen.
Vorsicht
Erfordert die Diagnostics-Pack-Lizenz. Verglichene Zeiträume sollten gleich lang sein und ähnliche Last haben, sonst sind die Deltas irreführend. Um verschiedene Datenbanken zu vergleichen (z. B. Prod vs. Test), übertrage AWR-Daten mit awrextr.sql/awrload.sql und übergib die passende dbid2.
Verwandte Einträge
- AWR-Snapshot erstellen und AWR-Report zwischen zwei Snapshots erzeugen
- Top Wait Events und Top-SQL der letzten Minuten aus ASH
- ADDM-Analyse ausführen und Report abrufen
- SQL-Monitor-Report abrufen (laufende oder abgeschlossene lange SQL)
- 10046-Trace für eine Session aktivieren/deaktivieren und mit TKPROF zusammenfassen
- Tatsächlichen Ausführungsplan mit Row-Source-Statistiken anzeigen (ALLSTATS LAST)