본문 바로가기
데이터베이스

redo, undo

by 흰색남자 2022. 12. 29.

UNDO, REDO

 

REDO : 다시 하다. > 작업을 다시 하다. // 기록을 다시 실행시켜서 복구시킴. << 복구

UNDO : 되돌리다. > 작업을 되돌리다. // 사용자의 작업을 원상태로 되돌림. << 롤백

 

모든 기록은 REDO 영역에 기록됨. UNDO 포함

 

시나리오

 1. 시스템 장애가 발생해서 데이터가 다 날라갔음.

> REDO 데이터를 동해 마지막 체크 포인트까지 장애의 DB BUFFER CACHE를 복구함.

> UNDO를 이용하여 COMMIT 되지 않은 데이터를 모두 ROLLBACK 시킴.

 

 * 실행순서

REDO > UNDO

 

2. 쿼리 수행 중 장애 발생 

UNDO 를 이용하여 COMMIT 되지 않은 데이터를 모두 ROLLBACK 시킴.

 

 

UNDO 기록

INSERT 시, insert 된 로우의 rowid 기록
UPDATE 시, 바뀐 컬럼의 바뀌기 전 값 기록
DELETE 시, 지워진 모든 데이터 기록