IT/oracle

Control File 다중화(Multiplexing)하기

nickas 2015. 1. 28. 16:43

1. spfile 일 경우 다중화 하기

현재 운영중인 control file의 경로를 확인 한 후

/home/oracle/disk1/control01.ctl,

/home/oracle/disk2/control02.ctl,

/home/oracle/disk3/control03.ctl로 다중화


SQL>select status from v$instance;

SQL>show parameter spfile;

SQL> select name from v$controlfile; - 현재 control File 조회

NAME

--------------------------------------------------------------------------------

/app/oracle/oradata/testdb/control01.ctl

/app/oracle/flash_recovery_area/testdb/control02.ctl

spfile의 내용을 변경한 후 instance를 종료

 SQL>alter system set control_files='/home/oracle/disk1/control01.ctl','/home/oracle/disk2/control02.ctl','/home/oracle/disk3/control03.ctl' scope=spfile;

 SQL>shutdown immediate;

대상 디렉토리 생성하고 파일 복사(여러 곳에 분산되도 내용을 모두 동일해야 한다)

 $cd /home/oracle

 $mkdir disk1 disk2 disk3

 $cp /app/oracle/oradata/testdb/control01.ctl /home/oracle/disk1/control01.ctl

 $cp /app/oracle/oradata/testdb/control01.ctl /home/oracle/disk2/control02.ctl

 $cp /app/oracle/oradata/testdb/control01.ctl /home/oracle/disk3/control03.ctl

SQL>startup

SQL>select name from v$controlfile;

순서 : spfile의 내용변경 -> instance 종료 -> control file 복사 -> instance open


2. pfile일 경우 다중화 하기

pfile에서 control file의 경로를 수정한 후 저장

 $vi $ORACLE_HOME/dbs/inittestdb.ora

해당 디렉토리를 생성 후 Control file을 복사

정상 Open 후 확인


*이동이나 복사할 때 가장 최근에 사용했던 것만 사용해야 함!!!