4. DFS lock handle
4-1 SV 락 경합

  • SV(Sequence Value) 락은 RAC에서 ORDER 속성의 시퀀스 값을 보호하기 위한 락이다.
    시퀀스의 속성에 따라 사용되는 락과 락 경합으로 인해 발생하는 대기 이벤트는 아래와 같다.
    속성 내용
    NOCACHE - Row cache lock을 이용해서 시퀀스 값을 보호
  • 경합 발생시 row cache lock 이벤트를 대기
    CACHE+NOORDER - SQ락을 이용해서 시퀀스 값을 보호
  • 경합 발생시 enq: SQ contention 이벤트를 대기
  • 성능 면에서는 다른 속성보다 유리하다.
  • NOORDER 속성의 시퀀스는 RAC시스템에서 노드간의 순서를
    보장할 수 없다.

ORDER - SV 락을 이용해서 시퀀스 값을 보호

  • 경합 발생시 DFS lock handle 이벤트를 대기
  • RAC 에서만 의미가 있다.

4-2 CI 락 경합

  • CI(Cross Invocation) 락은 데이터베이스 관리를 위한 프로세스간 통신을 동기화 하는데 사용.
  • Truncate 작업에서 많이 관찰 됨.
    즉, 많은 수의 프로세스가 동시에 테이블 Truncate 작업을 수행하는 경우 CI락을 획득하기 위해 대기하게 된다.
    이때 enq: CI contention 이벤트 혹은 DFS lock handle 이벤트를 대기하는 것으로 관찰됨.
  • 오라클 10g R2부터는 Truncate 알고리즘 개선으로 인해 경합 대기 시간이 최소화 되었다.
  • 이 락에 대한 자세한 부분은 "Advanced OWI on Oracle 10g" 책을 참조