데이터파일을 다른 디렉토리(폴더)로 이동하기
I/O bottleneck등으로 인해 데이터파일을 다른 곳으로 이동해야 할 때가 있다. 이 방법은 또한 데이터파일명 변경시에도 동일하게 적용할 수 있다. 2가지 방법이 있다.
[alter database] 모든 데이터파일을 이동할 수 있다. 하지만 shutdown과정이 요구된다. 과정: shutdown -> 파일이동(OS) -> startup mount -> alter database rename datafile -> alter database open
[alter tablespace] DB의 shutdown이 필요치 않음 system, rollback segment혹은 temporary segment를 포함하는 테이블스페이스는 안됨 과정: alter tablespace offline -> 파일이동(OS) -> alter tablesapce rename datafile -> alter tablespace online
[alter database] D:>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 토 Dec 14 23:10:11 2002
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> connect sys/change_on_install as sysdba 연결되었습니다. SQL> shutdown 데이터베이스가 닫혔습니다. 데이터베이스가 마운트 해제되었습니다. ORACLE 인스턴스가 종료되었습니다.
SQL> host move C:oracleoradatawin912db s_test01.dbf d: s_test01.dbf
SQL> host dir d: s_test01.dbf D 드라이브의 볼륨: DATA1 볼륨 일련 번호: 482F-DB74
d: 디렉터리
2002-12-14 11:10p 10,493,952 ts_test01.dbf 1개 파일 10,493,952 바이트 0 디렉터리 2,208,530,432 바이트 남음
SQL> startup mount ORACLE 인스턴스가 시작되었습니다.
Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes 데이터베이스가 마운트되었습니다. SQL> alter database rename file 2 'C:oracleoradatawin912db s_test01.dbf' 3 to 4 'd: s_test01.dbf';
데이타베이스가 변경되었습니다.
SQL> alter database open;
데이타베이스가 변경되었습니다.
SQL>
[alter tablespace] 위에서 변경한 d: s_test01.dbf를 다시 원위치로 돌리도록 하겠다.
SQL> alter tablespace ts_test offline;
테이블 영역이 변경되었습니다.
SQL> host move d: s_test01.dbf C:oracleoradatawin912db s_test01.dbf
SQL> alter tablespace ts_test 2 rename datafile 3 'd: s_test01.dbf' 4 to 5 'C:oracleoradatawin912db s_test01.dbf';
테이블 영역이 변경되었습니다.
SQL> alter tablespace ts_test online;
테이블 영역이 변경되었습니다.
SQL>
[주의] alter database : rename file alter tablespace : rename datafile
| This article comes from dbakorea.pe.kr (Leave this line as is)
|