Database초보우낙
13. redo log file의 다중화 본문
리두로그 파일 (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 ;

'백업과 복구 > 완전복구' 카테고리의 다른 글
14. redo log group의 멤버 삭제하기 (0) | 2024.04.14 |
---|---|
12. inactive 상태의 redo log file이 삭제 되었을 때 복구 (0) | 2024.04.14 |
11. multiplexing된 controlfile 중에 1개를 삭제하고 복구 (0) | 2024.04.12 |
10. control file을 multixplexing하기 (0) | 2024.04.12 |
9. binary file로 백업받은 controlfile 복구 (0) | 2024.04.12 |