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
'DB' 카테고리의 다른 글
Installing Oracle 9iR2 on Red Hat 9 (0) | 2005.08.23 |
---|---|
[펌] Redhat9 + 오라클 9i R2 설치 (0) | 2005.08.23 |
[펌] 시스템 성능에 큰 영향을 미치는 상위 8개 INIT.ORA 파라미터 (0) | 2005.08.23 |