本ガイドの位置づけ

本シリーズはSTATSPACKレポートを実際に受け取ったときに、どこからどう読むかを解説する実践ガイドです。 各セクションの項目定義は STATSPACKセクション定義書(全10回) を参照してください。

💡 ガイドの使い方

本記事(PART 01)で全体フローを把握した後、問題の種類に応じたPARTへ直接ジャンプしてください。各PARTは独立して読めます。

AWRとの主な違い

STATSPACKはAWRと同様のパフォーマンス情報を提供しますが、いくつかの重要な差異があります。 読み方にも影響するため、最初に把握しておきます。

観点STATSPACKAWR
ライセンスOracle SE / EE(追加費用なし)Oracle Diagnostics Pack(有償)
全体負荷の指標Elapsed Time + DB CPU(Time Model)DB Time(専用指標)
SQL識別子Hash Value(Old Hash Value)SQL_ID
PGA Advisory限定的(post-07に一部あり)PGA Memory Advisoryが充実
SGA Advisorypost-10(SGA / Advisory) に集約post-07に集約
Latch詳細Latch Sleep Breakdown(時系列あり)Latch Activityのみ

AWRとSTATSPACKの全体的な違いは PART 01 — STATSPACKセクション定義書 はじめに を参照。

STEP 1 — レポートヘッダで環境・期間を確認する

レポートヘッダ(Database / Instance Information · Snapshot Information)でスナップショット情報を確認します。 ここを確認しないと、誤った期間のデータを分析するリスクがあります。

確認項目どこを見るかチェックポイント
スナップショット期間Begin / End Snapshot Id・日時問題発生時刻を含む期間か
Elapsed TimeElapsed: xx.xx (mins)期間の長さを把握(後続の計算に使う)
DB TimeDB Time: xx.xx (mins)(Time Model)全体負荷の基準値(AWRと同様)
インスタンス情報Database / Instance / Host対象サーバーと一致しているか
STATSPACKレベルSnap Levelレベル5以上でSQL全文が収録される

レポートヘッダの各項目詳細は PART 03 — レポートヘッダ詳細(定義書) を参照。

STEP 2 — Elapsed Timeと主要指標で全体を把握する

AWRのように単独の「DB Time」指標はありませんが、Load ProfileInstance Efficiencyを合わせて読むことで全体の重さを判断します。

確認箇所見る値判断の目安
Time Model System StatsDB CPU / DB Time %80%超 → CPUボトルネック。低い → 待機が多い
Load ProfileRedo size / Transactions / Logical reads(/sec)増加傾向・突出した値がないか
Instance EfficiencyBuffer Nowait % / Buffer Hit %Buffer Hit % 95%未満 → メモリ不足の可能性
Load ProfileHard Parse %5%超 → バインド変数未使用の可能性

STEP 3 — Top 5 Timed Eventsで問題の種類を特定する

Top 5 Timed Events(レポートヘッダの末尾)が問題の方向性を示す最重要指標です。

上位イベントの種類問題の方向性次に読むPART
CPU time が1位CPU使用率が高いPART 03 CPU分析
db file sequential / scattered readI/OボトルネックPART 06 I/O分析
buffer busy waits / latch系バッファ・Latch競合PART 08 Latch/Lock
log file syncコミット過多・REDO I/OPART 04 Wait分析
enq: TX - row lock contention行ロック競合PART 08 Latch/Lock

読み方フロー早見表

1
レポートヘッダでスナップショット期間・インスタンスを確認
問題発生時刻を含む期間か・STATSPACKレベルを確認する
2
Time Model + Load Profile + Instance Efficiency で全体の重さを把握
DB CPU % / Buffer Hit % / Hard Parse % を確認する
3
Top 5 Timed Events で問題の種類を特定
CPU / I/O / 競合 / アプリ系の方向性を絞り込む
4
問題の種類に応じた専門PARTへ進む
CPU: PART 03 / Wait: PART 04 / SQL: PART 05 / I/O: PART 06 / メモリ: PART 07 / Latch: PART 08