Chap 15. Parameter File 장애 복구


Parameter file 은 DB 시작 단계 중 startup 에서 no mount 단계로 가기 위해 꼭 필요한 설계도 같은 파일이다.

pfile 과 spfile 두 가지 종류의 parameter file 이 있는데, pfile 은 initSID.ora 라는 이름의 수정가능한 일반 텍스트 파일이고, spfile 은 spfileSID.ora 란 이름의 바이너리(binary) 파일이라 사람이 직접 수정할 수 없다. spfile 은 DBA가 server process 에게 적절한 SQL을 수행히여 변경시켜야 한다.

Parameter file 의 경로는 $ORACLE_HOME/dbs 에 존재하는데 만약 spfile 과 pfile 이 동시에 존재할 경우 spfile 만 사용해서 oracle 을 구동한다. 


  1. Parameter file 이 없는 상태에서 pfile 생성하기    

모든 parameter file이 삭제되었을 경우, 최초 설치시 생성되었던 parameter file 을 활용해서 pfile 을 생성해 보자.

 

-- 현재 parameter file 상태 (spfile 을 사용중이다.)
SYS> show parameter spfile   


NAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
spfile                   string  /app/oracle/product/11g/dbs/sp                          filetestdb.ora  


-- 장애 상황을 만들기 위해 DB 을 종료 한 후 모든 parameter file 을 삭제.
SYS> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS> !
[oracle@chan ~]$ cd $ORACLE_HOME/dbs
[oracle@chan dbs]$ ls -l
total 24
-rw-rw---- 1 oracle oinstall 1544 Aug 19 19:47 hc_DBUA0.dat
-rw-rw---- 1 oracle oinstall 1544 Aug 19 20:02 hc_testdb.dat
-rw-r--r-- 1 oracle oinstall 2851 May 15  2009 init.ora
-rw-r----- 1 oracle oinstall   24 Aug 19 19:51 lkTESTDB
-rw-r----- 1 oracle oinstall 1536 Aug 19 19:54 orapwtestdb
-rw-r----- 1 oracle oinstall 2560 Aug 19 19:54 spfiletestdb.ora  


-- spfile 삭제
[oracle@chan dbs]$ rm -f spfiletestdb.ora     


-- 최초 설치시 만들어진 원본 pfile 복사
[oracle@chan dbs]$ ls -l $ORACLE_BASE/admin/testdb/pfile
total 4
-rw-r----- 1 oracle oinstall 1777 Aug 19 19:50 init.ora.7192013195444
[oracle@chan dbs]$ cp $ORACLE_BASE/admin/testdb/pfile/init.ora.7192013195444 inittestdb.ora
[oracle@chan dbs]$ ls -l
total 24
-rw-rw---- 1 oracle oinstall 1544 Aug 19 19:47 hc_DBUA0.dat
-rw-rw---- 1 oracle oinstall 1544 Aug 19 20:02 hc_testdb.dat
-rw-r--r-- 1 oracle oinstall 2851 May 15  2009 init.ora
-rw-r----- 1 oracle oinstall 1777 Aug 19 20:04 inittestdb.ora
-rw-r----- 1 oracle oinstall   24 Aug 19 19:51 lkTESTDB
-rw-r----- 1 oracle oinstall 1536 Aug 19 19:54 orapwtestdb
[oracle@chan dbs]$ exit
exit  


SYS> startup
ORACLE instance started.  


Total System Global Area  422670336 bytes
Fixed Size          1344616 bytes
Variable Size         260049816 bytes
Database Buffers      155189248 bytes
Redo Buffers            6086656 bytes
Database mounted.
Database opened.                    -- 이상없이 open.
SYS> 
SYS> show parameter spfile;  


NAME                     TYPE    VALUE
------------------------ ------- ------------------------------
spfile                   string

 

  2. pfile, spfile 만들기    

1) pfile로 부터 spfile 만들기

SYS> !ls -l /app/oracle/product/11g/dbs/*.ora
-rw-r--r-- 1 oracle oinstall 2851 May 15  2009 /app/oracle/product/11g/dbs/init.ora
-rw-r----- 1 oracle oinstall 1777 Aug 19 20:04 /app/oracle/product/11g/dbs/inittestdb.ora


SYS> create spfile from pfile;  


File created.  


SYS> !ls -l /app/oracle/product/11g/dbs/*.ora
-rw-r--r-- 1 oracle oinstall 2851 May 15  2009 /app/oracle/product/11g/dbs/init.ora
-rw-r----- 1 oracle oinstall 1777 Aug 19 20:04 /app/oracle/product/11g/dbs/inittestdb.ora
-rw-r----- 1 oracle oinstall 2560 Aug 19 20:10 /app/oracle/product/11g/dbs/spfiletestdb.ora

 

2) spfile로 부터 pfile 만들기

-- pfile 삭제
SYS> !rm -f /app/oracle/product/11g/dbs/inittestdb.ora  


SYS> !ls -l /app/oracle/product/11g/dbs/*.ora
-rw-r--r-- 1 oracle oinstall 2851 May 15  2009 /app/oracle/product/11g/dbs/init.ora
-rw-r----- 1 oracle oinstall 2560 Aug 19 20:10 /app/oracle/product/11g/dbs/spfiletestdb.ora  


-- 다시 pfile 생성

SYS> create pfile from spfile;  


File created.  


SYS>  !ls -l /app/oracle/product/11g/dbs/*.ora
-rw-r--r-- 1 oracle oinstall 2851 May 15  2009 /app/oracle/product/11g/dbs/init.ora
-rw-r--r-- 1 oracle oinstall  905 Aug 19 20:18 /app/oracle/product/11g/dbs/inittestdb.ora
-rw-r----- 1 oracle oinstall 2560 Aug 19 20:18 /app/oracle/product/11g/dbs/spfiletestdb.ora  


SYS> !rm -f /app/oracle/product/11g/dbs/spfiletestdb.ora  


SYS> !ls -l /app/oracle/product/11g/dbs/*.ora
-rw-r--r-- 1 oracle oinstall 2851 May 15  2009 /app/oracle/product/11g/dbs/init.ora
-rw-r--r-- 1 oracle oinstall  905 Aug 19 20:18 /app/oracle/product/11g/dbs/inittestdb.ora

 

by 짱구를꼭말려 2013. 9. 26. 21:35