격리 수준이 READ UNCOMMITTED 일 때 다음 상황에서 세션 … | [SQLD] SQL 개발자 기출유형 모의고사 3회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 3회
격리 수준이 READ UNCOMMITTED 일 때 다음 상황에서 세션 B 가 겪은 현상은?
[세션 A] UPDATE 지점 SET 매출 = 900 WHERE 지점코드 = 'A';
         -- 아직 COMMIT 하지 않음
[세션 B] SELECT 매출 FROM 지점 WHERE 지점코드 = 'A';
         -- 900 이 조회됨
[세션 A] ROLLBACK;
1
Dirty Read
2
Phantom Read
3
Non-Repeatable Read
4
Lost Update
해설

세션 B 는 커밋되지 않았다가 결국 롤백된 900 을 읽었으므로 Dirty Read 이다.

READ COMMITTED 이상에서는 커밋된 데이터만 읽어 이 현상을 막으며, Oracle 은 변경 전 값을 보여 주는 읽기 일관성으로 처리한다.

  • Non-Repeatable Read 는 같은 행을 두 번 읽는 사이 커밋된 변경으로 값이 달라지는 현상이다.
  • Phantom Read 는 같은 조건 재조회 시 새 행이 나타나는 현상이다.
  • Lost Update 는 두 트랜잭션의 갱신이 겹쳐 한쪽 변경이 사라지는 현상이다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 3회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기