Latch는 SGA의 공유 데이터구조를 보호하기 위해서 사용되는 기법으로 빨리 획득되고 풀리는 lock의 일종이다. 일반적으로, Latch는 한 순간에 하나 이상의 프로세스가 동시에 같은 실행코드(code)를 수행하는 것을 방지하는데 사용된다. 그렇게 함으로서 SGA의 공유 데이터 구조를 보호하게 된다.
Latch에는 Wait latch (“willing-to-wait”)와 Nowait latch (immediate) 2종류가 있다. Latch의 모든 항목은 99%이상의 Hit Ratio를 유지해야 한다. 그렇지 않은 경우 Latch Contention이 발생되고 있다고 판단 할 수 있다.

+ Wait latches (“willing-to-wait”)
 - Gets -  Latch획득에 성공한 횟수.
 - Misses -  최초 Latch의 획득을 실패한 횟수.
 - Sleeps  - 최초 Latch의 획득을 실패한 이후로 Latch획득을 시도한 횟수.
 - Latch get hit ratio = (gets - misses) / gets, 이 수치는 1에 가까워야 한다.

+ Nowait latches (immediate)
 - immediate gets - immediate call에 의한 Latch획득에 성공한 횟수.
 - Immediate misses - immediate call에 의한 최초 Latch의 획득을 실패한 횟수.
 - Nowait latches와 관련된 Sleeps은 없다.
 - Nowait hit ratio = (nowait_gets - nowait_misses) / nowait_gets, 이 수치는 또한 1에 가까워야 한다.



'Oracle Database' 카테고리의 다른 글

[tip] 마지막 partition key value 값을 maxvalue로 바꾸기  (0) 2009.04.08
Buffer Cache Latch & Buffer Cache LRU Latch  (0) 2009.04.07
Database Writer (DBWR)  (0) 2009.04.07
Log Writer (LGWR)  (0) 2009.04.07
EXADATA  (0) 2009.03.20

+ Recent posts