종류 : pfile
spfile
존재경로 : $ORACLE_HOME/dbs
존재형태 : pfile -> init[SID].ora
spfile -> spfile[SID].ora
우선순위 : spfile >> pfile
pfile과 spfile이 동시에 존재한다면 spfile을 인식해 nomount단계까지 끌어올린다.
설명 : 오라클 instance의 size를 결정하거나 할당할 수 있는 process들의 수 등, 수 많은 파라미터를 결정해
그 값들을 파일에 저장시켜놓아 해당 DB에 최적화된 파라미터값들을 가질 수 있도록한다.
spfile은 동적파라미터로 DB가 운영 중임에도 불구하고 파라미터값을 즉시 바꿀 수 있다. (하지만 일부
정적파라미터는 다시 구동해야 적용되는 부분이 있음)binary로 된 파일로 존재하는데
건드리면(수정 후 저장, 제대로 볼 수도없겠지만) 파일이 손상되어 다시는 쓸 수 없게
된다.
text형태의 파일로 존재하며 직접 vi편집기로 수정가능하다. 하지만 pfile을 수정 후 그 파라미터들을
해당 DB에 적용시키기 위해서는 반드시 재기동이 필요하다.
backup
파라미터파일들은 그 시점마다 저장시켜놓고 startup 시에 pfile 또는 spfile을 이용해 시점에 해당하는
파라미터들을 적용시킬 수 있다. 따라서 해당 시점에 파라미터파일을 저장해놓고 파일명에 식별가능하게
backup해 놓는 것이 현명하다.
SQL> create spfile from pfile;
SQL> create pfile from spfile;
SQL> create pfile from spfile='/u01/app/oracle/initbackup.ora';
특정 경로를 직접 입력해도 무방하다. 하지만 3번같은 경우 현재 사용 중인 pfile이 있다면 덮어 쓸
위험도 있으므로 pfile='/u01/app/oracle/111107_back' 따위로 이름을 따로 결정해 주는 것이 현명.
spfile사용시 정적파라미터들에 대한 변경
일부 정적파라미터들은 spfile을 사용하더라도 다시 기동해줘야하는 부분이 생긴다.
SQL> alter system set sga_max_size=100;
보통 파라미터값을 바꿀 때 위와같이 명령어를 입력한다.하지만 위의 경우 오류메시지를 출력하며 반영이 안될 것이다.
따라서 scope=spfile 옵션을 주고 DB를 재기동 시켜야 적용된다.
<scope 옵션을 이용한 파라미터의 적용>
scope=both >>>>> 현재 메모리와 다음 startup시에 동시 적용
scope=spfile >>>>> 다음 startup시에 적용(spfile에 저장시킴)
scope=memory >>>>> 현재 메모리에만 적용
ex) SQL> alter system set sga_max_Size=100 scope=spfile;
'IT > Oralce work shop 1' 카테고리의 다른 글
segment와 object (0) | 2012.05.10 |
---|---|
[오라클]시작과 종료 (0) | 2011.11.03 |
[오라클]backup script (0) | 2011.11.02 |
[오라클] catalog database (0) | 2011.11.02 |
[오라클] backup (0) | 2011.11.02 |
댓글