Parameter File

//
//
//
//

파라메터 파일이란

  • Key - Value 가 한 쌍으로 구성되어 DB 를 구동하는데 쓰이는 파일
  • 일반 텍스트 파일 형태를 가지고 있어 vi 등으로 편집 가능함
  • 유실되어도 alert_log 참조하여 수동으로 재 작성 가능
    DB 구동 시 마다 alert_log 에는 시작 시점의 파라메터-값이 기록되어 있음

Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 3
Autotune of undo retention is turned on.
IMODE=BR
ILAT =27
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options.
ORACLE_HOME = /app/oracle/product/11.2.0
System name:    Linux
Node name:      rac2
Release:        2.6.32-100.28.5.el6.x86_64
Version:        #1 SMP Wed Feb 2 18:40:23 EST 2011
Machine:        x86_64
Using parameter settings in server-side pfile /app/oracle/product/11.2.0/dbs/initRECO.ora
System parameters with non-default values:
  processes                = 150
  spfile                   = "+DATA1/reco/spfilereco.ora"
  memory_target            = 1000M
  control_files            = "+DATA1/reco/control01"
  db_block_size            = 8192
  db_writer_processes      = 2
  compatible               = "11.2.0.0.0"
  log_archive_dest_1       = "LOCATION=+ARCH1 MANDATORY REOPEN"
  db_create_file_dest      = "+DATA1"
  db_recovery_file_dest    = ""
  db_recovery_file_dest_size= 200000M
  undo_tablespace          = "UNDOTBS1"
  sec_case_sensitive_logon = FALSE
  remote_login_passwordfile= "EXCLUSIVE"
  db_domain                = ""
  dispatchers              = "(PROTOCOL=TCP) (SERVICE=ASMTESTXDB)"
  audit_file_dest          = "/app/oracle/admin/ASMTEST/adump"
...

조회 방법은

  • show parameter

sqlplus 에서 사용 가능한 명령어
show parameter parameter_name
parameter_name 앞 뒤에 와일드카드%가 붙어 일부 단어만 붙어도 like %..% 같은 검색 가능

  • gv$parameter;
    select * from gv$parameter;
    Dictionary 조회 권한이 있어야 가능함
  • dbms_utility.get_parameter_value
    패키지(펑션) 호출하여 PL/SQL 로 조회 가능

declare

v_parnam varchar2(100) := 'max_dump_file_size' ;
v_intval binary_integer ;
v_strval varchar2(100) ;
v_rslt varchar2(1000);

begin

v_rslt := dbms_utility.get_parameter_value (
parnam => v_parnam,
intval => v_intval,
strval => v_strval
);

dbms_output.put_line('Type     : '||v_rslt);
dbms_output.put_line('INT Val  : '||v_intval);
dbms_output.put_line('STR Val  : '||v_strval);

end;

  • Type 은?
  • 파라메터 값(Value) 이 숫자 형이면 INV Val 에 출력, 문자형이면 STR Val 에 출력
  • True 이면 INT Val 이 1, False 면 0
  • 일부 Public 하게 공개되지 않는 파라메터(ex, sga_max_size) 도 존재 함

파일의 기본 위치는

  • UNIX 환경 : $ORACLE_HOME/dbs/init$ORACLE_SID.ora
  • Window 환경: %ORACLE_HOME%\DATABASE\init_%ORACLE_SID%_.ora

기타

  • IFILE Parameter 란?

제 2의 pfile 파일(위치 + file_name)을 지정 가능한 parameter 입니다.
DB 는 ifile 에 지정한 pfile 을 함께 읽고 구동됩니다.
startup 시 지정한 pfile 과 ifile 에 지정한 pfile 에 서로 다른 값으로 지정 된 동일한 parameter 항목이 있을 경우
startup 시 지정한 pfile 의 값을 우선해서 반영합니다.

  • "Parameter file 이 클라이언트 장비에 있어야 한다" 에 대한 테스트

\-> Client PC 에 있는 Init Parameter 를 읽어 Startup 가능
\-> 이 때 pfile='C:\...\pfileSID.ora' 형식으로 파일 경로 명시해야 함
\-> 파일 경로 임의로 명시하지 않을 때는 기본 경로의 pfile(spfile) 을 읽고 구동
\-> DB 가 Down 된 상태에서 Remote 로 접속 하기 위해 Listener Static 으로 구동되어 있어야 함


E:\lim_share>sqlplus "sys@reco3 /as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on 월 10월 13 17:04:10 2014

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

비밀번호 입력:
휴지 인스턴스에 접속되었습니다.


-- max_dump_file_size parameter 를 10M 로 변경 한 Local PC 의 Parameter

SQL> startup pfile='E:\lim_share\initRECO3_test.ora';
ORACLE 인스턴스가 시작되었습니다.

Total System Global Area  238034944 bytes
Fixed Size                  2227136 bytes
Variable Size             180356160 bytes
Database Buffers           50331648 bytes
Redo Buffers                5120000 bytes
데이터베이스가 마운트되었습니다.
데이터베이스가 열렸습니다.
SQL>
SQL> show parameter max_dump_file_size

NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
max_dump_file_size                   string
10M
SQL>


-- pfile 명시 하지 않고 구동

SQL> shutdown immediate
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.
SQL> startup
ORACLE 인스턴스가 시작되었습니다.

Total System Global Area  238034944 bytes
Fixed Size                  2227136 bytes
Variable Size             180356160 bytes
Database Buffers           50331648 bytes
Redo Buffers                5120000 bytes
데이터베이스가 마운트되었습니다.
데이터베이스가 열렸습니다.
SQL> show parameter max_dump_file_size

NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
max_dump_file_size                   string
unlimited
SQL>