メモリ(SGA / PGA)

Buffer Cache

頻繁にアクセスするデータブロックをキャッシュする領域。

ヒット率 95% 以上が理想。それより低い場合は Buffer Cache が小さすぎる可能性がある。

Shared Pool

SQLの解析結果(実行計画)をキャッシュする領域。

  • Library Cache Hit Ratio を確認
  • 低い場合はハードパースが多発している可能性
  • バインド変数の使用、Shared Pool の拡大を検討

PGA

各セッションのソート・ハッシュ結合用ワーク領域。

Over Allocation 数が 0 に近い ことを確認。
0より大きいと、ワーク領域がディスクに溢れている(Spill to Disk)兆候。

I/O統計のポイント

物理読み取り(Physical Reads)

ディスクから実際に読み込んだブロック数。多いほどBuffer Cacheが効いていないことを示します。

物理書き込み(Physical Writes)

ディスクへ書き出したブロック数。DBWR、LGWRのI/O負荷を示します。

Redo Size

生成された Redo ログの量。COMMIT 頻度・DML 量の指標になります。

  • Redo Size が異常に大きい ⇒ 大量DMLが走っている
  • Redo Size / commit数 で1コミットあたりの変更量がわかる

Tablespace I/O Stats

表領域ごとのI/O分布。特定の表領域にI/Oが集中していないかを確認します。

I/O 集中は 特定のデータファイルやディスク群の問題である場合が多い。
Tablespace I/O Stats で表領域別の偏りを確認し、ホットな表領域があれば物理ディスクの分散を検討する。

典型的な対処

  • USERS表領域に集中 ⇒ 業務テーブルのI/Oが多い → インデックス見直し
  • TEMP表領域に集中 ⇒ ソート・ハッシュのSpillが多い → PGA増強
  • UNDO表領域に集中 ⇒ 長いトランザクション or 大量DML
  • REDO/Archiveに集中 ⇒ コミット頻度が高い or DML量が多い