KKS USE MUTEX PIN

基本情報

Parameter情報

 

Syntax : _KKS_USE_MUTEX_PIN=TRUE

設定方法 : Parameter File

バージョンとデフォルト
9iR2  : -
10gR1 : -
10gR2 : TRUE(>=10.2.0.2)
11g   : TRUE

説明

 

_KKS_USE_MUTEX_PIN Parameterの値がTrueの場合、library cache pin獲得/解除時にlibrary cache pin latchの代わりにMutexを使用します。

 

Oracle11gからこのParameterの値はTrueに固定され、Falseに変更することができません。つまり、library cache pin latchの代わりに、常にMutexを使用します。Oracle11gは、Mutexの使用を大幅に拡大しました。

 

・Library Cache Bucketナビゲーションlibrary cache latchの代わりにMutexを使用します。
・Library cache pin latchの代わりにMutexを使用します。
・Library cache lock latchの代わりにMutexを使用します。

 

Oracle11gでは、library cache load lockだけlatchを介して管理されます。

 

-- Oracle 10gR2
UKJA@ukja102> select name from v$latch where name like '%library cache%';

NAME
------------------------------
library cache pin allocation
library cache lock allocation
library cache hash chains
library cache lock
library cache
library cache pin
library cache load lock


-- Oracle 11gR1
UKJA@ukja116> select name from v$latch where name like '%library cache%';

NAME
------------------------------
library cache load lock

 

MutexはLatchより軽く数が多いため、同時実行管理に優れています。ただし、Bugにより、予期せぬMutex競合が報告されている場合が多くあります。Mutex競合が発生した場合には、次のような待機イベントが観察されます。

 

NAME
------------------------------
cursor: mutex X
cursor: mutex S
cursor: pin S wait on X
library cache: mutex X
library cache: mutex S

 

外部参照

 

  1.Library cache latches gone in Oracle 11g
  2.Library cache latch has gone?