[7급 국가직 데이터베이스론 2012년 18번]

다음의 트랜잭션 T1과 T2는 동시에 수행될 때, 트랜잭션 간의 직렬성을 보장하지 못한다. 트랜잭션 T1과 T2의 직렬성을 보장하기 위해 2단계 로킹(two-phase locking) 규약을 적용하여 각각 트랜잭션 T3과 T4로 변환할 때, 단계 ㉠, ㉡, ㉢, ㉣에서 수행해야 할 문장이 바르게 짝지어진 것은?
T1
T2
 
T3
T4
read_lock(B);
read_item(B);
unlock(B);
write_lock(A);
read_item(A);
A = A + B;
write_item(A);
unlock(A);
read_lock(A);
read_item(A);
unlock(A);
write_lock(B);
read_item(B);
B = A + B;
write_item(B);
unlock(B);
 
read_lock(B);
read_item(B);
㉠ ;
㉡ ;
read_item(A);
A = A + B;
write_item(A);
unlock(A);
read_lock(A);
read_item(A);
㉢ ;
㉣ ;
read_item(B);
B = A + B;
write_item(B);
unlock(B);
㉠ ㉡ ㉢ ㉣
데이터베이스론
  1. ①unlock(A) write_lock(B) unlock(B) write_lock(A)
  2. ②unlock(B) write_lock(A) write_lock(B) unlock(A)
  3. ③write_lock(A) unlock(B) unlock(A) write_lock(B)
  4. ④write_lock(A) unlock(B) write_lock(B) unlock(A)

선지를 골라 바로 채점해 보세요.

정답 ④

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

신고가 접수됐습니다. 감사합니다.

오류 신고