[ORACLE] pfile/ spfile

MinHee·2023년 7월 8일
0

startup 시에 오라클 엔진이 읽어들이는 파라미터 파일 우선순위

  1. spfile
  2. pfile
  3. ...?

파일 위치는 아래로 공통됨

$ORACLE_HOME/dbs

해당 위치에 spfile이 없으면, pfile을 읽어들이며 startup 됨

임의로 강제하여 읽어들이는 파일을 지정할 수 있음

startup pfile='pfile 파일 경로'

기동 시에 적용된 파라미터 파일 확인

show parameter spfile

해당 값이 있으면 : spfile
해당 값이 없으면 : pfile

정적 파라미터 / 동적 파라미터

정적 파라미터 : 재기동하지 않아도 즉각 반영되는 파라미터
동적 파라미터 : 변경시에 재기동을 필요로 하는 파라미터

SELECT name, value, issys_modifiable FROM V$PARAMTER;

issys_modifiable

  • immediate : alter sytem 명령어로 바로 변경되는
  • deferred : alter sytem 명령어로 변경이 되지만, 적용은 다음에 접속되는 세션부터 (session 관련 파라미터)
  • false : spfile을 변경해야 적용되는 파라미터 (반영시에 재기동 필요)

pfile

DBA가 임의로 설정하는 파라미터 값

파일명 : initSID.ora

spfile

오라클 엔진에서 설정하는 파라미터 값

파일명 : spfileSID.ora

파라미터 수정 명령어

alter system set parameter=<변경값> scope=<both|memory|spfile> ;

spfile : spfile만 수정
memory : 현재 DB에만 적용이 되며, 재기동하면 설정값이 초기화되므로
정적 파라미터는 memory 옵션으로 변경 불가 (ORA-02095; 지정된 초기화 파라미터는 변경될 수 없습니다)
both : spfile, memory 모두 변경됨 (default 설정)

위 명령어로 수정시에, 동적 파라미터만 바로 반영이 된다.
정적 파라미터는 재기동시에만 변경되는 파라미터.

spfile to pfile

create pfile from spfile;

pfile to spfile

create spfile from pfile;

변경여부 확인

VSPARAMETER:spfile변경여부확인showparameterorVSPARAMETER : spfile 변경 여부 확인 show parameter or VPARAMETER : 현재 DB 변경 여부 확인

SELECT name, value FROM V$PARAMETER;
profile
성장하는 개발자

0개의 댓글