[SQLP] UNDO vs REDO

·2025년 1월 23일

SQLP

목록 보기
12/20

😺UNDO

  • 트랜잭션을 취소(롤백)할 때 읽기 일관성을 제공하기 위해
  • 변경 이전의 이전값을 저장함
  • 주로 ROLLBACK,읽기 일관성, 실패 시 데이터 복구에 사용됨

예시)UPDATE employees SET salay = 5000 where id =1;

  • UNDO에는 salary의 이전값(예:4000)이 저장된다.
  • ROLLBACK;을 수행하면 UNDO 정보를 참조하여 salay 값을 4000으로 복구한다.

😺REDO

  • 데이터 변경사항을 재적용 하기 위해 사용됨
  • 트랜잭션이 커밋된 이후의 변경 사항을 저장함
  • 주로 데이터베이스 장애 이후 복구를 위해 사용됨

예시)UPDATE employees SET salay = 5000 where id =1;

  • 트랜잭션이 COMMIT되면 REDO로그에 "salay를 5000으로 변경"한 정보가 저장됨
  • 시스템 장애로 데이터 손상이 발생한 경우,REDO정보를 이용해 변경 사항을 다시 적용해서 데이터를 복구함
profile
냐홍

0개의 댓글