트랜잭션 T1이 변수 X에 배타 잠금을 보유한 상태에서 트랜잭션 T2가… | [경찰간부후보생 데이터베이스론] 26년 1회차 기출문제 상세 페이지
1[경찰간부후보생 데이터베이스론] 26년 1회차
트랜잭션 T1이 변수 X에 배타 잠금을 보유한 상태에서 트랜잭션 T2가 X에 공유 잠금을 요청하였다. 엄격한 2단계 잠금 규약을 따를 때, T2의 요청에 대한 처리로 가장 적절한 것은?
1
즉시 허용된다.
2
T1이 배타 잠금을 해제할 때까지 대기한다.
3
T2가 T1의 배타 잠금을 강제로 공유 잠금으로 낮춘다.
4
공유 잠금은 읽기용이므로 배타 잠금과 항상 호환된다.
해설
배타 잠금은 다른 잠금과 호환되지 않으므로 T2는 T1이 잠금을 해제할 때까지 대기한다.
엄격한 2단계 잠금에서는 배타 잠금을 트랜잭션 종료(커밋·철회) 시점까지 유지하므로, T2는 그 이후에 공유 잠금을 얻는다.
- 즉시 허용된다는 설명: 공유 잠금과 배타 잠금은 충돌한다.
- T2가 T1의 잠금을 공유 잠금으로 낮춘다는 설명: 다른 트랜잭션이 보유한 잠금을 강제로 바꿀 수 없다.
- 공유 잠금이 배타 잠금과 항상 호환된다는 설명: 호환되는 것은 공유 잠금끼리이다.
오류나 개정된 내용이 보이면 알려주세요