
| 종류 | 정의 | 발생 상황 |
|---|---|---|
| Shared (S) | 여러 세션에서 동시에 읽기 작업을 허용하는 락으로, 동시 읽기 작업은 가능하지만 쓰기 작업은 차단됩니다. | 여러 세션이 동시에 동일한 데이터를 읽는 경우 |
| Exclusive (X) | 하나의 세션만 쓰기 작업을 허용하는 락으로, 쓰기 작업이 진행 중인 동안 다른 세션의 쓰기 및 읽기 작업이 차단됩니다. | 특정 데이터를 수정 또는 삭제하는 작업이 진행 중인 경우 |
| Update (U) | 쓰기 작업을 허용하는 락으로, 다른 세션에서도 쓰기 작업을 허용하나, 여러 세션에서 동시에 쓰기 작업을 하려고 할 때 발생합니다. | 여러 세션이 동시에 동일한 데이터를 수정하려고 할 때 발생하는 충돌 상황을 방지하기 위해 사용됩니다. |
| Intent (I) | 하위 수준의 락을 표시하는 락으로, 상위 수준의 락 요청이 발생했음을 나타냅니다. | 트랜잭션이 상위 수준의 락(예: Exclusive 락)을 요청하기 전에 먼저 하위 수준의 락(예: Shared 락)을 요청하는 경우 |
| Schema (Sch) | 스키마 변경 또는 스키마의 일관성을 보장하는 락으로, 스키마 변경 작업이 진행 중일 때 발생합니다. | 테이블이나 뷰 등의 스키마를 변경하는 작업이 진행 중일 때 발생합니다. |
추가로 읽는 데이터가 많아지면 LOCK의 단위가 Page나 Table로 격상되는 것


IS( Intent Shared Lock )은 S(Shared Lock)의 대기 상태이다.
S에서 격상되면 IS 이다.