일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 레드햇
- 해외직구 우편번호
- Util
- win7
- 3.1.3
- Listener
- 10g
- 카드 zip code
- Java
- 원격데스크탑
- 네스프레소 버츄오 넥스트
- 아이폰15 출시일
- 쿠팡 네스프레소 할인
- 모델S
- 삼성카드 해외직구 우편번호
- billing zip code
- 버츄오 할인
- 삼성카드 해외직구
- JSP
- 원격데스크톱
- 윈도우
- ZIP code does not match billing address
- 삼성카드 우편번호
- 모델x
- 11g
- 다운그레이드
- 아이폰 강제 리부팅
- 아이폰 강제 재시동
- oracle
- 아이폰
- Today
- Total
starland
[ORACLE] 펌 spfile 과 pfile (startup pfile='/xxxx/xxxx/init<SID>.ora') 본문
[ORACLE] 펌 spfile 과 pfile (startup pfile='/xxxx/xxxx/init<SID>.ora')
starland 2010. 3. 28. 04:26출처 : http://blog.naver.com/khi830/20097894487
#############################
파라미터 파일
#############################
1.pfile (text file) : $ORACLE_HOME/dbs/initsid.ora
Dynamic parameter : java_pool_size, large_pool_size .... : 명령으로 수정 가능 -> 그러나 파라미터 파일에 내용은 변화되지 않는다.
Static parameter : log_buffer ... : 명령으로 수정 불가능 -> 수정이 필요하면 파라미터 파일을 수정한 뒤 restartup
2.spfile (binary file) : $ORACLE_HOME/dbs/spfilesid.ora --> persistent(지속) 파라미터 파일
Dynamic parameter : java_pool_size, large_pool_size .... : 명령으로 수정 가능 -> 파라미터 파일의 내용이 자동으로 수정된다.
Static parameter : log_buffer ... : 명령으로 수정 가능 -> scope=spfile 옵션을 붙여서 수정한 뒤 restartup
cf.Startup 할 경우의 파라미터 파일 우선 순위
SQL> startup --> $ORACLE_HOME/dbs/spfilesid.ora
--> $ORACLE_HOME/dbs/spfile.ora
--> $ORACLE_HOME/dbs/initsid.ora
--> 에러
SQL> startup pfile = '/home/oracle/myinit.ora'
##################################################################################################
=================================
Pfile을 사용할 경우
=================================
SQL> !rm $ORACLE_HOME/dbs/spfiletestdb.ora
SQL> startup force
SQL> show parameter
SQL> show parameter db_cache_size
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
db_cache_size big integer 64M
SQL> show parameter pool_size
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
global_context_pool_size string
java_pool_size big integer 24M
large_pool_size big integer 0
olap_page_pool_size big integer 0
shared_pool_size big integer 72M
streams_pool_size big integer 0
SQL> alter system set large_pool_size=4m;
alter system set large_pool_size=4m
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-04033: Insufficient memory to grow pool
SQL> alter system set java_pool_size=16m;
SQL> alter system set large_pool_size=4m;
SQL> show parameter pool_size
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
global_context_pool_size string
java_pool_size big integer 16M
large_pool_size big integer 4M
olap_page_pool_size big integer 0
shared_pool_size big integer 72M
streams_pool_size big integer 0
SQL> show parameter log_buffer
NAME TYPE VALUE
------------------------------------ ---------------------- -------------------
log_buffer integer 29276
SQL> alter system set log_buffer=4m;
alter system set log_buffer=4m
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
SQL> !vi $ORACLE_HOME/dbs/inittestdb.ora
# 다음 파라미터를 가장 마지막 라인에 추가하세요.
log_buffer = 4194304
SQL> startup force
=================================
spfile을 사용할 경우
=================================
(1) spfile 생성 : 반드시 pfile이 있어야 가능
SQL> !ls -l $ORACLE_HOME/dbs
-rw-r----- 1 oracle oinstall 3584 1월 14 09:56 spfileorcl.ora
-rw-r--r-- 1 oracle oinstall 399 1월 14 11:54 inittestdb.ora
SQL> select instance_name from v$instance;
INSTANCE_NAME
--------------------------------
testdb
SQL> create spfile from pfile; --> 기본위치의 기본 pfile로 기본위치에 기본 spfile을 생성
SQL> !ls -l $ORACLE_HOME/dbs
-rw-r----- 1 oracle oinstall 3584 1월 14 09:56 spfileorcl.ora
-rw-r--r-- 1 oracle oinstall 399 1월 14 11:54 inittestdb.ora
-rw-r----- 1 oracle oinstall 1536 1월 14 12:09 spfiletestdb.ora
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
spfile string
SQL> startup force --> pfile과 spfile이 모두 있으므로, spfile을 이용해서 startup 된다.
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
spfile string /u01/app/oracle/product/10.2.0
/db_1/dbs/spfiletestdb.ora
SQL> show parameter pool_size
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
global_context_pool_size string
java_pool_size big integer 24M
large_pool_size big integer 0
olap_page_pool_size big integer 0
shared_pool_size big integer 72M
streams_pool_size big integer 0
SQL> alter system set java_pool_size=16m; --> spfile을 이용할 경우 이 명령은 파라미터 파일도 수정한다.
SQL> alter system set large_pool_size=4m;
SQL> startup force
SQL> show parameter pool_size
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
global_context_pool_size string
java_pool_size big integer 16M
large_pool_size big integer 4M
olap_page_pool_size big integer 0
shared_pool_size big integer 72M
streams_pool_size big integer 0
(2) spfile을 사용하면서 dynamic 파라미터 변경
SQL> alter system set large_pool_size=4m scope=both; --> both가 디폴트이며 memory와 spfile이 모두 변경된다.
SQL> alter system set large_pool_size=4m scope=memory; --> memory만 변경된다. 효과는 즉시 발휘된다. 하지만 restartup하면 이 변경은 사라진다.
SQL> alter system set large_pool_size=4m scope=spfile; --> spfile만 변경된다. 효과는 restarup을 해야 발휘된다.
(3) spfile을 사용하면서 static 파라미터 변경
SQL> alter system set log_buffer = 4194304 scope=both; --> 에러
SQL> alter system set log_buffer = 4194304 scope=memory; --> 에러
SQL> alter system set log_buffer = 4194304 scope=spfile; --> restartup을 해야 한다.
cf.pfile을 재료로 spfile 생성
SQL> create spfile='/home/oracle/my.ora' from pfile;
SQL> create spfile='/home/oracle/my.ora' from pfile='/etc/day.txt';
cf.spfile을 재료로 pfile 생성
SQL> create pfile from spfile;
===============================================
원하는 파라미터 파일을 이용해서 starup 하기
===============================================
(1) 원하는 pfile로 시작
SQL> !cp $ORACLE_HOME/dbs/inittestdb.ora /home/oracle/myday.ora
SQL> !vi /home/oracle/myday.ora
# 다음 파라미터의 값을 100에서 20으로 수정
processes = 20
SQL> shutdown abort
SQL> startup pfile='/home/oracle/myday.ora'
SQL> show parameter processes
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
processes integer 20
(2) 원하는 spfile로 시작
SQL> create spfile='/home/oracle/myspday.ora' from pfile='/home/oracle/myday.ora';
SQL> shutdown abort
SQL> startup pfile='/home/oracle/myspday.ora' -- 에러 : ORA-01078: failure in processing system parameters
SQL> startup spfile='/home/oracle/myspday.ora' -- 에러 : SP2-0714: invalid combination of STARTUP options
SQL> !vi /home/oracle/a.txt
spfile=/home/oracle/myspday.ora
SQL> startup pfile='/home/oracle/a.txt'
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
spfile string /home/oracle/myspday.ora
== 파라미터 파일 ==
1.pfile (text file) : $ORACLE_HOME/dbs/initsid.ora
Dynamic parameter : java_pool_size, large_pool_size .... : 명령으로 수정 가능 -> 그러나 파라미터 파일에 내용은 변화되지 않는다.
Static parameter : log_buffer ... : 명령으로 수정 불가능 -> 수정이 필요하면 파라미터 파일을 수정한 뒤 restartup
2.spfile (binary file) : $ORACLE_HOME/dbs/spfilesid.ora --> persistent(지속) 파라미터 파일
Dynamic parameter : java_pool_size, large_pool_size .... : 명령으로 수정 가능 -> 파라미터 파일의 내용이 자동으로 수정된다.
Static parameter : log_buffer ... : 명령으로 수정 가능 -> scope=spfile 옵션을 붙여서 수정한 뒤 restartup
cf.Startup 할 경우의 파라미터 파일 우선 순위
SQL> startup --> $ORACLE_HOME/dbs/spfilesid.ora
--> $ORACLE_HOME/dbs/spfile.ora
--> $ORACLE_HOME/dbs/initsid.ora
--> 에러
SQL> startup pfile = '/home/oracle/myinit.ora'
##################################################################################################
=================================
Pfile을 사용할 경우
=================================
SQL> !rm $ORACLE_HOME/dbs/spfiletestdb.ora
SQL> startup force
SQL> show parameter
SQL> show parameter db_cache_size
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
db_cache_size big integer 64M
SQL> show parameter pool_size
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
global_context_pool_size string
java_pool_size big integer 24M
large_pool_size big integer 0
olap_page_pool_size big integer 0
shared_pool_size big integer 72M
streams_pool_size big integer 0
SQL> alter system set large_pool_size=4m;
alter system set large_pool_size=4m
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-04033: Insufficient memory to grow pool
SQL> alter system set java_pool_size=16m;
SQL> alter system set large_pool_size=4m;
SQL> show parameter pool_size
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
global_context_pool_size string
java_pool_size big integer 16M
large_pool_size big integer 4M
olap_page_pool_size big integer 0
shared_pool_size big integer 72M
streams_pool_size big integer 0
SQL> show parameter log_buffer
NAME TYPE VALUE
------------------------------------ ---------------------- -------------------
log_buffer integer 29276
SQL> alter system set log_buffer=4m;
alter system set log_buffer=4m
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
SQL> !vi $ORACLE_HOME/dbs/inittestdb.ora
# 다음 파라미터를 가장 마지막 라인에 추가하세요.
log_buffer = 4194304
SQL> startup force
=================================
spfile을 사용할 경우
=================================
(1) spfile 생성 : 반드시 pfile이 있어야 가능
SQL> !ls -l $ORACLE_HOME/dbs
-rw-r----- 1 oracle oinstall 3584 1월 14 09:56 spfileorcl.ora
-rw-r--r-- 1 oracle oinstall 399 1월 14 11:54 inittestdb.ora
SQL> select instance_name from v$instance;
INSTANCE_NAME
--------------------------------
testdb
SQL> create spfile from pfile; --> 기본위치의 기본 pfile로 기본위치에 기본 spfile을 생성
SQL> !ls -l $ORACLE_HOME/dbs
-rw-r----- 1 oracle oinstall 3584 1월 14 09:56 spfileorcl.ora
-rw-r--r-- 1 oracle oinstall 399 1월 14 11:54 inittestdb.ora
-rw-r----- 1 oracle oinstall 1536 1월 14 12:09 spfiletestdb.ora
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
spfile string
SQL> startup force --> pfile과 spfile이 모두 있으므로, spfile을 이용해서 startup 된다.
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
spfile string /u01/app/oracle/product/10.2.0
/db_1/dbs/spfiletestdb.ora
SQL> show parameter pool_size
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
global_context_pool_size string
java_pool_size big integer 24M
large_pool_size big integer 0
olap_page_pool_size big integer 0
shared_pool_size big integer 72M
streams_pool_size big integer 0
SQL> alter system set java_pool_size=16m; --> spfile을 이용할 경우 이 명령은 파라미터 파일도 수정한다.
SQL> alter system set large_pool_size=4m;
SQL> startup force
SQL> show parameter pool_size
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
global_context_pool_size string
java_pool_size big integer 16M
large_pool_size big integer 4M
olap_page_pool_size big integer 0
shared_pool_size big integer 72M
streams_pool_size big integer 0
(2) spfile을 사용하면서 dynamic 파라미터 변경
SQL> alter system set large_pool_size=4m scope=both; --> both가 디폴트이며 memory와 spfile이 모두 변경된다.
SQL> alter system set large_pool_size=4m scope=memory; --> memory만 변경된다. 효과는 즉시 발휘된다. 하지만 restartup하면 이 변경은 사라진다.
SQL> alter system set large_pool_size=4m scope=spfile; --> spfile만 변경된다. 효과는 restarup을 해야 발휘된다.
(3) spfile을 사용하면서 static 파라미터 변경
SQL> alter system set log_buffer = 4194304 scope=both; --> 에러
SQL> alter system set log_buffer = 4194304 scope=memory; --> 에러
SQL> alter system set log_buffer = 4194304 scope=spfile; --> restartup을 해야 한다.
cf.pfile을 재료로 spfile 생성
SQL> create spfile='/home/oracle/my.ora' from pfile;
SQL> create spfile='/home/oracle/my.ora' from pfile='/etc/day.txt';
cf.spfile을 재료로 pfile 생성
SQL> create pfile from spfile;
===============================================
원하는 파라미터 파일을 이용해서 starup 하기
===============================================
(1) 원하는 pfile로 시작
SQL> !cp $ORACLE_HOME/dbs/inittestdb.ora /home/oracle/myday.ora
SQL> !vi /home/oracle/myday.ora
# 다음 파라미터의 값을 100에서 20으로 수정
processes = 20
SQL> shutdown abort
SQL> startup pfile='/home/oracle/myday.ora'
SQL> show parameter processes
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
processes integer 20
(2) 원하는 spfile로 시작
SQL> create spfile='/home/oracle/myspday.ora' from pfile='/home/oracle/myday.ora';
SQL> shutdown abort
SQL> startup pfile='/home/oracle/myspday.ora' -- 에러 : ORA-01078: failure in processing system parameters
SQL> startup spfile='/home/oracle/myspday.ora' -- 에러 : SP2-0714: invalid combination of STARTUP options
SQL> !vi /home/oracle/a.txt
spfile=/home/oracle/myspday.ora
SQL> startup pfile='/home/oracle/a.txt'
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
spfile string /home/oracle/myspday.ora
'Oracle관련' 카테고리의 다른 글
[Oracle]11g ADR adrci (0) | 2010.09.05 |
---|---|
ORA-01555 snapshot too old (0) | 2010.08.11 |
[ORACLE] 11g RAC관련 유틸 (crsctl 등) (0) | 2010.03.03 |
[ORACLE] Oracle11g physical standby환경에서 ORA-08103에러 (0) | 2010.03.02 |
[ORACLE] 펌 오라클 관리 명령어 요약 (0) | 2010.03.02 |