by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

SPFILE을 이용하여 데이터베이스 시작하기




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 개의 행이 선택되었습니다.
    

문서정보

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.