Database초보우낙

13. redo log file의 다중화 본문

백업과 복구/완전복구

13. redo log file의 다중화

오운학 2024. 4. 14. 17:31

리두로그 파일 (redo log file) 역할

  • 복구를 하기 위해 필요한 파일
  • redo log file redo log buffer 내용을 적는 백그라운드 프로세서 -> LGWR
  • redo log file 순환적으로 사용이 된다 --> 재사용
  • 변경사항이 갑자기 많은 때에 LGWR Redo log file 내용을 적다가 redo log file 깨지는 경우가 종종 생긴다

ex) 대학교 학교 시스템에 갑자기 insert & update & delete작업이 몰린다 --> 수강신청

 

장애에 대처를 빠르게 하려면 평소에 백업을 잘해야한다.

redo log file같은 경우는 다중화를 해놔야한다

 

DB장애는 어쩔 없이 발생한다. 평상시에 백업을 해둬서 대비를 잘해둬야한다

 그룹 : 논리적인 단위

멤버 : 눈에 보이는 파일

log switch : 다음 그룹으로 패스

 

 

 

실습 단계

#1. 리두로그 그룹이 몇 개인지 확인

#2.  리두로그 그룹의 멤버가 몇 개인지 확인

#3.  리두로그 그룹의 멤버 무엇인지 확인

#4.  리두로그 그룹의 멤버 추가

#5.  리두로그 그룹의 멤버 추가되었는지 확인

 

실습 구현

#1. 리두로그 그룹이 몇 개인지 확인( log_status.sql)

select group#, status, sequence#, archived
from v$log;

save log_status.sql

 

SEQUENCE# = 몇번째 시퀀스인지

ARC = 아카이브에 떨어트렸는지

 

#2.  리두로그 그룹의 멤버가 몇 개인지 확인

select group#, members
from v$log;

그룹당 멤버가 하나씩 있다(※멤버가 삭제되면 DB 다운된다)

 

현장의 ! rm 수행하기 전에 3 생각한다. 혹은 옆사람에게 물어본다.

rm은되돌릴 없다 -> 장애발생

 

#3.  리두로그 그룹의 멤버 무엇인지 확인

select group#, member from v$logfile;

 

 

#4.  리두로그 그룹의 멤버 추가

alter database add logfile member '/u01/app/oracle/oradata/Ouh/멤버의이름' to group 그룹번호;

alter database add logfile member '/u01/app/oracle/oradata/Ouh/redo01b.log' to group 1;

멤버의 이름은 유니크해야한다

그룹 번호를 확인하기

 

#5.  리두로그 그룹의 멤버 추가되었는지 확인

select group#, members from v$log;
select group#, member from v$logfile;

1 그룹에 멤버가 2개인걸 확인할 있다

select group#, member from v$logfile;

 

 

 


문제1 (이수자평가 3번)

다음과 같이 리두로그 그룹과 멤버를 구성하세요

alter database add logfile member '/u01/app/oracle/oradata/Ouh/redo02b.log' to group 2;
alter database add logfile member '/u01/app/oracle/oradata/Ouh/redo03b.log' to group 3;

select group#, members from v$log;

 

select group#, member from v$logfile order by 1 , 2 ;