시스템 장애의 공통 전제 메모리는 사라지고, 디스크는 남습니다.

그래서 장애 복구는 "이 변경이 커밋됐는가, 그리고 데이터 파일까지 도달했는가"를 기준으로 판단합니다.

장애 시 소실 Buffer Cache

메모리에만 있던 최신 변경은 사라집니다.

장애 후 보존 Redo 로그 · 데이터 파일

디스크에 남은 기록이 복구의 근거가 됩니다.

장애가 끼어든 위치
장애 후 판정
복구 동작
사례 1
메모리 변경 COMMIT 장애 데이터 파일 기록

커밋은 끝났지만 데이터 파일은 아직 이전 상태입니다.

커밋 완료
데이터 파일 미반영
Redo 필요

로그를 읽어 커밋된 변경을 다시 적용합니다.

사례 2
메모리 변경 장애 COMMIT 데이터 파일 기록

트랜잭션이 끝나기 전에 시스템이 중단됐습니다.

커밋 미완료
데이터 파일 중간 상태 가능
Undo 필요

끝나지 않은 변경은 원래 값으로 되돌립니다.

사례 3
메모리 변경 COMMIT 데이터 파일 기록 장애

변경이 이미 데이터 파일까지 반영된 뒤에 장애가 발생했습니다.

커밋 완료
데이터 파일 반영 완료
복구 불필요

이미 영구 저장소에 기록돼 있어 그대로 사용합니다.

판단 공식

커밋 완료 + 데이터 파일 미반영이면 Redo, 커밋 미완료면 Undo, 데이터 파일까지 반영됐으면 추가 복구는 없습니다.