오라클에서 일어나는 트랜잭션에 대한 변경 내역 기록. LGWR(Log Writer) 의해 로그버퍼에 쓰여진 내용이 리두로그 파일에 기록됨.
리두로그 파일은 DB에 장애가 발생하였을때 데이터 파일에는 쓰여지지 않은 커밋된 데이터 복구용으로 사용되며 복구를 위해 사용된다.
참고> LGWR이 써지는 경우
1. Commit이 발생
2. Redo Log Buffer가 1/3이 찼을 때
3. 변경량이 1MB가 되었을때
4. 3초 마다
5. DBWR (DB Writer)가 내려쓰기 전
■ 리두로그의 상태
UNUSED : 리두로그 그룹이 사용된 적이 없음
INACTIVE : 현재 사용중이지도 않고 복구에도 필요없는 리두로그
ACTIVE : 복구에 필요한 리두로그
CURRENT : LGWR이 현재 기록중인 리두로그
■ 리두로그의 구성
물리적으로 다른 디스크를 분리하고 이중화 하여 가용성을 높일 수 있다.
Group은 최수 2개 (권장 3개), Member는 최소 1개 (권장 2개)
Member가 1개인 경우 불안정 할 수 있으므로 2개의 Member를 구성하는 것이 바람직하다.
(Member가 1개만 있다면 해당 그룹의 Disk가 장애가 나면 이 Group의 log data 유실 된다.)
같은 Group 의 Member 는 절대 동일한 디스크에 함께 두는 것을 권장하지 않는다. 만약의 경우 디스크에 장애가 날 경우, 그 Group 전체가 손상 될 수 있기 때문이다.

■ 리두로그의 관리
- 리두로그 그룹 추가
ALTER DATABASE ADD LOGFILE
GROUP 1
('/home/oracle/인스턴스명/disk1/redolog01_01.log',
'/home/oracle/인스턴스명/disk2/redolog01_02.log') size 20m,
GROUP 2
('/home/oracle/인스턴스명/disk3/redolog02_01.log',
'/home/oracle/인스턴스명/disk4/redolog02_02.log') size 20m
- 리두로그 그룹 삭제
ALTER DATABASE DROP LOGFILE GROUP 1
리두로그 삭제시 REDO LOG 그룹의 상태가 CURRENT, ACTIVE 이면 삭제 불가능
LOGFILE SWITCH를 발생 시켜 INACTIVE 상태로 만들어야 함
- 리두로그 멤버 추가
ALTER DATABASE ADD LOGFILE MEMBER '/home/oracle/인스턴스명/disk3/redolog01_03.log'
TO ('/home/oracle/인스턴스명/disk1/redolog01_01.log','/home/oracle/인스턴스명/disk2/redolog01_02.log')
또는
ALTER DATABASE ADD LOGFILE MEMBER '/home/oracle/인스턴스명/disk3/redolog01_03.log'
TO GROUP1
- 리두로그 멤버 삭제
ALTER DATABASE DROP LOGFILE MEMBER '/home/oracle/인스턴스명/disk3/redolog01_03.log'
- 리두로그 강제 스위치
ALTER SYSTEM SWITCH LOGFILE
- 리두로그 상태 확인
SELECT * FROM V$LOG;
SELCECT * FREOM V$LOGFILE;
댓글 없음:
댓글 쓰기