database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 976 게시물 읽기
No. 976
Re: Oracle 의 data file을 옮기려고 합니다. 어떤절차가 필요한지요..
작성자
김규태
작성일
2000-06-14 19:51
조회수
10,604

> 우선 파일을 드롭시키구... 원하는 디렉토리로 옮기고 무슨 작업이

>

> 필요할것 같은데... 조언 부탁드려여~~~

>

 

제가 만일 이 문장을 제대로 이해한 것이라면

이렇게 하시면 안됩니다.

파일을 드롭시킨다는 것이 무슨 말인지 잘 모르겠지만,

정상적인 절차가 아닙니다.

아래 글을 반드시 끝까지 읽어보고, 매우~ 주의해서 작업을 해 주세요.

특히 철자 한두자 틀리는 것도 (rm 시 ) 매우 큰 문제가 일어납니다.

 

 

데이타베이스 관련 파일을 이동하는 방법은 다음과 같습니다.

1. 먼저 데이타베이스 파일의 위치를 v$datafile, v$logfile, v$controlfile에서

확인해 두세요.

2. 그 다음 데이타베이스를 정상적으로 shutdown 시키세요.

3. 파일을 옮기세요.

4. 파일의 위치를 DBMS 가 알 수 있도록 인식시키셔야 합니다.

 

 

 

그럼 제 DB를 가지고 한번 해 보지요.

 

먼저 아래와 같이 데이타베이스 파일들을 확인합니다.

( control files, redo log files, datafiles

세가지 종류를 다 확인해야 합니다. )

SVRMGR> connect internal

Connected.

SVRMGR> select name from v$controlfile union all

2> select member from v$logfile union all

3> select name from v$datafile ;

NAME

--------------------------------------------------------------------------------

/u01/oradata/ELISL/controlELISL01.ctl

/u01/oradata/ELISL/controlELISL02.ctl

/u01/oradata/ELISL/controlELISL03.ctl

/u01/oradata/ELISL/redoELISL01.dbf

/u01/oradata/ELISL/redoELISL02.dbf

/u01/oradata/ELISL/redoELISL03.dbf

/u01/oradata/ELISL/systemELISL01.dbf

/u01/oradata/ELISL/toolsELISL01.dbf

/u01/oradata/ELISL/rbsELISL01.dbf

/u01/oradata/ELISL/tempELISL01.dbf

/u01/oradata/ELISL/usersELISL01.dbf

/u01/oradata/ELISL/indxELISL01.dbf

/u01/oradata/ELISL/drsysELISL01.dbf

13 rows selected.

 

두번째는 데이타베이스를 정상적으로 shutdown 시키세요.

SVRMGR> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

반드시 위의 3가지 메세지를 확인하세요. 그래야 정상적으로 다운된 것입니다.

 

세번째는 옮길 파일들을 선정하세요.

마찬가지로 목적하는 디렉토리도 확인하세요.

선정하셨읍니다까?

 

예제로 datafiles의 하나인 /u01/oradata/ELISL/usersELISL01.dbf

데이타 파일을 /u02/oradata/ELISL 로 옮겨 보도록 하겠습니다.

서버 매니저를 종료하고, 쉘 프롬프트에서

$ cp /u01/oradata/ELISL/usersELISL01.dbf /u02/oradata/ELISL

( 만약 크게 중요한 데이타베이스가 아니면 바로 mv 를 사용하셔도 됩니다. )

 

네번째는 파일의 위치를 DBMS 가 알 수 있도록 인식시키셔야 합니다.

SVRMGR> startup mount

ORACLE instance started.

Total System Global Area 93155312 bytes

Fixed Size 69616 bytes

Variable Size 76136448 bytes

Database Buffers 16777216 bytes

Redo Buffers 172032 bytes

Database mounted.

SVRMGR> alter database rename file '/u01/oradata/ELISL/usersELISL01.dbf'

to '/u02/oradata/ELISL/usersELISL01.dbf' ;

Statement processed.

정상적으로 완료했다는 메세지가 떨어집니다.

( 어떤 작업을 하던지 반드시 정상적인 또는 에러 메세지를 확인하세요 . )

이때 변경시켜 주어야 할 파일들이 굉장히 많다면 반드시 xxx.sql 형식으로

파일을 만들어 놓고, 디렉토리, 파일명들의 철자가 틀린 것이 없는지

몇번이고 확인을 해야 합니다.

 

또 변경 후에도 아래와 같이 항상 확인하는 습관을 들여야 합니다.

SVRMGR> select name from v$controlfile union all

2> select member from v$logfile union all

3> select name from v$datafile ;

NAME

--------------------------------------------------------------------------------

/u01/oradata/ELISL/controlELISL01.ctl

/u01/oradata/ELISL/controlELISL02.ctl

/u01/oradata/ELISL/controlELISL03.ctl

/u01/oradata/ELISL/redoELISL01.dbf

/u01/oradata/ELISL/redoELISL02.dbf

/u01/oradata/ELISL/redoELISL03.dbf

/u01/oradata/ELISL/systemELISL01.dbf

/u01/oradata/ELISL/toolsELISL01.dbf

/u01/oradata/ELISL/rbsELISL01.dbf

/u01/oradata/ELISL/tempELISL01.dbf

/u02/oradata/ELISL/usersELISL01.dbf <----- 확인해보세요.

/u01/oradata/ELISL/indxELISL01.dbf

/u01/oradata/ELISL/drsysELISL01.dbf

13 rows selected.

바뀌었으면 DB를 open합니다.

SVRMGR> alter database open ;

Statement processed.

 

필요없어진 파일을 삭제합니다.

$ rm /u01/oradata/ELISL/usersELISL01.dbf

( 주의 하세요. /u02에 있는 파일이 삭제되면 DB 가 해당

테이블스페이스는 못쓰게 됩니다. 이래서 철자가 굉장히 중요~ )

 

위의 작업은 redo log file 이동시에도 동일하게 적용됩니다.

 

그러나 control file을 옮기려고 하면 위의 작업은 전혀 필요없고,

아래와 같이 하면 됩니다.

( 아래의 파일들이 control 파일들입니다. )

SVRMGR> select name from v$controlfile ;

NAME

-----------------------------------------------------

/u01/oradata/ELISL/controlELISL01.ctl

/u01/oradata/ELISL/controlELISL02.ctl

/u01/oradata/ELISL/controlELISL03.ctl

 

DB 를 정상적으로 다운시킨 상태에서 파일을 옮긴 후에

DBMS 에게 인식을 시키려면

$ORACLE_HOME/dbs/init$ORACLE_SID.ora 파일에서

----------------------------------------------------------

control_files = ("/u01/oradata/ELISL/controlELISL01.ctl",

"/u01/oradata/ELISL/controlELISL02.ctl",

"/u01/oradata/ELISL/controlELISL03.ctl")

----------------------------------------------------------

디렉토리를 옮긴 곳으로 바꾸어 주면 됩니다.

 

그리고 DB를 start 시키면 됩니다.

거듭 당부드리지만 조심해서 작업하세요.

 

그럼 이만

[Top]
No.
제목
작성자
작성일
조회
981이사양에 오라클8.1.6 설치 재질문
밤바람
2000-06-15
12213
982┕>Re: 이사양에 오라클8.1.6 설치 재질문
fith
2000-06-15 09:18:13
12781
987┕>Re: 이사양에 오라클8.1.6 설치 재질문
매니아
2000-06-15 13:59:44
12944
979이사양에 오라클8.1.6 설치가 가능한지요..
밤바람
2000-06-15
9493
980┕>Re: 이사양에 오라클8.1.6 설치가 가능한지요..
정재익
2000-06-15 02:01:52
10772
975Oracle 라이센스에 관하여
이용삼
2000-06-14
9648
986┕>Re: Oracle 라이센스에 관하여
소몰이
2000-06-15 12:49:47
11325
992┕>Re: Oracle 라이센스에 관하여
문태준
2000-06-16 22:57:23
10788
974Oracle 의 data file을 옮기려고 합니다. 어떤절차가 필요한지요..
이광주
2000-06-14
8619
976┕>Re: Oracle 의 data file을 옮기려고 합니다. 어떤절차가 필요한지요..
김규태
2000-06-14 19:51:25
10604
971oracle_8.1.5 설치시 문제.........
muilpoon
2000-06-14
8465
969윈도우 환경에서 오라클/자바서블릿을 사용할려면 어떻게 해야 되죠...??
정규성
2000-06-13
9625
972┕>Re: 윈도우 환경에서 오라클/자바서블릿을 사용할려면 어떻게 해야 되죠...??
매니아
2000-06-14 14:58:44
10059
968테이블정보(스키마)을 열람하는 방법은 무엇입니까?
김병국
2000-06-13
9664
977┕>Re: 테이블정보(스키마)을 열람하는 방법은 무엇입니까?
아마도
2000-06-14 20:02:30
10700
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.026초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다