[Oracle] Controlfile 다중화
< Controlfile 다중화 >
- DB의 모든 동기화 정보가 기록된 곳
- DB당 하나 운영 가능
- 최대 8개까지 다중화 기능 제공 ( 오라클 권장사항 3개 )
- DB 생성 시 및 생성 후 변경 가능
- 다중화가 되어있다면 최신 시점으로 복구가 가능해진다
- 백업을 받기 위해선 DB가 멈춰야하지만 다중화는 하나가 손상되더라도 남은 하나로 복구 가능
① Controlfile 정보 조회
SELECT name
FROM v$controlfile;
② Controlfile 다중화 절차
- 1. DB 추가
· 기존에 존재하는 Controlfile도 적고 추가할 Controlfile도 적어줘야 한다
· 콤마(,)로 파일 구분
· 추가할 Controlfile은 scope 지정이 필요
· scope가 memory v나 both v면 지금 실행되는 DB에 바로 적용하라는 의미지만 아직 DB가 생성되지 않아서 사용불가
· scope = spfile은 재시작할 때 적용하라
ALTER system set control_files = '/u01/.../o1_mf_fwvn95xm_.ctl',
'/u01/.../o1_mf_fwvn96cd_.ctl',
'/u01/.../control03.ctl' scope=spfile;
- 2. DB 종료
· DB를 정상적으로 끄면서 가장 정상적인 방법으로 종료
shut immediate;
- 3. OS 추가
· 복사할 때 DB추가할 때 지정한 경로와 파일명으로 복사해줘야 함
· 첫 번째든 두 번째 controlfile이든 상관없이 같기 때문에 아무거나 복사하면 됨
· 첫 번째 contreolfile 경로로 가서 확인
!
cd /u01/app/oracle/oradata/ORCL/controlfile
ls => 첫 번째 controlfile 확인
cp o1_mf_fwvn95xm_.ctl /home/oracle/control03.ctl
cd /home/oracle
ls => 세 번째 controlfile 확인
exit
- 4. DB 시작
startup
· DB 시작할 때 Mount를 못 올라가면 controlfile에 문제가 있다는 의미
· show parameter control_files로 조회해서 확인
- 5. 다중화 확인
· DB가 오픈된 경우에만 조회 가능
SELECT name
FROM v$controlfile;