ASM의 spfile을 pfile로 만들고 다시 ASM에 spfile로 저장하기.


목차

테스트 환경
pfile 생성
asm에 spfile 생성 
 


테스트 환경

ORACLE_HOME = /home/oracle/
SID = testdb
ASM SID = +ASM
DISK GROUP = +DATA




ASM으로 구축되어 있는 parameter file의 parameter 를 수정하려고 한다.
(물론 alter system set .. 의 명령으로 수정이 가능하다.)

기존의 파라미터 파일의 위치로 가보면 10g임에도 불구하고 spfileSID.ora 파일이 존재 하지 않고 pfile만 존재한다. 열어보면 내용은 아래와 같이 ASM의 spfileSID.ora 의 위치를 가리키고 있다.

$ vi /home/oracle/product/10g/dbs/inittestdb.ora

SPFILE='+DATA/testdb/spfiletestdb.ora' 


 
작업순서

pfile 생성
- pfile 파라미터 변경
spfile 생성

asmcmd 실행
기존 spfile alias 삭제
새로운 spfile alias 생성



pfile 생성


create pfile[=path] from spfile; 

pfile을 수정하기 위해 아래와 같이 pfile을 생성한다.

(path는 옵션이지만 기존 pfile을 덮어쓰기 때문에 spfile의 위치를 가르키는 원본을 백업 또는 이렇게 path 옵션으로 다른이름으로 만든다.)

 생성된 pfile 의 파라미터 값을 수정한다.



spfile 생성 
수정된 pfile을 ASM 에 저장하기 위해서는 저장 위치로 ASM 저장소를 가리킨다. 
SQL> create spfile='+DATA' from pfile;



asmcmd 를 이용하여 alias  생성
$ export ORACLE_SID=+ASM
$ asmcmd

ASMCMD> cd +DATA/TESTDB
ASMCMD> ls

CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfiletestdb.ora


ASMCMD> ls parameterfile

spfile.265.776319301
spfile.266.776334803
spfile.267.776334921
spfile.268.776335521


최근에 생성한 spfile 이 가장 아래에 있는 파일이다. +DATA/TESTDB/spfiledb.ora 파일이 최근 추가한 spfile을 대변하도록 해야한다.

ASMCMD> rmalias spfiletestdb.ora
ASMCMD> mkalias +DATA/TESTDB/spfile.268.776335521 spfiletestdb.ora

ASMCMD> ls -l

Type           Redund  Striped  Time             Sys  Name
                                                 Y    CONTROLFILE/
                                                 Y    DATAFILE/
                                                 Y    ONLINELOG/
                                                 Y    PARAMETERFILE/
                                                 Y    TEMPFILE/
                                                 N    spfiletestdb.ora => +DATA/TESTDB/PARAMETERFILE/spfile.267.776334921



ASMCMD> exit


ASM의 spfiledb.ora로 경로 지정
# vi /home/oracle/product/10g/dbs/inittestdb.ora

SPFILE='+DATA/testdb/spfiletestdb.ora'  




서버 재시작
$ export ORACLE_SID=testdb
$ sqlplus / as sysdba
$ startup [pfile=path]















참고





 




'Oracle > [ASM]' 카테고리의 다른 글

ASM (Auto Storage Manager)  (0) 2012.02.27