데이터베이스의 변경사항을 저장하는 방법에는 크게 3가지가 가능함

h4.1) logical logging

  1. 설명: operation logging이라고 불리며 insert, delete, update, select for update 와 같은 오퍼레이션을 저장하는 방법
  2. 장점: 오퍼레이션만을 저장하므로, 저장되는 리두의 양이 적음
  3. 단점: 복구 시에 보잡한 절차를 거쳐 수행된다는 점

h4.2) physical logging

  1. 설명: 변경된 모든 블록의 이전, 이후 이미지를 저장하는 방법
  2. 장점: 블록단위의 저장 방식이므로 복구시에 간단한 절차를 거쳐 수행된다는 점
  3. 단점: 저장되는 리두의 양이 많다는 점

h4.3) physiolgical logging

  1. 설명: 오퍼레이션 코드와 블록의 변경사항을 저장하는 방법
  2. 장점: 오라클은 logical logging 방식과 physical logging 방식의 장점을 취합한 방식인 physiolgical logging 사용함
  • physiological logging의 저장방법 몇가지 예
StatementUndoRedo
INSERT INTO t1 VALUES (1,'ABC', 100);Delete row 1Row1   c1 := 1   c2 := 'ABC'   c3 := 100
UPDATE t1 SET c2='DEF' WHERE c1=1;Row1   c2 := 'ABC'Row1   c2 := 'DEF'
DELETE FROM t1 WHERE c1 = 1;Row1   c1 := 1   c2 := 'DEF'Delete row 1
SELECT c2 FROM t1 WHERE c1 = 1 FOR UPDATE;Unlock row 1Lock row 1