DB Name 변경 절차
– 참조 문서
(How to Change the DBID and the DBNAME by using NID (문서 ID 224266.1),
How to Rename Database/Change DB_NAME or ORACLE_SID/Instance Name
(문서 ID 15390.1))
i. NID 사용
① 작업을 하기 전에 Backup 을 받아 놓는다.
② db_name 변경을 위한 pfile (initSID) 생성
③ Instance Shutdown & Database mount
④ NID utility 를 이용해 DB Name 변경
⑤ Instance Shutdown
⑥ pfile (initTECH.ora) 을 열어 ‘db_name=test’ 로 수정
(SID 변경 시 파일명도 같이 수정)
⑦ password file 생성(SID도 함께 변경 시)
⑧ Database mount
⑨ Database RESETLOGS 로 Open
⑩ 확인작업을 통해 마무리
명령어 | SQL> create pfile from spfile; SQL> shutdown immediate SQL> startup mount pfile=’$ORACLE_HOME/dbs/initTECH.ora’ $ nid target=sys/oracle@tech dbname=test logfile=/u01/app/nidlog SQL> shutdown immediate $ vi $ORACLE_HOME/dbs/initTECH.ora $ cp initTECH.ora inittest.ora (SID 도 변경시) $ orapwd file=orapwtest password=oracle entires=5 SQL> startup mount pfile=’$ORACLE_HOME/dbs/inittest.ora SQL> alter database open; SQL> select dbid, name, open_mode, activation#, created from v$database; |
ii. Controlfile 재생성을 통한 DB Name 변경
① Controlfile 을 재생성 하기 위해 Trace file 생성
② db_name 변경을 위해 pfile(init.ora) 생성
③ Instance Shutdown
④ pfile 을 열어서 ‘db_name=TEST2’ 로 수정 (SID 함께 변경 시 파일명도 수정)
⑤ control_files 의 값을 새로운 Controlfile 명으로 변경(중복 시 Error 발생)
⑥ 1번에서 생성한 Trace file 을 열어 Controlfile 재생성 부분을 복사해서 script 작성 (REUSE => SET, DB Name 수정)
⑦ Script 실행 시 mount 상태까지 진행
⑧ Open 을 위해 Recover Database 진행
⑨ Database Open
⑩ 확인작업을 통해 마무리
명령어 | SQL> alter database backup controlfile to trace; SQL> create pfile from spfile; SQL> shutdown immediate $ vi $ORACLE_HOME/dbs/initTECH.ora $ vi cre_con.sql SQL> @cre_con.sql SQL> recover database using controlfile until cancel SQL> alter database open resetlogs; SQL> select dbid, name, open_mode, activation#, created from v$database; |