1. SPFILE이란?

  • Oracle 9i부터 Server Parameter File이라고 불리는 spfileSID.ora가 새로 추가 되었습니다.
  • ALTER SYSTEM 명령어을 통해 운영중에 파라미터를 수정 할 수 있고, 서버를 restart하지 않아도 반영이 됩니다.
  • SPFILE의 내용이 보이기는 하지만 바이너리 파일이기 때문에 수동으로 변경하면 다시 사용 될 수 없습니다.(변경하고자 하면 SPFILE \-> PFILE로 만드시오)
  • 파일 위치는 $ORACLE_HOME/dbs이며 파일명은 spfileSID.ora입니다.
  • 한번 만들어 지면 오라클 서버에 의해서 자동으로 관리가 됩니다.


1) SPFILE 생성

  • PFILE로부터 만들어 지고, SYSDBA권한이 있어야 하며, 인스턴스가 시작하기 전 혹은 시작 후에 할 수 있습니다.


SQL> CREATE SPFILE FROM PFILE;

파일이 생성되었습니다.

SQL> SELECT * FROM V$SPPARAMETER WHERE ROWNUM < 11;

SID                                                                              NAME                           
-------------------------------------------------------------------------------- -------------------
*                                                                                tracefile_identifier           
*                                                                                lock_name_space                
*                                                                                processes                      
*                                                                                sessions                       
*                                                                                timed_statistics               
*                                                                                timed_os_statistics            
*                                                                                resource_limit                 
*                                                                                license_max_sessions           
*                                                                                license_sessions_warning       
*                                                                                cpu_count                      

10 개의 행이 선택되었습니다.


2) SPFILE 변경

  • MEMORY : 즉시 적용된다. 그러나 다시 시작된 후에는 사라진다. PFILE을 이용하여 데이터베이스를 시작한 경우에는 MEMORY가 기본값이다.
  • SPFILE : 현재 설정에는 영향을 미치지 않지만 다시 시작되는 순간 이 매개변수가 적용될 수 있도록 SPFILE을 수정한다.
  • BOTH : 현재 인스턴스의 설정과 SPFILE을 동시에 변경한다. SPFILE을 사용하여 데이터베이스를 시작하는 경우에는 BOTH가 기본 값이다.


SQL> show parameter large_pool_size;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ---------
large_pool_size                      big integer 16M
SQL> 
SQL> ALTER SYSTEM SET large_pool_size=32M SCOPE=BOTH;

시스템이 변경되었습니다.

SQL> show parameter large_pool_size;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ---------
large_pool_size                      big integer 32M


2. PFILE이란.?

  • PFILE은 운영체제 에디터를 사용하여 변경 할 수 있는 텍스트 파일입니다.
  • 인스턴스가 시작 할 때만 읽히므로 이 파일을 수정하여 다시 반영하려면 인스턴스를 다시 시작해야 합니다.
  • 파일 위치는 $ORACLE_HOME/dbs이며 파일명은 initSID.ora입니다.
  • KEY=VALUE 형식으로 지정
  • 주석은 # 으로 시작

SQL*Plus: Release 10.2.0.1.0 - Production on 화 10월 27 19:02:08 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn sys/sys00@orainzen as sysdba
연결되었습니다.
SQL> 
SQL> set lineszie 1500
SP2-0158: 알 수 없는 SET 옵션 "lineszie"
SQL> set linesize 1500
SQL> 
SQL> --하나의 파라미터를 확인할때..
SQL> 
SQL> show parameter db_block_size

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_block_size                        integer     8192
SQL> 
SQL> --전체의 파라미터를 확인할때..
SQL> 
SQL> SELECT NAME, VALUE FROM V$PARAMETER WHERE UPPER(NAME) LIKE '%DB%' AND ROWNUM > 11;

선택된 레코드가 없습니다.

SQL> SELECT NAME, VALUE FROM V$PARAMETER WHERE UPPER(NAME) LIKE '%DB%' AND ROWNUM < 11;

NAME                                                                             VALUE
-------------------------------------------------------------------------------- -------------------
dbwr_io_slaves                                                                   0
db_file_name_convert
db_block_buffers                                                                 0
db_block_checksum                                                                TRUE
db_block_size                                                                    8192
db_cache_size                                                                    0
db_2k_cache_size                                                                 0
db_4k_cache_size                                                                 0
db_8k_cache_size                                                                 0
db_16k_cache_size                                                                0

10 개의 행이 선택되었습니다.