달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2011. 1. 6. 17:35

Redo Log Work/ORACLE2011. 1. 6. 17:35

[Redo log 란?]
Oracle 에서 일어나는 Transaction에 대한 변경내역들을 기록하는 file.
Redo log는 redo entry로 구성되어 져있으며, Oracle process [LGWR] 에 의해 log buffer에 쓰여진 내용이 Redo logfile에 쓰여진다. Transaction 발생 -> redo entry가 log buffer에 기록 -> redo entry는 다시 LGWR에 의해 Redo log file에 쓰여진다.

[Redo log 상태]
INACTIVE:현재 사용중이지도 않고 복구에 필요치 않응 Redo log
ACTIVE:INSTANCE Recovery 에 필요한 Redo log
CURRENT:LGWR이 현재 기록중이 Redo log

[REDO의 구성]
물리적으로 다른Disk에 LOG1 을 2중화 하여 관리함으로써 가용성을 높인다.
이렇게 관리 하기위해서는 2개의 REDO Member를 하나의 Group으로 묶어야 한다.

[관리]
Redo log Group 추가
ALTER DATABASE ADD LOGFILE GROUP 1 ('<Full path file name>', '<Full path file name>',) size 100M;
Redo log Group 삭제
ALTER DABASE DROP LOGFILE GROUP 1;
삭제시 주의 사항
현재 Redo logGroup의 상태가 CURRENT,ACITIVE 이면 Redo log를 절대 삭제할수 없다.
삭제 전에 먼저 LOGFILE SWITCH 를 발생시켜서 INACTIVE 상태로 만들어야 한다.
단, LOGFILE SWITCH 를 한다고 꼭 INACTIVE 상태가 되는것은 아니다. 
하지만 여러번 하다보면 결국 INACTIVE 상태로 변하게 된다.
Redo log Member 추가
ALTER DATABASE ADD LOGFILE MEMBER '<Full path file name>' TO GROUP 1;
Redo log Member 삭제
ALTER DATABASE DROP LOGFILE MEMBER '<Full path file name>';
Redo log 강제 SWITCH
ALTER SYSTEM SWITCH LOGFILE;
Redo log 상태 확인
SELECT * FROM V$LOG;
SELECT * FROM V$LOGFILE;
:
Posted by Elick