관리 메뉴

Data Modeling Evangelist Kaien Kim's Blog

Enqueue 와 Latch 본문

DATA/Oracle

Enqueue 와 Latch

2008. 11. 19. 15:48

◈ enqueue 와 latch
- DBMS의 가장 주된 기능 중에 하나는 동일 자원에 대한 동시 액세스를 관리하는 것이며, 이를 위해 오라클이 사용하는 대표적인 제어 구조가 Enqueue와 Latch 입니다.

- enqueue는 FIFO 구조를 가진 큐 입니다. 먼저 요청한 쪽이 먼저 자원을 획득하는 방식 입니다. 그러나 latch는 enqueue와 달리 자유 경쟁에 의해 latch를 획득하게 되며 먼저 요구했다고 해서 반드시 먼저 획득할 수 있는 것이 아닙니다.

◈ 래치란?
- 래치(Latch) = 빗장, 락(Lock) = 자물쇠

- 래치는 SGA 내부의 메모리 구조에만 적용된다. 래치는 데이터베이스 오브젝트에는 적용되지 않습니다. 오라클 SGA는 많은 래치를 가지고 있으며 이것은 동시 접근에 의한 잠재적인 충돌로 부터 다양한 메모리 구조를 보호하기 위해 사용 합니다.

- 래치가 보호하는 리소스 .SGA 내의 모든 메모리 영역은 Latch를 통해서 획득됨 .Buffer Cache, Shared Pool, Library Cache, Log Buffer - SGA 영역을 탐색하는 모든 행위는 래치 획득 후에만 가능

- 래치 관련 Dynamic Performance Views .V$LATCH : 래치 종류별 통계값

출처 : http://web.oracleclub.com/glossaryview.action?glossary.glossaryId=1441

'DATA > Oracle' 카테고리의 다른 글

Full Outer Join  (0) 2009.02.24
오라클 테이블 락 ( Table lock )  (0) 2009.01.30
ORA-28000 발생시 해결법  (2) 2009.01.30
Materialized view  (0) 2008.01.16
Clustring Factor에 대한 考察  (0) 2007.08.27