2つの期間のAWR差分(期間比較)レポート
Oracleパフォーマンスコマンド
-- 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_HTML概要
2つのスナップショット範囲を並べ、DB時間、待機イベント、ロードプロファイル、SQLごとの統計の差を百分率で表示する。「昨日は問題なかったが今日は遅い」に直接答える。
使用する場面
アップグレード/パッチ、パラメータ変更、デプロイ、統計収集後の劣化分析。2日間の同じ時間帯の比較に。
注意
Diagnostics Packライセンスが必要。比較する期間は同じ長さで同程度のワークロードである必要があり、そうでないと差分が誤解を招く。異なるデータベース(例: 本番とテスト)を比較するには、awrextr.sql/awrload.sqlでAWRデータを移動し、対応するdbid2を指定する。