티스토리 뷰

Database

[Oracle] Lock Type

OManager 2019. 6. 24. 09:02

1. Enqueue(대기열): 시스템 공유자원에서 관리

   1) Managed Enqueue Type: 오라클 Databas Level 에서 발생

      - CR [ Control File Schema Enqueue ] Control File 변경시

      - DL [ Direct Loader Paraller Index Create ] 

      - ST [ Space Transaction Enquque ] 

        세그먼트의 공간 할당 및 반납에 사용, Locally Managed Tablespace를 구성하면  Lock 발생이 줄어듬

      - TT [ Temporary Table Enqueue ]

        Tablespace와 관련한 작업의 Deadlock 방지

      -  SQ [ Sequence Number ]

        시퀀스를 Cache Size만큼 보충하거나 초기화 할 때, 시퀀스의 정합성을 유지함

      - DR [ Distributed Recovery Process ]

      - MR [ Media Recovery ] 

         Datafile이 복구되는 동안 Read를 제한

       - TS [ Temporary Segment ]

         Sort를 위한 Temporary Segment 보호

   

    2) Client Enqueue Type : User Type Lock으로서 보통 DML 작업시 발생하게 된다.

       - TM [ DML Enqueue ]  

         Table Level Lock (Shared Mode)

       - TX  [ Transactional Enqueue ] 

         Row Level Lock (Exclusive Mode)

 

     3) Enqueue Mode Type

        - RS [ Row Share[lmode=2] ]

           Query에 의해서 추출되는 Row에 Exclusive Lock,  ex) select ...  for update

        - RX [ Row Exclusive[lmode=3] ] 

           DML 시 Table에 요구되는 Lock

        - S [ Share[lmode=4] ]

           참조무결성에 사용되는 Lock

        - SRX [ Row Exclusive[lmode=5] ]

           On Delete Cascade에 사용되는 Lock

        - X [ Exclusive[lmode=6] ]

           DML시 Row에 요구되는 Lock

 

2. Latch: 메모리 데이터 구조의 정합성을 보장해주며, 빠른 수행속도와 적은비용으로 Lock Mechanism 을 구현

   1) Solitary Latch 

       하나만 존재 ( Redo Allocation Latch, Shared Pool Latch ) Willing To Wait 방식에 의한 획득방식

   2) Latch Set 

       하나의 Parent Latch가 다수의 Child Latch를 소유(Cache Buffer Chain Latch), 

       No Wait 방식은 해당 Latch를 획득하지 못해도 Child Latch중의 하나를 획득,   Immediate 획득방식

 

[Enqueue Mode Compatibility]

  RS RX S SRX X
RS ×
RX × × ×
S × × ×
SRX × × ×
X × × × × ×

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함