Oracle チューニング ラッチ 待機方法
Oracle において ラッチ とは以下を示します。
- ラッチ 待機方法
- V$LATCH / V$LATCH_CHILDREN によるラッチ競合の把握
ラッチ 待機方法
- Oracle9i 以降のバージョン
ラッチの待機方法が変更されている。 willing-to-wait で要求したラッチが既に他のプロセスにより獲得され ていた場合、複数CPU環境においてはスピンの処理を行う点は同様だが、 スピンで獲得できない場合はそのラッチの待機リストにそのプロセスの 情報を追加してスリープする。ラッチが解放されると、待機リストの先 頭プロセスに通知が行われる。
V$LATCH / V$LATCH_CHILDREN によるラッチ競合の把握
- Oracle8i までのバージョン
willing-to-waitモードで要求して待機する場合は各プロセスがスリープ とリトライを繰り返すので、スリープ回数の合計であるSLEEPSや、 SPIN_GETS/SLEEP1/SLEEP2/SLEEP3の値の分布が競合の状況を把握するのに 役立ちます。 ただし、shared pool、library cache、library cache load lockの3種 類のラッチについては、Oracle9i以降と同様のキューを使用した待機方 法をとるので、WAITERS_WOKENを競合の指標とします。
- Oracle9i 以降のバージョン
キューを使った待機が行われるので、スリープの合計回数だけでは競合の 状況を把握するには不十分です。 待機時間をあらわすWAIT_TIME列が追加されたので、これを指標とします。
ご訪問頂き有難う御座います。
当サイトを効率良く使うためにまずは FrontPage を見て下さい。
検索方法、一覧表示などの各情報を纏めています。
当サイトの説明 → Frontpage