오라클 데이터베이스 관리자 기초-(4)컨트롤 파일 유지 관리

2020. 1. 7. 09:55Security/oracle database

컨트롤 파일

- DB의 구조(Structure)를 포함하는 조그마한 바이너리 파일.

- 오라클이 사용하며, DBA도 변경 할 수 없다.

- 데이타베이스의 구조변경이나 변경사항이 있을 때 자동으로 업데이트.

- 모든 데이터파일, 로그 파일의 정보(경로, 이름 등)를 소유.

- 컨트롤 파일은 오라클 DB를 마운트하고, 오픈하여 사용하는데 꼭 필요한 파일.

- 컨트롤 파일이 손상되면 mount, open 할 수 없으므로 적어도 두 개 이상의 컨트롤 파일을 백업 받아서 다른 디스크에 저장해 놓는 것을 추천.

- 복구시 필요한 동기화(Synchronization)정보를 저장.

- 정적 파라미터이기 때문에 컨트롤 파일을 복사할때는 DB를 죽인 상태에서 진행. 

 

컨트롤 파일 다중화(미러링)

컨트롤 파일이 가용성을 확보하기 위해 서로 다른 하드 드라이브에 저장. 만약 하나의 컨트롤 파일이 손실되면 다중화된 복사본 컨트롤 파일을 사용해서 데이터베이스를 복구하지 않고 인스턴스를 재시작 할 수 있다. 이론적으로 하드 드라이브가 최소 2개가 있으면 다중화가 가능하지만 원활한 사용을 위해 최소 5개의 하드 드라이브가 필요하다. 

 

[실습]

 

SELECT name, value FROM v$parameter WHERE name LIKE 'control_files';

컨트롤 파일의 파라미터 상태 확인

ALTER SYSTEM SET control_files =
'/app/ora12c/oradata/disk4/control.ctl',
'/app/ora12c/oradata/disk5/control.ctl' scope = spfile;

sp 파일의 내용변경. 내용이 완전히 같기때문에 같은 이름으로 써준다.

SHUTDOWN IMMEDIATE
!mv /app/ora12c/oradata/DB12/control01.ctl /app/ora12c/oradata/disk4/control.ctl
!mv /app/ora12c/oradata/DB12/control02.ctl /app/ora12c/oradata/disk5/control.ctl

 

정적 파라미터이기때문에 셧다운 상태에서 복사 진행

SELECT name, value FROM v$parameter WHERE name LIKE 'control_files';