Oracle

게시글 보기
작성자 유건데이타 등록일 2015-05-16
제목 NT용 ORACLE DB의 SID와 DB명 변경 절차
NT용 ORACLE DB의 SID와 DB명 변경 절차
=========================================

현재의 DB가 start되어 있고, SID는 ORCL이고 DB_NAME은 ORACLE인
상황에서 SID와 DB_NAME을 TEST로 바꾼다는 가정 하에 작성한 자료이다.
(ORACLE SID는 4자를 넘을 수 없다는 점을 주의하셔야 한다.)

7.3 version을 기준으로 작성하였으므로, directory 구조나 실행화일은
현재 version에 맞도록 고쳐 사용하면 된다.


1. SVRMGR23 (SQLDBA72 혹은 SVRMGR30)을 connect internal로 기동한후,
SVRMGR> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
을 실행하면 dump file이(ora***.trc) ORACLE_HOME\RDBMS73\TRACE에
생성된다.

2. DB를 내리고 빠져나온다.
SVRMGR> SHUTDOWN

3. ORACLE 서비스를 내린다.
Control Panel/Services를 실행하여, OracleServiceORCL
서비스를 멈춘다. (OracleStartORCL이 아직 시작 상태라면 멈춤을
수행한다. 2에서 이미 DB를 shutdown시킨 상태지만 반영되지
않은 경우임.)

4. 탐색기에서 data file, log file, parameter file의 이름을 변경한다.
default로는 ORACLE_HOME\DATABASE directory에 생성되어 있다.
(생성한 control file 생성 script를 참고)

5. INITTEST.ORA을 수정한다.
a. 모든 ORCL을 TEST로 바꾸고, (새로운 control file명 지정)
b. DB_NAME = ORACLE을 DB_NAME = TEST로 바꾸고,
c. 저장한다.

6. 1에서 생성 dump file을 수정한다.
a. 모든 ORCL을 TEST로 바꾸고,
b. STARTUP NOMOUNT 이전 라인을 삭제하고,
c. STARTUP 라인을 아래와 같이 바꾼다.
STARTUP NOMOUNT PFILE=%ORACLE_HOME%\DATABASE\INITTEST.ORA
d. CREATE CONTROLFILE 라인에서 REUSE => SET, "Oracle" =>"Test"로,
NORESETLOGS => RESETLOGS로 변경한다.
(즉, CREATE CONTROLFILE set DATABASE "TEST" RESETLOGS
NOARCHIVELOG)
e. RECOVER DATABASE 라인을 삭제하고,
f. ALTER DATABASE OPEN을 ALTER DATABASE OPEN RESETLOGS로 변경 후,
g. CHNAME.SQL라는 이름으로 저장한다.

7. 서비스를 새로운 SID명으로 생성하기 위해 DOS에서 ORADIM73을 수행한다,

ORADIM73 -new -sid TEST -intpwd password -startmode auto -pfile
%ORACLE_HOME%\DATABASE\INITTEST.ORA

=> strttest.cmd, Pwdtest.ora file이 생성됨.

8. 새로운 서비스가 생성되었는지를 확인한다.
a. OracleServiceTEST 가 시작되었는지 확인하고,
b. 시작되어 있지 않은 경우는 start시킨다.

9. TEST instance를 기본 instance로 사용한다면,
Registry를 수정한다.

a. REGEDT32를 기동한다.
b. HKEY LOCAL MACHINE/Software/Oracle로 가서
c. 오른쪽에 있는 ORACLE_SID를 더블클릭한 후,
d. ORCL을 TEST로 바꾼 후,
e. Registry를 빠져나가면 된다.

10. TEST instance를 기본 instance로 사용하지 않는다면, DOS에서
SET ORACLE_SID=TEST을 설정하여 사용하면 된다.

11. SVRMGR23을 실행하여 connect internal/password로 접속한 후,
(password는 7에서 지정한 새로운 password)
svrmgr> @c:\orant\database\trace\CHNAME.SQL
을 수행하여 control file을 재생성한다.

12. sqlplus를 수행하여 DB가 제대로 변경되어 있는지, 문제가 없는지
테스트한다.

13. DOS에서 다음 command를 수행해 이전에 용하던 ORCL service 삭제한다.

ORADIM73 -delete -sid ORCL


* 필요하다면 이외에도 SQLNET설정 변경 위해 tnsnames.ora, listener.ora를
적절히 수정해줘야 한다.

* 만약 OracleStart service가 생성되지 않았다면
a. DOS 창으로 나가,
b. oradim73을 기동하여
c. 해당 instance를 선택한 후
d. 변경 버튼을 눌러
e. SID명과 password를 다시 한 번 입력하여 실행 버튼을 누르면
서비스가 생성됩니다.
1496 보기 태그:
Comment
등록된 코멘트가 없습니다.