본문 바로가기
IT/Oralce work shop 1

[오라클] parameter file

by BlowIt 2011. 11. 7.

종류 : 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로 된 파일로 존재하는데

이것을 vi편집기로
         건드리면(수정 후 저장, 제대로 볼 수도없겠지만) 파일이 손상되어 다시는 쓸 수 없게

된다.
         

pfile은

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

댓글