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 |