나의 개발일지

[Oracle] Table Lock의 종류 본문

Oracle SQL 엔진

[Oracle] Table Lock의 종류

YoonJuHan 2022. 12. 20. 19:48
Lock의 유형
  • Lock : 같은 Data를 Access하는 사용자들 사이에 해를 끼치는 것을 예방하기 위함
  • Exclusive : Lock이 걸린 Data의 공유를 허용하지 않는다.
  • Share : 명령의 유형에 따라 Lock된 Data가 공유되는 것을 허용한다.

Row Share Table Locks
(RS)
- row를 lock 시키고 lock된 테이블을 UPDATE
- 모든 row를 SELECT 하려는 다른 트랜잭션 허용
- 동일 테이블 내에서 lock 되지 않은 row를 INSERT, UPDATE, DELETE 하는 다른 트랜잭션 허용
Row Exclusive Table Locks
(RX)
- row를 lock 시키고 테이블에서 row를 변경
- 모든 row를 SELECT 하려는 다른 트랜잭션 허용
- 동일 테이블 내에서 lock 되지 않은 row를 INSERT, UPDATE, DELETE 하는 다른 트랜잭션 허용
Share Table Locks
(S)
- 다른 트랜잭션을 제공하지 않는 테이블에서 row를 INSERT, UPDATE, DELETE 하는 것이
  Share lock을 홀딩
- 동일 테이블 내에서 지정된 row를 QUERY 또는 LOCK 하려는 다른 트랜잭션 허용
Share Row Exclusive Table Locks
(SRX)
- 테이블에 row를 INSERT, UPDATE, DELETE 함
- 동일 테이블 내에서 지정된 row를 QUERY 또는 LOCK 하려는 다른 트랜잭션 허용
Exclusive Table Locks
(X)
- 테이블에 row를 INSERT, UPDATE, DELETE 함
- 동일 테이블 내에서 지정된 row를 QUERY 하는 것에 대해서만 다른 트랜잭션 허용
Comments