DBA

개인 학습, 작업 기록용입니다. 올바르지 않은 정보가 있다면 댓글주시면 감사하겠습니다!

DATABASE/Oracle

[Oracle] 파라미터 파일 (spfile, pfile)

DBnA 2023. 8. 25. 23:06
오라클 파라미터 파일

오라클의 환경을 설정하는 파일로 정적 파라미터파일과 오라클 9i부터 소개된 동적 파라미터 파일이 존재한다. 데이터베이스 기동 시에 파라미터 파일을 참조하여 SGA 기타 필요한 환경 구성함

 

PFILE

정적 파라미터, 오라클 모든 버전에서 사용가능

$ORACLE_HOME/dbs/initSID.ora

텍스트 형식, vi 편집기로 파라미터 수정가능

 

SPFILE

동적 파라미터, 오라클 .9i 부터 사용가능

$ORACLE_HOME/dbs/spfileSID.ora

바이너리 형태, 편집기로 변경 불가능 : pfile 수정 반영하거나 sql 명령어로 수정

 

파라미터 설정 변경

 

spfile 재기동 없이 파일 내용 적용 가능하나

조건에 따라서 아래 명령어를 통해 파라미터 변경 가능하다.

 

  1. spfile : ALTER SYSTEM SET [파라미터이름=value] [scope = MEMORY /  SPFILE / BOTH ]
  2. pfile : ALTER SYSTEM SET [파라미터이름=value] [scope = MEMORY]

 

SCOPE 옵션 ( spfile 운영환경에서만 사용됨)

v$parameter.issys_modifiable 값으로 파악 가능하다

issys_modifiable : alter system 명령으로 파라미터 설정 변경할 있는지 유무

 

SCOPE 옵션을 이용하여 변경 가능한 파라미터 파악
  1. IMMEDIATE : 파라미터 타입에 상관없이 alter system으로 즉시 적용
  2. DEFERRED : 파라미터 타입 관계없이 alter  system으로 변경 ( 다음 세션부터 반영)
  3. FALSE : 인스턴스 시작에 spfile 사용되지 않았다면, alter system으로 변경 불가능.

                  (spfile 시스템 명령 인스턴스 재기동, pfile 파일 직접 수정 인스턴스 재기동)

 

* SPFILE, PFILE SCOPE 옵션 테스트 결과

spfile SCOPE옵션 (alter system 명령어 사용 여부)    
issys_modifiable both memory spfile
IMMEDIATE O O O
DEFERRED O O O
FALSE X X O

 

PFILE SCOPE옵션 (alter system 명령어 사용 여부)    
issys_modifiable both memory spfile
IMMEDIATE O O X
DEFERRED O O X
FALSE X X X

 

 

관련테이블

V$PARAMETER : 세션에 현재 영향을 주고 있는 파라미터 , 정적 파라미터 파일 사용하는 경우 조회

V$SPPARAMETER : SPFILE(server parameter file) 내용, 동적 파라미터 파일 사용하는 경우 조회