SCN의 역할
SCN은 "지금 이 조회가 어느 시점까지의 데이터를 볼 수 있는가"를 고정하는 기준점입니다.
변경은 더 큰 SCN을 받으며 시간축에 쌓이고, 조회는 시작 순간의 SCN을 붙잡습니다. 그래서 읽는 동안 나중에 커밋된 변경이 섞이지 않습니다.
변경 SCN 축
SCN 1490
INSERT 로 첫 버전 생성
행이 처음 만들어져 이 시점부터 조회 가능해집니다.
SCN 1500
T1 SELECT 시작
T1은 바로 이 번호를 자신의 일관된 읽기 기준으로 고정합니다.
SCN 1510
UPDATE 커밋
값이 바뀌어도 T1 입장에서는 이미 시작 뒤에 발생한 미래 변경입니다.
SCN 1520
DELETE 커밋
삭제도 같은 시간축 위의 더 늦은 변경으로 처리됩니다.
T1이 보는 범위
규칙: SCN ≤ 1500 인 버전만 T1의 결과 집합에 포함
조회 시작 SCN = 1500
1490
보임
조회 시작 이전에 존재하던 행 버전
1500
보임
T1이 스냅샷을 고정한 바로 그 시점
1510
안 보임
나중에 반영된 UPDATE 는 미래 변경
1520
안 보임
뒤늦은 DELETE 역시 이번 조회에서는 제외
읽기 일관성의 의미
SCN은 어떤 시점의 데이터를 읽어야 하는지를 정하고, 다음 절의 Undo Segment는 그 시점의 버전을 실제로 복원합니다. 즉, SCN이 기준점을 잡고 Undo가 그 기준점의 내용을 되살립니다.