メモリ問題の種類

AWRで検出できるメモリ関連の問題は主に以下の3つです。

問題の種類影響見る場所
Buffer Cache不足物理I/O増加、db file読み取り待機増加Instance Efficiency / Buffer Cache Hit Ratio
PGA/ソートエリア不足一時ディスクへのspill、direct path read tempPGA Aggregate Statistics
共有プール(Shared Pool)不足ハードパース増加、ライブラリキャッシュ競合Shared Pool Statistics / Library Cache Activity

全体フローは PART 01、I/Oとの関係は PART 06 I/O分析 を参照。メモリ統計の定義は PART 06 — メモリ・I/O統計の見方(AWR入門) を参照。

Buffer Cache Hit Ratio の見方

Instance Efficiency Percentagesセクションにある Buffer Nowait %Buffer Hit % が重要です。

指標計算式目安
Buffer Hit %1 - (Physical Reads / Logical Reads)95%以上
Library Cache Hit %Pins / (Pins + Reloads)99%以上
Shared Pool Free %共有プールの空き割合10%〜30%を推奨

⚠️ Buffer Hit %の罠

Buffer Hit %が高くても、ブロック数自体が多い(Gets が膨大)場合は非効率なSQLがある可能性があります。絶対値(Gets/秒)も確認してください。

PGA統計の見方

PGA Aggregate Statisticsはソート・ハッシュ結合などのメモリ使用状況を示します。 % Optimal W/A Execs(最適実行の割合)が最重要指標です。

指標意味目安
% Optimal W/A Execsメモリ内で完結したワークエリア実行の割合90%以上が理想
% Onepass W/A Execs1回のディスクspillが発生した割合多い場合はPGA不足
% Multipass W/A Execs複数回のdisk spillが発生した割合0%が理想
Max PGA Target (MB)PGAの最大割当量Multipas が多い場合は増加を検討

PGA/Advisoryの詳細は PART 07 — Advisory / Memory 詳細(定義書) を参照。

Advisory情報の活用

AWRの Advisory セクション(Buffer Pool Advisory / PGA Memory Advisory / SGA Target Advisory)は、 メモリサイズ変更時の効果をシミュレートした情報です。

Advisoryの種類活用方法
Buffer Pool AdvisoryBuffer Cache を増やした場合の物理読み込み削減効果を確認
PGA Memory AdvisoryPGA_AGGREGATE_TARGET 変更時のW/A実行比率改善効果を確認
SGA Target AdvisorySGA全体サイズ変更時のDB Time改善効果を確認

サイジング改善の方向性

メモリ改善の優先順位

① Buffer Cache Hit Ratioが低い → db_cache_size または sga_target の増加を検討
② % Multipass W/A Execs が 0より高い → pga_aggregate_target の増加を検討
③ Shared Pool Free % が低くハードパース多い → shared_pool_size の増加を検討
④ AMM/ASMM使用時は Advisory の推奨値を参考に memory_target を調整