728x90
반응형
control file 다중화
컨트롤파일이란 모든 데이터파일, 로그 파일의 정보를 갖고있는 바이너리파일로, 오라클 DB를 마운트하고 OPEN해서 사용하는데 꼭 필요한 파일이다. 그렇기 때문에 컨트롤파일이 손상되면 오라클을 마운트, 오픈할 수 없으므로 서로 다른 디스크에 두개 이상으로 다중화를 해두는게 좋다.
-목차-
1. 다중화 계획
2. 다중화 실습
3. 다중화 확인
1. 다중화 계획
Spfile 환경에서 control file을 다음의 경로와 순서로 분산배치한다.
경로
/app/ora19c/oradata/disk4/control.ctl
/app/ora19c/oradata/disk5/control.ctl
실습 순서
1. DB 상태 확인
2. 홈위치 확인
3. 디렉토리 생성
4. 경로 수정
5. 옮기기
6. 작동확인
2. 다중화 실습
DB 상태 확인
SYS>select status from v$instance;
STATUS
------------
OPEN
//현재 OPEN상태
홈위치 확인
SQL> !env | grep ORACLE
ORACLE_OWNER=ora19c
ORACLE_SID=DB19
ORACLE_BASE=/app/ora19c
ORACLE_HOSTNAME=DB19.itclass.co.kr
ORACLE_HOME=/app/ora19c/19c
=====================================
SQL> !ls $ORACLE_HOME/dbs
hc_DB19.dat init.ora initDB19.ora lkDB19 orapwDB19 spfileDB19.ora
홈위치랑 control file이랑 경로가 겹치지 않는지 조회를 해준다.
디렉토리 생성
SQL> !mount | grep dev/sd
/dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,noquota)
======================================================================
SQL> !mkdir /app/ora19c/oradata/disk4 //disk4생성
SQL> !mkdir /app/ora19c/oradata/disk5 //disk5생성
======================================================================
SQL> !ls /app/ora19c/oradata // 확인
DB19 disk4 disk5
경로 수정
SQL> select name, value from v$parameter //현재위치조회
2 where name like 'control_files';
NAME VALUE
--------------------------------- --------------------------------------------
control_files /app/ora19c/oradata/DB19/control01.ctl,
/app/ora19c/oradata/DB19/control02.ctl
=======================================================================================
SQL> ALTER SYSTEM SET control_files =
2 '/app/ora19c/oradata/disk4/control.ctl',
3 '/app/ora19c/oradata/disk5/control.ctl' scope = spfile;
System altered.
오라클이 다시 시작될 때 적용된다.
옮기기
SQL> shutdown immediate;
controrl 파일은 살아있을 때 복사하면 안되니까 일단 셧다운부터 해준다.
SQL> !mv /app/ora19c/oradata/DB19/control01.ctl /app/ora19c/oradata/disk4/control.ctl
SQL> !mv /app/ora19c/oradata/DB19/control02.ctl /app/ora19c/oradata/disk5/control.ctl
=========================================================================================
SQL> !ls /app/ora19c/oradata/disk4
control.ctl
SQL> !ls /app/ora19c/oradata/disk5
control.ctl
!mv명령어로 옮기고 !ls로 확인한다.
작동확인
SQL> startup
ORACLE instance started.
Total System Global Area 763359832 bytes
Fixed Size 8901208 bytes
Variable Size 532676608 bytes
Database Buffers 218103808 bytes
Redo Buffers 3678208 bytes
Database mounted.
Database opened.
Database가 정상적으로 마운트되고 오픈되었다.
3. 다중화 확인
SQL> select name, value from v$parameter
2 where name like 'control_files';
NAME VALUE
--------------------------------------------------------------------------------
control_files /app/ora19c/oradata/disk4/control.ctl,
/app/ora19c/oradata/disk5/control.ctl
정상적으로 운영되고있다.
728x90
반응형
'데이터베이스' 카테고리의 다른 글
[ORACLE] MOUNT 상태에서 data file 이동하기 (0) | 2022.11.18 |
---|---|
[ORACLE] Redo log 파일 미러링하기 (0) | 2022.11.18 |
[ORACLE] oracle19c 설치하기 (0) | 2022.11.18 |
[SQL] 테이블 생성/삭제 하는법 (+데이터타입) (0) | 2022.11.16 |