====== 오라클 버그 및 이슈정리 ======
===== Mutex Latch Spin Causes High Cpu on Non-CAS Platforms (HP-UX) =====
- 10gR2부터 Shared Cursor Operation에 대해 기본적으로 Mutex를 사용하게 되었다.
- Shared Cursor Operation이란 library cache latches, library cache pin latches, library cache pins.을 의미한다. \\ 이를 위해 오라클은 _kks_use_mutex_pin라는 파라메터를 제공하고 있는데 \\ 이는 기본적으로 True이며 만약 False인 경우는
이전과 같이 Latch와 Pin/Lock의 구조를 사용하게 된다.
- EM의 Performance Analysis에서 아래의 제목으로 나타난 정보입니다.
- Finding 공유 풀과 관련된 래치에 대한 경합이 상당한 데이터베이스 시간을 소비했습니다.
Additional Information
"latch: library cache"에 대한 대기가 데이터베이스 시간의 3\%를 차지했습니다.
"latch: shared pool"에 대한 대기가 데이터베이스 시간의 5\%를 차지했습니다.
"cursor: pin S wait on X"에 대한 대기가 데이터베이스 시간의 6\%를 차지했습니다.
SQL 문의 하드 구문 분석은 데이터베이스 시간을 많이 소비하지 않았습니다.
- 해결책 (init.ora에 히든 파라메터를 추가하여 수정)
# vi $ORACLE_HOME/dbs/init.ora
...
_kks_use_mutex_pin=false
...
- SQL을 통해 확인한다.
select i.ksppinm, v.ksppstvl from x$ksppi i, x$ksppsv v
where i.indx = v.indx and i.ksppinm = '_kks_use_mutex_pin';