본문 바로가기

오라클 ADMIN

Control file


Control file

Database 전체의 상태정보가 들어있는 파일




특징

- binary file이기 때문에 내용 수정 no

- datafile 이나 log 파일 들의 정보가 들어있음

- mount 단계시 필요한 파일 따라서 지워지거나 문제가 있으면 db가 열리지 않는다

- CREATE DATABASE로 처음 크기 지정할 수 있음





내용

- db 이름 및 identifier

- db 생성시간

- tablespace 이름

- datafile 및 redo lof file 이름과 위치

- 체크포인트 정보

- undo segements의 시작 및 종료

- redo log archive 정보

- 백업정보





Multiplexing Control File

- 다른 물리적 디스크에 control file 복사본을 저장하여 다중화 시키는 작업

- 이 파일이 삭제되더라도 복구 할 수있도록 여러곳에 복사본을 만들어서 분산시켜 놓는것이다.

- 최대 8번 까지 가능함. 


- control file의 위치는 parameter file에 있기 때문에 spfile이나 pfile을 통해서 작업함, 어떤 파일이냐에 따라 작업 방법이 달라짐


- 주의!

실제 control file개수 > parameter file에 기록된 control file개수 --> 괜츈 OK! 기록된 control file만 작업 

실제 control file개수 < parameter file에 기록된 control file개수 --> NO! DB 안됨





다중화 과정


Parameter File 내용 변경 --> Instance 종료 --> Control File 복사 --> Instance Open





1. spfile인지 pfile인지 확인

show parameter spfile/pfile


value에 아무것도 안나오면 pfile을 쓰고 있는 것, value가 나오게 되면 spfile의 위치가 나오게 됨




2. Control File 조회

select name from v$controlfile ;




3. Parameter File 내용 변경


1) spfile

ALTER SYSTEM SET CONTROL_FILES='새로운 controlfile의 경로들' SCOPE=SPFILE ;


spfile은 바이너리 파일이기 떄문에 sql문장이나 ddl 문장을 통해 서버 프로세스에게 변경을 요구해야함

scope=spfile 를 추가!! 아직 새로운 control file 생성을 하지 않았기 때문에, 

현재 적용하지 않고 재부팅 했을 때 적용되게 끔 scope = spfile 옵션 붙여주기!!



2) pfile

vi $ORACLE_HOME/dbs/initSID.ora

Control File 위치 부분을 수정




4. DB SHUTDOWN




5. 새로운 Control File 생성하기

cp 현재쓰고있는Controlfile 새Controlfile


3번 과정에서 적어주었던 경로에 새 Control Files를 생성

이때! 최신 Control File 즉, 2번과정에서 현재 사용되고 있는 Control File을 복사해서 새로운  Control File 만들어야 함!

그렇지 않을 경우 Old control file 에러 발생 

(이 에러 복구는 나중에 백업복구에서 배울 예정)




4. STARTUP




* OMF Oracle Managed File 파일의 위치와 이름을 오라클 프로그램이 관리

UMF User Managed File 파일이ㅢ 위치와 이름을 사용자가 관리











'오라클 ADMIN' 카테고리의 다른 글

Tablespace and Data Files  (0) 2013.01.15
Redo Log File  (0) 2013.01.14
Data Dictionary  (0) 2013.01.14
STARTUP / SHUTDOWN  (0) 2013.01.14
Parameter Files  (0) 2013.01.14