recovery
복구는 파일에 남은 값이 아니라 로그와 완료 여부로 판단한다
DBMS는 장애 직전의 애매한 상태를 로그로 판정해 완료된 작업은 살리고 미완료 작업은 되돌린다.
1
변경 전 로그 기록
무엇을 바꾸려 했는지 먼저 남긴다.
2
데이터 페이지 변경
메모리나 디스크의 실제 값을 갱신한다.
3
COMMIT 여부 확인
장애 뒤 로그에서 완료 기록을 찾는다.
4
REDO / UNDO
완료는 다시 적용하고 미완료는 되돌린다.
로그 상태
복구 판단
결과
COMMIT 있음
완료된 거래
값이 빠졌으면 REDO
COMMIT 없음
미완료 거래
중간 값이 남았으면 UNDO