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

enq UL - contention, PLSQL lock Timer




Enq: UL - Contention, PL/SQL lock Timer

  • DBMS_LOCK 패키지를 사용하면 사용자가 임의의 가상적인 자원에 대해 락 설정 가능
  • DML에 의해 발생하는 락의 경우 반드시 물리적인 자원(테이블/트랜잭션/세그먼트 등)
    을 필요로 하지만, DBMS_LOCK 패키지를 사용할 경우에는 이런 제한이 없다.
  • DBMS_LOCK 패키지를 이용해 획득하는 락을 UL(User-defined Lock)락이라 부른다.
    UL락을 장시간 보유함으로써 동시성 문제를 일으키고 있다면 세션을 강제로
    종료시키는 것 외에는 대안이 없다. DBMS_LOCK.REQUEST 함수 사용시 가능하면
    RELEASE_ON_COMMIT 옵셥을 사용해서 불필요하게 락을 보유하지 않도록 하는 것이 좋다.
  • 이 옵션을 사용하면 커밋이나 롤백이 발생하면 해당 트랜잭션이 보유하던
    UL락을 자동으로 해제 한다.

문서정보

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