+ Parameter파일
em에서 확인하는 방법
- em 홈 > 관리 > 데이터베이스 관리 > 데이터베이스 구성 > 모든 초기화 매개변수
spfile: binary, online상태에서 변경가능, paramete sharing 되는 경우에 편리(rac)
pfile : text, 반드시 재기동
show parameter spfile
value값이 있으면 spfile로 구동된 경우이고,
값이 없으면 pfile 을 읽어서 구동된 경우이다.
spfile: %ORCLE_HOME%\database\spfile<SID>.ora
pfile: %ORCLE_HOME%\database\init<SID>.ora
paramete 파일의 default 위치
unix의 경우 : $ORACLE_HPME/dbs/
window의 경우 : %ORCLE_HOME%\database\
startup 시 특정 pfile을 이용해 구동하려할때
startup pfile='경로/init<SID>.ora'
pfile > spfile 생성
SQL> create spfile from pfile;
spfile > pfile 생성
SQL> create pfile from spfile;
spfile 로 구동된 경우 온라인중에 파라미터 변경 가능
SQL> alter system set 파라미터명=변경값 scope=memory;
scope 옵션
memory : 디폴트값, 현재 기동된 상태에서 반영, 재기동시 설정값이 사라진다.
spfile : spfile에만 반영, 재기동 후에야 설정값이 반영된다.
both : 현재 기동된 상태에도 반영하고, spfile에도 반영한다. 재기동후에도 동일한 설정값을 유지한다.
scope 옵션의 사용 범위
SQL> select distinct issys_modifiable from v$parameter;
ISSYS_MOD
---------
IMMEDIATE - 즉시반영, (both, memory, spfile)
FALSE - 반드시 재기동, (spfile)
DEFERRED - 다음세션부터 반영, (both, memory, spfile)
예제
SQL> show parameter open
NAME TYPE VALUE
------------------------------------ ----------- -----------
open_cursors integer 300
open_links integer 4
open_links_per_instance integer 4
read_only_open_delayed boolean FALSE
session_max_open_files integer 10
SQL>
SQL> alter system set open_cursors=500 scope=memory;
System altered.
SQL>
SQL> show parameter open_cursors
NAME TYPE VALUE
------------------------------------ ----------- -----------
open_cursors integer 500
예제2
SQL> show parameter process
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 300
SQL>
SQL>
SQL>
SQL> alter system set processes=500 scope=both;
alter system set processes=500 scope=both
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
SQL> select name, issys_modifiable from v$parameter where name = 'processes';
NAME
------------------------------------------------------------------------------
ISSYS_MOD
---------
processes
FALSE
SQL>
SQL> alter system set processes=500 scope=spfile;
System altered.
SQL> col name for a40
SQL> col value for a40
SQL> select name, value from v$spparameter where name='processes';
NAME
----------------------------------------
VALUE
----------------------------------------
processes
500
SQL> alter system set sessions=555 scope=spfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL>
SQL> startup
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 79693156 bytes
Database Buffers 83886080 bytes
Redo Buffers 2945024 bytes
Database mounted.
Database opened.
SQL>
SQL> show parameter proceses
SQL> show parameter processes
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 500
SQL> show parameter sessions
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 555
shared_server_sessions integer