10. 대기 이벤트

조회 수 5166 추천 수 0 2011.02.18 14:19:36
balto *.204.128.206

(정의) 대기이벤트 : 오라클 프로세스가 조건 충족을 위하여 기다리는 것을 말하며 상태 정보를 파일 또는 SGA 메모리에 저장한다.

- 오라클 7 100개, 10g 890개, 11g 960개

- SQL Server는 대기유형(Wait Type)라고 한다.


▣ 대기이벤트는 언제 발생하는가?

1. 자신의 리소스를 다른 프로세스가 사용중일때

2. 다른 프로세스에게 작업 의뢰후 기다릴때

3. 할 일이 없을 때


▣ 대기이벤트는 언제 사라지는가?

- 3초 마다 깨워서 실행조건을 점검하고 실행조건이 충족되지 않으면 다시 대기한다.

- 대기이벤트가 활동을 재개하는 것은 발생조건의 반대 상황이 되었을 때이다.


래치와 대기이벤트

래치는 공유된 자원을 얻기위해 먼저 획득해야한다.

- gets : 래치요청횟수

- misses : 래치를 얻지 못한 횟수

simple_gets = gets - misses

- spin_gets : miss를 한 후 spin하는 과정에서 래치 확득에 성공한 횟수

spin_gets = misses-sleeps

- sleeps : spin 시도 후 대기 상태로 빠진 횟수


* 래치는 큐잉 메커니즘이 없다.

- 래치에 대한 대기 이벤트, 9i에서는 latch free 하나로 통합해서보여졌지만, 10g에서는 cache buffer chains, library cache lock 등 별도의 이벤트 이름 부여함.