TECH
QUESTION
자주하는 질문답변 입니다.
Oracle
작성자 | 유건데이타 | 등록일 | 2015-05-12 |
제목 | SPFILE 및 INIT.ORA 파라미터 파일 | ||
---|---|---|---|
SPFILE 및 INIT.ORA 파라미터 파일
=============================================================== PURPOSE ------- Explanation ----------- Oracle 9i 이전 버젼에서는 오라클 인스턴스는 텍스트 파일인 init 을 이용하여 구동되었으며, 이 파일은 기본적으로 $ORACLE_HOME/dbs 디렉토리 아래 위치하였다. Oracle 9i에서는 SPFILE이라는 것이 새로 추가 되었는데, DB 서버 내에 저장되는 바이너리 파일이다. 인스턴스에 적용하고자 하는 파라미터값의 변동 사항이 인스턴스를 내리거나 구동시킬때마다 계속해서 적용될 수 있게 할 수 있다. Oracle 9i에서는 인스턴스에 적용시킬 파라미터를 spfile 또는 init.ora 파일에 저장시킬 수 있다. Oracle 9i 인스턴스 구동시 참조하는 파일 - 기본 spfile --> spfile - 기본 init.ora 파일 --> init - 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 없을 경우에는 spfile.ora 파라미터 파일을 찾는다. 두개 파일이 모두 존재하지 않을 경우, init 파일을 찾는다. 만약 init 오라클에서는 다음과 같은 에러가 발생한다. 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 ------------------- |
Comment | |||
---|---|---|---|
등록된 코멘트가 없습니다. |