[Oracle] 초기화 파라미터 파일(Parameter file/Spfile/Pfile)
1. Parameter파일이란?
- 파라미터 파일 : 파라미터들을 모아놓은 파일
- 파라미터 : 변수와 비슷한 개념으로, 묵시적 파라미터 값과 명시적 파라미터 값으로 나눠진다.
- 묵시적 파라미터 : 관리자가 지정하지 않을 경우, 자동으로 기본값을 가지는 파라미터
- 명시적 파라미터 : 관리자가 지정해 주어야만 값을 가지는 파라미터
2. Pfile과 Spfile
- 서버파라미터파일(Spfile)
instance가 시작되면 초기화 파라미터 파일이 읽혀지는데, 두 가지 유형의 파라미터 파일이 있다.
서버 파라미터 파일(Spfile) : 일반적으로 사용되는 초기화 파라미터 파일 유형.
데이터 베이스 서버가 읽고 쓸 수 있는 이진 파일이며, 수동으로 편집해서는 안된다.
Oracle Instance 가 실행되는 서버에 있으며 종료 및 시작과 관계없이 계속 유지 된다.
파일의 기본 이름은 spfile<SID>.ora이며 시작 시 자동으로 검색된다.
- 텍스트 초기화 파라미터 파일(Pfile)
종료 및 시작에 관계없이 초기화 파리멑 설정을 계속 유지하려면 텍스트 편집기를 사용하여 해당 설정을 수동으로 설정하고 변경해야 한다.
이 파일의 기본이름은 init<SID>.ora이며 spfile을 찾을 수 없는 경우 시작 시 자동으로 검색된다.
항목 / 파일 | Pfile | Spfile |
파일이 존재하는 기본경로 | $ORACLE_HOME/dbs (두 파일 모두 공통) | |
파일 이름 | initSID.ora | SpfileSID.ora |
내용 변경 | 관리자 (사람) | 서버 프로세스 |
파일 형태 | Text (OS 편집기로 편집가능) | Binary (OS 편집기로 편집 안됨 |
* 정해진 디렉토리($ORACLE_HOME/dbc)에 정해진 이름으로 존재해야만 STARTUP 될 때 찾아서 읽을 수 있다.
오라클 8i까지는 Pfile이 기본 파라미터 파일이었으나 9i부터는 Spfile이 기본 파라미터 파일이다.
그리고 Pfile과 Spfile이 둘다 존재할 경우엔 Spfile내용만 사용한다. Pfile의 내용을 사용하려면 Spfile을 삭제해야한다.
만약 Spfile의 구성요소의 값을 변경하고 싶다면?
ALTER SYSTEM SET 명령을 사용하여 서버프로세스에 변경요청을 하면 된다.
예)
ALTER SYSTEM SET db_cache_size=30m Scope=Memory ;
3. Spfile의 Scope
Spfile Scope 부분에 올 수 있는 옵션은 Memory, Spfile, Both가 있다.
- Memory 옵션 : spfile의 내용을 변경하지 말고 현재 작동 중인 인스턴스에만 적용하라는 의미.
- Spfile 옵션 : 현재 운영중인 인스턴스에 적용하지 말고 Spfile의 내용만 변경하라는 의미.
- Both 옵션 : Memory, Spfile 모두에 적용한다는 의미로 scope 옵션 사용하지 않을 경우 Both옵션이 기본 모드.
D.O.N.E !!!
