AWRレポートは14の大セクションから成り、初見では全体像を掴むだけで一苦労です。どの順で読めばチューニングの起点にたどり着けるか、自分なりの読解順を定義書としてまとめました。

本書の位置づけ

AWRレポートセクション全体マップ

図1: AWRレポートセクション全体マップ(重要度カラー分け)

本書は、Oracle Database が出力する AWR(Automatic Workload Repository)レポートの各セクションについて、中級者を対象に「何を表すか」「どこを見るか」「異常値の判断基準」を1セクション=1行でまとめた定義書です。

対象レポートのバージョンは Oracle Database 12.1.0.2.0 ですが、12c〜19c の AWR レポートはセクション構成がほぼ共通であるため、他バージョンでも同様に参照できます。

想定読者

  • AWRを2回以上見たことがあり、Load Profile・Foreground Wait Events までは読める方
  • 自分でチューニング起点を探したい開発者/DBA
  • 「このセクションは何のためにあるのか」を体系的に把握したい方

AWRレポートの大構造(14大セクション)

AWRレポートは14の大セクションで構成されています。

  1. Report Summary — DB/Host/Snap/Load Profile/Instance Efficiency/Top 10 Wait Events/Cache 等の総覧
  2. Main Report(リンク群) — 下位セクションへのナビゲーション
  3. Wait Events Statistics — Time Model / OS Stat / Foreground・Background Wait Events / Histogram / Service
  4. SQL Statistics — 9種類の Top SQL ランキング + Complete List of SQL Text
  5. Instance Activity Statistics — V$SYSSTAT 由来の各種カウンタ
  6. IO Stats — Function/Filetype/Tablespace/File 別の I/O 統計
  7. Buffer Pool Statistics — バッファプール統計と Checkpoint Activity
  8. Advisory Statistics — MTTR/BufferPool/PGA/SharedPool/SGA Target Advisory 等
  9. Wait Statistics — Buffer Wait / Enqueue Activity
  10. Undo Statistics — UNDO セグメント統計
  11. Latch Statistics — ラッチ競合の詳細統計
  12. Segment Statistics — セグメント単位のアクセス Top
  13. Memory Statistics — メモリの動的調整・プロセスメモリ
  14. その他 — Replication / Streams / Shared Server / init.ora / ADDM

推奨閲覧順 — チューニング起点を探す流れ

闇雲に全セクションを読むのではなく、まず Report Summary で全体像をつかみ、待機 or CPU のどちらが支配的かで分岐するのがセオリーです。

STEP 1: Report Summary

Snap Info / DB Time / Load Profile / Instance Efficiency / Top 10 Foreground Events を確認。

STEP 2: 待機 or CPU の判別

  • 待機支配 → Foreground Wait Events(詳細)→ Histogram → Service Stats → 該当 SQL を探す
  • CPU支配 → Time Model / OS Stat / Top SQL by CPU Time

STEP 3: 原因 SQL の特定

SQL Statistics の各ランキング(Elapsed / CPU / I/O / Gets / Reads / UnOpt / Parse)から原因SQLを特定。

STEP 4: 対象セグメントの特定

Segment Statistics の Reads / Writes / Row Lock Waits を確認。

STEP 5: メモリ・キャッシュ確認

Buffer Pool / Advisory / Memory Statistics でサイジングを確認。

STEP 6: パラメータ・環境

init.ora / Resource Limit / OS Statistics の Detail で設定・環境を裏付け。

各定義シートの列構成

本シリーズの後続記事では、各大セクションを以下の列構成でまとめています。

  • No: 連番
  • セクション名: AWR上の英語表記(h2/h3 見出し)
  • 日本語訳: 通称・日本語訳
  • 何を表すか: このセクションの意味と主目的
  • 主要な列: 着目すべきカラム名
  • 読み方: 「ここをまず見る」「正常パターン」「異常パターン」の指針
  • 閾値・注意点: 数値的な目安、罠、誤読されやすい箇所
  • 関連セクション: 一緒に確認すべき他セクション
  • 使うシーン: このセクションが特に有用な場面

AWRリファレンスを使う際によくある誤り

AWRを読み始める前の段階でよくある誤解を整理する。

誤り何が起きるか正しい使い方
AWRは問題が起きてから取得するものだと思っている障害後に取得しても、問題発生時のスナップショットが存在しないため診断できないことがある定期スナップショット(デフォルト1時間)を常時有効にし、問題発生時刻をカバーするレポートを生成する
全セクションを先頭から順番に読もうとするSegment Statisticsなど後半の大きなセクションに時間を取られ、診断が終わらないReport Summary → Top Wait Events → SQL Statisticsの順に読み、症状に応じて詳細セクションを逆引きする
1本のレポートだけで原因を断定する単一スナップショット間隔の平均値であり、発生頻度や時間帯のバイアスが混入する複数時間帯・複数日のレポートを比較し、再現性のある傾向かどうかを確認する