メモリ問題の種類
AWRで検出できるメモリ関連の問題は主に以下の3つです。
| 問題の種類 | 影響 | 見る場所 |
|---|---|---|
| Buffer Cache不足 | 物理I/O増加、db file読み取り待機増加 | Instance Efficiency / Buffer Cache Hit Ratio |
| PGA/ソートエリア不足 | 一時ディスクへのspill、direct path read temp | PGA 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 Execs | 1回のディスク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 Advisory | Buffer Cache を増やした場合の物理読み込み削減効果を確認 |
| PGA Memory Advisory | PGA_AGGREGATE_TARGET 変更時のW/A実行比率改善効果を確認 |
| SGA Target Advisory | SGA全体サイズ変更時の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 を調整