DB

[펌] ORACLE 9I 인스턴스 구동을 위한 SPFILE 및 INIT.ORA 파라미터 ..

_침묵_ 2005. 8. 23. 06:30

PURPOSE
-------


Explanation
-----------
Oracle 9i 이전 버젼에서는 오라클 인스턴스는 텍스트 파일인 init<SID>.ora 파일
을 이용하여 구동되었으며, 이 파일은 기본적으로 $ORACLE_HOME/dbs 디렉토리 아래
위치하였다.

Oracle 9i에서는 SPFILE이라는 것이 새로 추가 되었는데, DB 서버 내에 저장되는
바이너리 파일이다. 인스턴스에 적용하고자 하는 파라미터값의 변동 사항이
인스턴스를 내리거나 구동시킬때마다 계속해서 적용될 수 있게 할 수 있다.

Oracle 9i에서는 인스턴스에 적용시킬 파라미터를 spfile 또는 init.ora 파일에
저장시킬 수 있다.

Oracle 9i 인스턴스 구동시 참조하는 파일
 - 기본 spfile  --> spfile<SID>.ora
 - 기본 init.ora 파일 --> init<SID>.ora
 - init.ora 파일을 인스턴스 구동시 별도로 지정
 - spfile 을 인스턴스 구동시 별도 지정

위 초기화 파일들의 기본 위치는 다음과 같다.
 - UNIX   --> $ORACLE_HOME/dbs
 - Windows NT / 2000 --> %ORACLE_HOME%\database

다음 예제는 Oracle 9i를 구동시키는 여러 방법을 보여주고 있다.


1. 초기화 파일 지정을 하지 않을 경우

   sqlplus /nolog
   SQL> connect / as sysdba
   SQL> startup

   오라클에서는 먼저 spfile<SID>.ora 파일이 존재하는지 찾아보고
   없을 경우에는 spfile.ora 파라미터 파일을 찾는다.
   두개 파일이 모두 존재하지 않을 경우, init<SID>.ora 파라미터
   파일을 찾는다. 만약 init<SID>.ora 파일도 존재하지 않는다면
   오라클에서는 다음과 같은 에러가 발생한다.

   SQL> startup
   ORA-01078: failure in processing system parameters
   LRM-00109: could not open parameter file
   'D:\ORA901\DATABASE\INITORA901.ORA'

2. init.ora 파일의 지정
   인스턴스 구동시 init.ora 파일을 명시적으로 지정하는 방법은
   이전버젼과 동일하다.

   SQL> startup pfile=d:\ora901\database\initORA901.ora
   ORACLE instance started.

   Total System Global Area  118255568 bytes
   Fixed Size                   282576 bytes
   Variable Size              83886080 bytes
   Database Buffers           33554432 bytes
   Redo Buffers                 532480 bytes
   Database mounted.
   Database opened.

   유의해야 할 점은 spfile 은 init.ora 파이과 같이 인스턴스 구동시
   동적으로 지정할 수 없다는 것이다. 만약 spfile을 명시적으로 지정
   할 경우 다음과 같은 에러가 발생한다.

   SQL> startup spfile=d:\ora901\database\spfileORA901.ora
   SP2-0714: invalid combination of STARTUP options

   데이터베이스를 init.ora 파일을 이용하여 구동하였을 경우
   spfile 파라미터 값은 공백으로 남아 있게 된다.

   NAME                              TYPE        VALUE
   --------------------------------- -----------
------------------------------
   spfile                            string

3. 사용하고자 하는 spfile의 지정

   사용하고자 하는 spfile을 지정하고자 할 경우에는
   init.ora 파일을 사용하여야 하며, init.ora 파일에는
   spfile의 절대 경로만 지정되어 있어야 한다.

   spfile=d:\ora901\database\spfiletest.ora

   SQL> startup pfile=d:\ora901\database\inittest.ora
   ORACLE instance started.

   Total System Global Area  122449892 bytes
   Fixed Size                   282596 bytes
   Variable Size              88080384 bytes
   Database Buffers           33554432 bytes
   Redo Buffers                 532480 bytes
   Database mounted.
   Database opened.

   이 경우에는 SQL*Plus에서 인스턴스 구동 시 사용된 spfile을
   다음과 같이 확인해 볼 수 있다.


   SQL> show parameter spfile

   NAME                           TYPE        VALUE
   ------------------------------ -----------
---------------------------------
   spfile                         string
d:\ora901\database\spfiletest.ora

   사용 중인 spfile의 내용은 다음과 같이 지정 가능하다.

   SQL>alter system set processes = 200 scope=spfile;

   System altered.

   SQL> select name, value from v$spparameter
        where name = 'processes';

   NAME            VALUE
   --------------- -----
   processes       200

 

Example
-------


Reference Documents
-------------------
<Note:162491.1