건물을 지을 때 설계도가 필요하듯이, 오라클도 인스턴스를 생성하기 위해 설계도가 필요하다. 이 설계도를 파라미터 파일이라고 부른다.
이전에 우리가 네임서버와 샌드메일서버를 구축할 때 보았던 named.conf와 sendmail.cf같은 설정파일이라고 생각하면 된다.
해당 파라미터 파일 안에 있는 값들을 읽어서 인스턴스를 생성한다.
파라미터 파일에는 두 종류가 있다.
- pfile
- spfile
◆ PFILE
- PFILE은 텍스트파일로서, OS의 편집기로 편집이 가능하다.
- 내용 변경 후 즉시 적용이 안되고, 다음 DB스타트업시 적용된다.
- 경로는 $ORACLE_HOME/dbs 아래에 위치한다.(경로 아래에 있는 init.ora와 initdw.ora는 샘플파일임)
- 이름은 initSID.ora이다.
- DB운영중에 PFILE은 복사를 해도 지장없다. 노마운트 단계에서 읽고난 후에는 상관없다.
- 8i까지는 pfile밖에 쓰지 못했다. 9i부터 pfile과 spfile을 다 쓸수 있게 되었는데, 동시에 두개를 모두 쓸 수는 없다. 두개가 존재하면 spfile을 읽는다. 만약 pfile을 읽도록 하고 싶다면 spfile을 지워주면 된다.(금융쪽은 거의 다 pfile을 사용함)
◆ SPFILE
- SPFILE은 바이너리파일로서, OS의 편집기로 편집했다가는 큰일난다. 우리가 내용을 열어서 볼 수는 없다.
- 9i부터 기본 초기화 파라미터임.
- 내용을 변경하기 위해서는 alter system set 명령어를 이용해야 한다.(PFILE이든 SPFILE이든 상관없이 바로 적용됨)
- alter system set 명령어 뒤에 scope라는 옵션이 있는데 옵션값에 따라 적용범위가 다르다.
scope의 범위
- memory : 지금 돌고있는 서버에만 적용시키고 파라미터 파일에는 적용시키지 않음. 재부팅하면 원래대로 값이 돌아옴.
- spfile : 현재 적용시키지 않고 재부팅시 적용시킴.
- both : 지금 즉시 적용시키고, 파라미터 파일에도 적용시킴. (기본값)
- pfile과는 달리 운영중에 spfile을 복사하면 절대 안된다. 자칫 DB가 죽을 수 있다.- memory : 지금 돌고있는 서버에만 적용시키고 파라미터 파일에는 적용시키지 않음. 재부팅하면 원래대로 값이 돌아옴.
- spfile : 현재 적용시키지 않고 재부팅시 적용시킴.
- both : 지금 즉시 적용시키고, 파라미터 파일에도 적용시킴. (기본값)
◆ PFILE 생성
SQL> create pfile from spfile;
◆ SPFILE 생성
SQL> create spfile from pfile;
◆ 스타트업 시 임의의 위치에 있는 파라미터 파일 지정하여 스타트업 하기
SQL> startup pfile=경로;
단, spfile은 위와 같은 방법으로 하지 못한다. 대신 pfile에 spfile이 있는 위치를 지정해주는 라인을 넣으면 된다.<pfile 안의 내용>
spfile=경로
spfile=경로
◆ 짱박혀있는 pfile 갖다 이용하기
SQL> !cp $ORACLE_BASE/admin/SID/pfile/init.ora.숫자 $ORACLE_HOME/dbs/initSID.ora
◆ 현재 어떤 파라미터 파일을 사용하고 있는지 조회
SQL> show parameter spfile;
위 명령을 날려서 value에 값이 있으면 spfile을 사용하고 있는 것이고, 비었으면 pfile을 사용하고 있는 것이다.'오라클 > Admin' 카테고리의 다른 글
[Admin] Control File (0) | 2010.08.26 |
---|---|
[Admin] Startup과 Shutdown (0) | 2010.08.26 |
[Admin] Database Starting Up (0) | 2010.08.26 |
[Admin] Logical Structure (0) | 2010.08.26 |
[Admin] Background Process (0) | 2010.08.26 |