Oracle

게시글 보기
작성자 유건데이타 등록일 2015-08-13
제목 ORACLE HOME DIRECTORY 변경
ORACLE HOME DIRECTORY를 옮기는 과정은 다음의 세 단계로 나누어 진다.

1. 오라클 소프트웨어의 이동
2. 데이타 화일, 로그 화일, 콘트롤 화일 등의 데이타베이스 부분의 이동
3. 각종 환경 설정의 변경

만약 오라클을 다른 MACHINE으로 옮기는 경우라면 두 OS 가 Binary
Compatible 해야 한다. 일반적으로 OS 가 같더라도 버전이 다르면 Binary
Compatible 하지 않은 경우가 있으니 유의해야 한다.
모든 작업은 오라클을 셧다운 한 상태에서 진행한다.

1. 오라클 소프트웨어의 이동

OS 상의 명령어(tar, cpio, cp 등)을 사용하여 오라클 소프트웨어를 새로운
디렉토리로 옮긴다. ORACLE HOME DIRECTORY 이하 부분을 모두 옮기면 된다.


2. 데이타베이스의 이동

데이타베이스를 구성하는 화일들을 다음 명령을 이용하여 확인한 다음
앞의1.과정에서 복사되지 않은 화일이 있으면 새로운 디렉토리로 복사한다.

SQLDBA>select * from dba_data_files;
SQLDBA>select * from v$logfile;
SQLDBA>show parameter control_files

그 다음에 다음과 같은 과정을 거쳐서 데이타 화일과 로그 화일의 이동 상태를
콘트롤 화일에 반영한다. 이 명령은 위에서 출력된 데이타 화일과 로그 화일
모두에 대해서 수행되어야 하며 한번의 명령에 여러개의 화일을 지정할 수
있다. 여기서는 2개의 화일에 대한 예를 들었다.

SQLDBA> startup mount
SQLDBA> alter database rename file
'/file1', '/file2' to
'/file1', '/file2';


만약의 경우를 위하여 콘트롤 화일을 생성해 주는 스크립트를 다음
명령으로 만들어 두도록 한다.

SQLDBA>alter database backup controlfile to trace

이 결과는 디렉토리에서 가장 나중에 생긴 트레이스
화일에 약간의 편집을 통하여 사용할 수 있는 형태로 저장된다.

3. 환경 설정의 변경

/etc/oratab 또는 /var/opt/oracle/oratab 화일내의 ORACLE_HOME부분을 새로운
값으로 수정한다.
그리고 $ORACLE_HOME 을 설정할 때에는 소프트 링크를 포함해서는 안 된다.
init.ora의 내용과 여기에 ifile 로 기술된 config.ora 화일의
내용을 수정한다. 기본적인 것은 다음과 같은데 이외의 내용도 있을 수도 있다.

ifile
control_files
background_dump_dest
log_archive_dest
db_name(변경된 경우)

만약 다른 MACHINE으로 옮기는 경우라면 SHARED MEMORY 와 SEMAPHORE의
설정도 적절히 세팅되어야 하며 Swap Space 도 고려하여야 한다.

? 다음과 같은 환경변수를 새로운 값으로 변경한다.

$ORACLE_HOME
$ORACLE_SID(변경된 경우)
$FORMS30PATH
$ORAKITPATH
$TNS_ADMIN

cd $ORACLE_HOME/network/admin/tnsnames.ora, listener.ora file내의
directory를 새로운 directory로 변경

그리고 $ORACLE_HOME/rdbms/lib/sysliblist 에 절대패스로 지정된 것이 있으면
이 값도 새로운 값으로 변경한다.
makefile 의 내용중 절대패스로 지정된 것이 있으면 이 값도 변경한다.

? 새로운 시스템으로 옮긴 경우에는 NO-SUID flag이 설정되어 있지 않아야
한다. 대부분의 시스템은 /etc/fstab 화일에 이 flag을 갖고 있다.

? ORACLE INSTALLER에서 사용되는 User Default File인 usrdfl.log 화일은
더이상 무의미하므로 삭제한다. 이 화일은 일반적으로 $ORACLE_HOME/orainst
디렉토리에 있다.

?시스템을 변경하는 경우라면 /etc/services 화일에 SQL*Net listener 항목을
추가하고 ORACLE OWNER ID를 만들고 DBA 그룹에 등록한다.

?기존에 만든 스크립트나 cron job 가운데 디렉토리를 참조하는 부분의 변경이
필요하면 수정한다.


출처 : OTN

Comment
등록된 코멘트가 없습니다.