by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

Lock 관련 Event




기타 Lock 관련 Event

  • library cache lock
    • 라이브러리 캐시 오브젝트(library cache object : LCO)를 접근하거나 변경하는 경우, 핸들(handle)에 대해 획득하는 락
    • 라이브러리 캐시 오브젝트의 스팩(specification)을 보호
    • 타임아웃 - 일반 프로세스 3초, PMON 프로세스 1초
  • library cache pin
    • 라이브러리 캐시 오브젝트를 접근하거나 변경하는 경우, 라이브러리 캐시 오브젝트에 대해 획득하는 락
    • 라이브러리 캐시 오브젝트의 실행정보(contents)를 보호
    • 타임아웃 - 일반 프로세스 3초, PMON 프로세스 1초
  • Row cache lock
    • 로우 캐시 오브젝트(row cache object : RCO)를 변경하고자 할 때 획득하는 락
    • 여러 프로세스가 동시에 로우 캐시 오브젝트를 변경하면 경합 발생
    • 타임아웃 : 60초
  • buffer busy waits
    • Buffer lock 획득 시 경합 발생
    • 오라클 10g에서는 2개의 이벤트로 분리
      • buffer busry waits
      • read by other session
  • 타임아웃 - 일반적 경우 1초, 연속적으로 대기할 경우에는 3초
  • V$LOCK : Enqueue Lock에 대한 모든 정보
    • SID : 락을 보유 중이거나 요청 중인 세션의 아이디, LMODE > 0 이면 락을 보유중인 세션. REQUEST > 0 이면 락을 요청 중인 세션
    • TYPE : enqueue 락의 리소스 타입 (TM, TX, UL, US, CI, TC, ...)
    • ID1 : 리소스 아이디 1
    • ID2 : 리소스 아이디 2, TYPE+ID1+ID2가 락이 보호하는 리소스 구분자
    • LMODE : 락을 보유하고 있는 경우의 모드 (1~6)
    • REQUEST : 락을 요청중인 경우의 모드(1~6)
    • CTIME : 현재의 락 모드가 허용된 이후의 시간(second). 즉, 락을 보유하거나 요청한 이후부터의 시간.
    • BLOCK : 현재의 락이 다른 락을 블로킹하고 있는지 여부. 1 = 다른 락을 블로킹 중. 0 = 다른 락을 블로킹 하지 않음.
  • V$ENQUEUE_LOCK : 블로킹 현상이 발생한 경우만 조회 가능
  • V$LOCKED_OBJECT : TM락을 획득한 세션과 오브젝트의 정보
  • DBA_DML_LOCKS : TM 락에 대한 정보
  • DBA_DDL_LOCKS : library cache lock에 대한 정보
  • DBA_KGLLOCK : library cache lock + library cache pin에 대한 정보
  • X$KGLLK : library cache lock에 대한 정보
  • X$KGLPN : library cahce pin에 대한 정보
  • V$ROWCACHE_PARENT : row cache lock에 대한 정보

문서에 대하여

문서정보

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.