Redo log 관리



 

Redo Log 상태

  • INACTIVE : 현재 사용중이지도 않고 복구에 필요치 않응 리두로그
  • ACTIVE   : INSTANCE Recovery 에 필요한 리두로그
  • CURRENT  : LGWR이 현재 기록중이 리두로그

상태 확인

SELECT a.group#, a.member, b.bytes/1024/1024 "Size (MB)",
b.sequence# "SEQ#", b.status, b.archived "ARC"
FROM v$logfile a, v$log b
WHERE a.group#=b.group#
ORDER BY 1,2;

 

Redo 구성

위 그림에서 처럼 물리적으로 다른 디스크에 LOG1 을 이중화 하여 관리 함으로써 가용성을 높일수 있습니다. 이렇게 관리 하기위해서는 2개의 Redo 멤버를 하나의 그룹으로 묶어야 합니다.

  • GROUP 1 : A_LOG1, B_LOG1
  • GROPU 2 : A_LOB2, B_LOG2

 

Redo 관리하기

  • Redo Log 그룹 추가
ALTER DATABASE ADD LOGFILE
GROUP 1
('/home/oracle/MYDB/disk1/redolog01_01.log',
 '/home/oracle/MYDB/disk2/redolog01_02.log',) size 20m,
GROUP 2
('/home/oracle/MYDB/disk3/redolog02_01.log',
 '/home/oracle/MYDB/disk4/redolog02_02.log',) size 20m;
  • Redo Log 그룹 삭제
ALTER DABASE DROP LOGFILE GROUP 1;

※ 삭제시 주의 사항

현재 Redo Log그룹의 상태가 CURRENT,ACITIVE 이면 Redo Log를 절대 삭제할 수 없습니다. 삭제 전에 먼저 LOGFILE SWITCH 를 발생시켜서 INACTIVE 상태로 만들어야 합니다. 단, LOGFILE SWITCH 를 한다고 꼭 INACTIVE 상태가 되는것은 아닙니다. 하지만 여러번 하다보면 결국 INACTIVE 상태로 변하게 됩니다.

  • Redo Log 멤버 추가
ALTER DATABASE ADD LOGFILE MEMBER '/home/oracle/MYDB/disk3/redolog01_03.log'
TO ('/home/oracle/MYDB/disk1/redolog01_01.log', '/home/oracle/MYDB/disk2/redolog01_02.log',);
  • Redo Log 멤버 삭제
ALTER DATABASE DROP LOGFILE MEMBER '/home/oracle/MYDB/disk3/redolog01_03.log';
  • Redo Log Rename : 파일 위치 변경이나 파일 이름 변경시에 사용
ALTER DATABASE  RENAME FILE '/diska/logs/log1a.log', '/diska/logs/log2a.log'
TO '/diskc/logs/log1c.log', '/diskc/logs/log2c.log';
  • Redo Log 강제 SWITCH
ALTER SYSTEM SWITCH LOGIFLE;


You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *