안녕하세요 Surmin 입니다!
오늘은 11g RAC ASM 환경에서 컨트롤 파일 추가 방법에 대하여 가져왔습니다
참고 부탁드립니다!
1. 현재 상태 확인 (NODE1)
Parameter File 및 Control files 확인
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DATA/CDBRAC/PARAMETERFILE/spfile.291.958489337
#백업 작업 (NODE1, NODE2)
파라미터 pfile 백업
SQL> create pfile from spfile;
Control file duplication을 위한 파라미터 설정
SQL> alter system set control_files=
'+DATA/cdbrac/CONTROLFILE/Current.301.958489157',
'+DATA/cdbrac/CONTROLFILE/Current.302',
'+DATA' -- RMAN이 자동 생성할 위치
scope=spfile sid='*';
#파라미터 확인
SHOW PARAMETER control_files;
=>참고: RMAN RESTORE시 등록된 파라미터 파일을 참고하여 새로 생성됩니다.
DB Service 중지
$ srvctl stop database -d [DBNAME]
DB Instance 개별 중지 (필요시)
$ srvctl stop instance -d database_name -i instance_name
$ srvctl stop instance -d cdbrac -i cdbrac1
RMAN 접속 및 복구 작업
$ rman target /
RMAN> startup nomount
RMAN> restore controlfile to '+DATA'
from '+DATA/cdbrac/CONTROLFILE/Current.301.958489157';
--restore controlfile to '+DATA' 명령으로 새 컨트롤 파일이 생성됨
--ASM이 자동으로 Current.302.xxxxxxxxx 형태로 생성
새로 생성된 컨트롤 파일 확인
$ asmcmd
ASMCMD> ls +DATA/cdbrac/controlfile/
Current.301.958489157
Current.302
Control File 재설정
⇒ 재설정을 하는 이유는 ‘+DATA’라는 플레이스홀더를 실제 생성된 파일명으로 교체하기 위해서
-- +DATA를 제거하고 실제 생성된 파일만 지정
SQL> alter system set control_files=
'+DATA/cdbrac/CONTROLFILE/Current.301.958489157',
'+DATA/cdbrac/CONTROLFILE/Current.302'
scope=spfile sid='*';
DB 완전 종료
#노드1, 노드1에서 작업하였으니
SQL> shutdown immediate
#한번더 혹시모르니
$ srvctl stop database -d [DBNAME]
프로세스 확인
$ ps -ef | grep pmon
DB Service 시작
$ srvctl start database -d [DBNAME]
Instance 상태 확인
SQL> select status, host_name from gv$instance;
Control File 확인 (Node1)
SQL> select * from gv$controlfile;
#asm그룹확인
select name, state, total_mb, free_mb from v$asm_diskgroup;
감사합니다.
참조