by 구루비 PFILE SPFILE ALTER SYSTEM CREATE SPFILE V$PARAMETER SHOW PARAMETER [2005.03.15]
파라미터 파일은 오라클을 시작하는데에 필수적인 파라미터 들이 정의 되어 있으며, 기본 설정 파일입니다.
PFILE은 text 화일로 되어 있으며, 운영체제 Editor에서 수정 할 수 있습니다.
PFILE 수정후 변경한 내용을 적용하기 위해서는 DB를 재시작해야 합니다.
초기화 파일들의 기본 위치는 아래와 같고, 일반적으로 initSID.ora파일로 저장 됩니다
- UNIX → $ORACLE_HOME/dbs
- Windows NT/2000 → %ORACLE_HOME%\database
SQL> CONN / AS SYSDBA -- 파라미터 하나의 값을 볼 때는 show parameter명령어를 이용 합니다. SQL> SHOW PARAMETER shared_pool_size ; ------------------------- ------- --------- shared_pool_size string 15728640 -- 파라미터의 정보를 보고 싶을 때는 V$PARAMETER을 이용합니다. SQL> SELECT name, value FROM V$PARAMETER WHERE UPPER(name) LIKE '%DB%'; NAME VALUE ------------------------------------- ------- dbwr_io_slaves 0 db_file_direct_io_count 64 db_block_buffers 2048 db_block_checksum FALSE db_block_size 8192 db_block_lru_latches 1 db_writer_processes 1 db_files 1024 db_file_multiblock_read_count 8 db_block_checking FALSE dblink_encrypt_login FALSE db_name storm
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation # Miscellaneous compatible=9.2.0.0.0 # Database Identification db_name=oracle # Instance Identification instance_name=oracle # Job Queues job_queue_processes=10 # Cache and I/O db_block_size=8192 db_cache_size=25165824 db_file_multiblock_read_count=16 # Cursors and Library Cache open_cursors=300 # File Configuration control_files=("D:\oracle\oradata\oracle\CONTROL01.CTL", "D:\oracle\oradata\oracle\CONTROL02.CTL", "D:\oracle\oradata\oracle\CONTROL03.CTL") # Pools java_pool_size=33554432 large_pool_size=8388608 shared_pool_size=50331648 # Processes and Sessions processes=150
Oracle 9i 버전부터 Server Parameter File 이라고 불리는 spfileSID.ora가 새로 추가 되었습니다.
SPFILE을 사용하게 되면서 ALTER SYSTEM 명령을 통해 데이터베이스가 운영 중에도 파라미터를 수정할 수 있고, 서버를 재시작 하지 않아도 반영이 됩니다.
SPFILE은 바이너리파일 이고, 파일의 디폴트 저장위치는 PFILE과 동일 합니다.
SPFILE은 vi와 같은 Editor로 변경을 하면 안 됩니다.
-- 변경 예제 SQL> ALTER SYSTEM SET large_pool_size=16M SCOPE=BOTH
① memory : 변경이 현재 상태에만 영향을 미치며, db가 restartup 되면, 변경 이전 값으로 돌아 갑니다.
② spfile : 변경 내용을 spfile에만 저장하고 현재 상태에는 영향을 미치지 않게 합니다. Static Parameter의 경우는 이 scope만 지정 가능 합니다. 즉, spfile을 사용하더라도 Static Parameter에 대해서는 DB운영중에 바로 값을 변경하여 재시작 없이 반영하는 것은 불가능 합니다
③ both : 변경 내용을 현재 상태에도 바로 반영하고, spfile에도 반영시켜, 이후 rebooting 시에도 영향을 미치도록 합니다.
아래와 같은 경우 SPFILE이나 PFILE을 생성 할 수 있습니다.
- SPFILE을 사용하다가 그 화일의 내용을 initSID.ora에 BACKUP 차원에서 반영시켜 두는경우.
- SPFILE대신 initSID.ora를 사용하고자 하는 경우
- 또는 반대로 initSID.ora를 참조하여 spfileSID.ora를 생성하고 하는 경우.
-- SQL*PLUS접속 D:> SQLPLUS /NOLOG -- SYSDBA 권한으로 접속 SQL> CONN / AS SYSDBA -- PFILE 생성 SQL> CREATE PFILE='D:\oracle\ora92\database\INITORACLE.ORA' FROM SPFILE='D:\oracle\ora92\database\SPFILEORACLE.ORA' 파일이 생성되었습니다. -- SPFILE 생성 SQL> CREATE SPFILE='D:\oracle\ora92\database\SPFILEORACLE02.ORA' FROM PFILE='D:\oracle\ora92\database\INITORACLE.ORA' 파일이 생성되었습니다.
- 강좌 URL : http://www.gurubee.net/lecture/1860
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.