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 Tutorials 9068 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 9068
DataFile 위치 변경방법
작성자
정재익(advance)
작성일
2001-12-25 14:37
조회수
7,044

▶ NON-SYSTEM TABLESPACE 의 DATAFILE 이름을 변경하는 경우

SPACE 때문에 데이타 화일을 다른 디렉토리에 옮겨야 하는 경우가 있다.

데이타 화일을 다른 디렉토리에 옮기는 것은 데이타 화일의 이름이 변경되는

경우이므로 다음 SQL 문을 사용하면 된다.

 

ALTER TABLESPACE tablespace RENAME DATAFILE 'filename'

TO 'filename';

 

이 명령문을 이용하여 datafile을 옮기는 전체적인 절차는 다음과 같이 하면 된다.

 

작업 순서

========

1. 데이타베이스 BACKUP을 시행하고 데이타베이스의 모든 작업을 중단하고

다음 작업을 실시한다.

 

2. 해당 TABLESPACE를 다음 명령어로 DB 가 OPEN된 상태에서 OFFLINE 한다.

ALTER TABLESPACE tablespace OFFLINE;

 

3. OS COPY 명령어을 사용하여 새로운 DIRECTORY에 FILE을 COPY 한다.

 

4. ALTER TABLESPACE 명령어를 사용하여 DATABASE FILE을 RENAME 한다.

즉, ALTER TABLESPACE tablespace RENAME DATAFILE 'filename'

TO 'filename';

 

5. TABLESPACE 를 ONLINE으로 전환한다.

ALTER TABLESPACE tablespace ONLINE;

 

6. OS 상에서 OLD FILE을 삭제한다.

 

위의 작업을 하기위해서는 OLD와 NEW 데이타 화일이 존재해야한다.

또한 데이타 화일의 이름이 변경 되었으므로

다음과 같이 control file에 대한 backup을 받아두는것이 좋다.

ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

 

▶ SYSTEM TABLESPACE의 DATAFILE 이름을 변경하는 경우

 

SYSTEM TABLESPACE에 있는 DATAFILE NAME을 변경하는 경우 SYSTEM TABLESPACE

는 OFFLINE 할 수 없으므로 DATABASE를 OPEN 하지않고 MOUNT된 상태에서

ALTER DATABASE RENAME FILE ... 명령어를 사용한다.

 

 

1. EXPORT로 FULL BACKUP을 받는다.

$ exp system/manager file=system.dmp full=y

 

2. 데이타베이스를 정상적으로 DOWN 한다.

    $ sqldba lmode=y
      SQLDBA> connect internal
      SQLDBA> shutdown

3. DATAFILE을 변경하고자 하는 화일 이름으로 COPY 한다.

$ cp /oracle/dbs/syst_old.dbf /oracle/dbs/syst_new.dbf

 

4. DATAFILE의 이름을 RENAME 한다.

    
   $ sqldba lmode=y
     SQLDBA > connect internal
     SQLDBA > startup mount
     SQLDBA > alter database rename file '/oracle/dbs/syst_old.dbf' to
                   '/oracle/dbs/syst_new.dbf' ;
     SQLDBA > alter database open;

5. 데이타베이스가 정상적으로 OPEN 되는지 SHUTDOWN 후 다시 STARTUP 한다.

 

6. 데이타베이스가 정상적으로 STARTUP되면 OLD 화일을 삭제한다.

SQLDBA > !rm /oracle/dbs/syst_old.dbf

[Top]
No.
제목
작성자
작성일
조회
9071NT/95 client에서 NT server에 OS Authentication 사용하기
정재익
2001-12-25
4746
9070특정 TABLE을 다른 TABLESPACE로 옮기는 방법
정재익
2001-12-25
4826
9069Control File 생성 Script 얻는 방법
정재익
2001-12-25
4909
9068DataFile 위치 변경방법
정재익
2001-12-25
7044
9066오라클로 connect하는 시간이 너무 오래 걸리거나 혹은...
정재익
2001-12-25
5609
9063tnsping은 되는데, 실데 Program에서 DB 접속이 안되는경우
정재익
2001-12-25
5282
9061NT 에서 자동 백업을 받을 수 있는 방법
정재익
2001-12-25
6958
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다