
DB CACHE ADVICE - 日本エクセム株式会社 Oracleパラメータ
目次[非表示]
- 1.基本情報
- 1.1.Parameter情報
- 1.2.説明
- 2.分析例
- 2.1.DB_CACHE_ADVICEパラメータ設定によるLatch待機現象
- 2.2.結論
- 3.外部参照
基本情報
Oracle9iからはSGA領域のサイズをオンライン状態に変えることができます。これDynamic SGA機能といいます。このように変えることができるメモリ領域はShared Pool、Buffer Cache、Large Poolの三つです。このうちBuffer Cacheサイズを調整したときの性能を予測するAdvisory機能をDB_CACHE_ADVICEパラメータを介して提供します。DB_CACHE_ADVICE = ONの場合Buffer Cache Advisory機能がenableされ、V$DB_Cache_Adviceビューを介して内容を確認することができます。
Parameter情報
説明
V$ DB_Cache_Advice Viewには、buffer cache別現在のサイズの10%から200%までの20個のサイズのsimulation情報を記録します。各サイズごとに既存のblock参照情報を利用して、予想される物理的な読み取り数を提供します。Buffer Cache Advisory機能の使用は、次の2つのオーバーヘッドを起こします。
parameterはON、OFF、READY三つの値を持つことができますが、それぞれの状態の意味は次のとおりです。
READYやON時はshared poolのContentionが発生するので、十分な空き容量を確認した後の作業を行います。もちろんOverheadが発生することに注意しなければなりません。
分析例
DB_CACHE_ADVICEパラメータ設定によるLatch待機現象
マックスゲージを介して問題が発生したインスタンスのCPU使用率を確認した結果、CPU使用率が24時間高く維持されており、特にUser CPUの使用率が高くなっています。
日中最も多く発生した待機イベントは、latch freeイベントです(Idleイベントは除く)。latch freeイベントはlatchを獲得していなかった場合、CPUを占有した状態で引き続きSpinでlatch獲得を試みて済み、CPU使用率の増加と関係があります。
session list機能を利用して、latch free待機イベントを検索した結果、simulator lru latchを待機するセッションが確認されます。
結論
V$ DB_CACHE_ADVICEビューには、バッファ・キャッシュ領域ごとに10%〜200%までの合計20個のサイズのSimulation情報を記録するために、情報を記録するためにsimulator lru latchを必要とします。
多数のセッションが接続して、I/O操作を実行するときに、バッファ・キャッシュのシミュレーション情報が変更されることがあり、このときに接続しているセッションは、simulator lru latchを待機することができます。latchは特性上、獲得するまで継続して、CPUを占有しながらスピンして獲得しようとするので、多数のセッションがlatch待機時のCPU使用率が増加します。この機能を無効にするとsimulator latchの大気現象は解消され、CPU使用率も確保されるので、DB_CACHE_ADVICE= OFFを推奨します。
外部参照のメタリンクドキュメントを参照してください。