KKS USE MUTEX PIN
EXEM Knowledge Base
목차 |
[편집] 기본 정보
[편집] Parameter 정보
| Syntax | _KKS_USE_MUTEX_PIN=TRUE |
| 설정방법 |
|
| 버전 및 기본값 |
| 9iR2 | 10gR1 | 10gR2 | 11g |
|---|---|---|---|
| - | - | TRUE(>=10.2.0.2) | TRUE |
[편집] 설명
_KKS_USE_MUTEX_PIN Parameter값이 True이면 library cache pin 획득/해제시에 library cache pin latch 대신에 Mutex를 사용한다.
Oracle 11g부터는 이 Parameter의 값은 True로 고정되며, False로 변경할 수 없다. 즉, library cache pin latch 대신에 항상 Mutex를 사용한다. Oracle 11g는 Mutex의 사용을 크게 확대시켰다.
- Library Cache Bucket 탐색에 library cache latch 대신 Mutex를 사용한다.
- Library cache pin latch 대신 Mutex를 사용한다.
- Library cache lock latch 대신 Mutex를 사용한다.
Oracle 11g에서는 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