ORACLE Database / WAS (iAS) / SQL 자료실 - 포기하지 않으면 실패하지 않는다!
Vote Reply Modify Delete Forward Prev Next List

  Author   : 조성환 [ ladmin ] Vote: 1066, Modifies: 3, Hit: 3288, Lines: 132, Category: Etc.
ORACLE 인스턴스 구동을 위한 SPFILE 및 INIT.ORA 파라미터 파일

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 파라미터 값은 공백으로 남아 있게 된다.

  SQL> show parameter 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


   
출처 : http://211.106.111.114/bulletin/list.jsp?seq=17103&pg=1&sort_by=last_updated&keyfield=text&keyword=pfile


Prev: WHEN MODIFYING LARGE_POOL_SIZE OR JAVA_POOL_SIZE
Next: Oracle Client "tnsnames.ora" 파일
2006/05/01(09:25) from 203.234.120.78
CrazyWWWBoard 2000

Vote Reply Modify Delete Forward Prev Next List
(c) Nobreak Technologies, Inc.