FGとBG — Wait Eventの2種類

STATSPACKのWait Eventsセクションは Foreground(FG)Background(BG) に分離されています。 これがAWRと異なる重要な点です。

種類対象プロセス診断の意義
Foreground Wait Eventsユーザーセッションユーザーが体感する遅延の直接原因 → 最優先で分析
Background Wait EventsDBWn/LGWR/ARCnなどOracleバックグラウンドプロセスディスクI/O・REDO書き込みのボトルネック把握
Wait Events (fg and bg)FG+BG合算全体俯瞰には使えるが、個別診断はFG/BG分離で行う

全体フローは PART 01。Wait Eventsセクションの定義は PART 04 — Wait Events Statistics 詳細(定義書) を参照。

Wait Eventのカテゴリ分類

Foreground Wait Eventsに現れるイベントを4カテゴリに分類します。

カテゴリ代表的なイベント次のアクション
User I/Odb file sequential read, db file scattered readPART 06 I/O分析
System I/Olog file parallel write, db file parallel writeBackground Wait Events も確認
Concurrencybuffer busy waits, latch系, enqueue系PART 08 Latch/Lock
Commitlog file syncコミット頻度・LGWR性能を確認

I/O系待機イベント

Wait Event意味対処の方向性
db file sequential readインデックスを使ったシングルブロック読み込みインデックス不適切 / I/O性能不足 → PART 06
db file scattered readフルスキャンのマルチブロック読み込み不要なフルスキャン → PART 05
direct path read temp一時セグメントからの読み込みソート/ハッシュのメモリ不足 → PART 07

競合系待機イベント

Wait Event意味対処の方向性
buffer busy waitsバッファブロックの競合ホットブロック → PART 08
latch: cache buffers chainsバッファキャッシュのLatch競合ホットブロック → PART 08
enq: TX - row lock contention行ロック競合トランザクション設計見直し → PART 08
log file syncCOMMITのREDOログ書き込み待ちコミット頻度削減 / LGWR I/O改善

Wait Event Histogramの活用

Wait Event Histogram(STATSPACKのWait Events内)はイベントの待機時間分布を示します。 AVG値だけでは見えない「少数の極端に長い待機」を検出するのに有効です。

Histogramの見方診断のポイント
1ms以下に集中通常はメモリアクセス。問題なし
8ms〜32msにピークHDD相当のI/O遅延
1秒以上の待機があるロック待ち・ネットワーク問題の可能性

ドリルダウン手順

1
Top 5 Timed Events で上位イベントを確認
Wait Event名と % DB Time を記録する
2
Foreground Wait Events でFGの詳細を確認
ユーザーへの影響が大きいFGイベントを優先的に分析
3
カテゴリを判定して専門PARTへ
I/O系 → PART 06 / 競合系 → PART 08 / SQL問題 → PART 05
4
Wait Event Histogramで待機時間分布を確認
ロング待機が少数ある場合は特定イベントの詳細を調査