Oracle RC

Oracle은 SELECT 시작 SCN으로 Undo의 과거 버전을 읽는다

현재 블록이 더 최신이어도 SELECT가 시작된 SCN 이전에 커밋된 값만 문장 안에서 일관되게 보여준다.

문장 시점

SELECT SCN 120

문장이 시작될 때 기준 SCN이 고정된다.

커밋 필터

SCN 120 이전에 커밋된 변경만 보인다.

현재 블록

SCN 121 변경

다른 세션이 더 최신 값을 커밋했다.

Undo Segment

SCN 120의 과거 이미지를 복원해 읽는다.

수정 전제

다음 SELECT

새 문장은 새 SCN으로 다시 시작한다.

FOR UPDATE

행을 수정할 전제라면 별도 잠금이 필요하다.