정보과학 IT

Oracle DBF : data file의 이동 방법

물곰탱이 2013. 10. 30. 23:51

Oracle DBF : data file의 이동 방법


data file의 위치나 이름을 변경하고자 할 경우에 대하여 살쳐보자
Data file 이동 방법 두 종류
ALTER TABLESPACE 문이동하고자 하는 tablespace를 offline으로 변경한 다음 복사 이동 후 tablespace를 online시킴
ALTER DEATABASE 문이동하고자 하는 file을 복사하기 전 반드시 DB 종료 후 복사 이동 후 DATABASE를 OPEN 시킴
1)ALTER TABLESPACE 문을 사용하여 이동하는 경우
【형식】 ALTER TABLESPACE <tablespace명> RENAME DATAFILE '기존 file경로와 이름' [,'file명',...] TO '이동하고자하는 file경로와 이름' [,'file명'...]; 이동 순서 a) TABLESPACE를 OFFLINE 상태로 전환한다. b) 운영체제 상에서 data file을 이동하거나 복사한다. c) ALTER TABLESPACE ... RENAME DATAFILE ... TO ...문을 실행한다. d) OFFLINE의 TABLESPACE를 onLINE 상태로 전환한다. 【예제】 SQL> sqlplus '/as sysdba' SQL> select tablespace_name,file_name from dba_data_files; TABLESPACE FILE_NAME ---------- ------------------------------------------------------------ USERS /export/home/oracle/app/oracle/oradata/orcl/users01.dbf SYSAUX /export/home/oracle/app/oracle/oradata/orcl/sysaux01.dbf UNDOTBS1 /export/home/oracle/app/oracle/oradata/orcl/undotbs01.dbf SYSTEM /export/home/oracle/app/oracle/oradata/orcl/system01.dbf SQL> CREATE TABLESPACE users2 2 DATAFILE '/export/home/oracle/app/oracle/oradata/orcl/users201.dbf' SIZE 300k; Tablespace created. SQL> select tablespace_name,file_name from dba_data_files; TABLESPACE FILE_NAME ---------- ------------------------------------------------------------ USERS /export/home/oracle/app/oracle/oradata/orcl/users01.dbf SYSAUX /export/home/oracle/app/oracle/oradata/orcl/sysaux01.dbf UNDOTBS1 /export/home/oracle/app/oracle/oradata/orcl/undotbs01.dbf SYSTEM /export/home/oracle/app/oracle/oradata/orcl/system01.dbf USERS2 /export/home/oracle/app/oracle/oradata/orcl/users201.dbf SQL> ALTER TABLESPACE users2 OFFLINE; Tablespace altered. SQL> SELECT tablespace_name,status FROM DBA_TABLESPACES; TABLESPACE STATUS ---------- --------- SYSTEM onLINE UNDOTBS1 onLINE SYSAUX onLINE TEMP onLINE USERS onLINE USERS2 OFFLINE 6 rows selected. SQL> ! $ mv /export/home/oracle/app/oracle/oradata/orcl/users201.dbf \ > /export/home/oracle/app/oracle/oradata/user201.dbf $ exit SQL> ALTER TABLESPACE users2 2 RENAME DATAFILE '/export/home/oracle/app/oracle/oradata/orcl/users201.dbf' 3 TO '/export/home/oracle/app/oracle/oradata/user201.dbf'; Tablespace altered. SQL> select tablespace_name,file_name from dba_data_files; TABLESPACE FILE_NAME ---------- ------------------------------------------------------------ USERS /export/home/oracle/app/oracle/oradata/orcl/users01.dbf SYSAUX /export/home/oracle/app/oracle/oradata/orcl/sysaux01.dbf UNDOTBS1 /export/home/oracle/app/oracle/oradata/orcl/undotbs01.dbf SYSTEM /export/home/oracle/app/oracle/oradata/orcl/system01.dbf USERS2 /export/home/oracle/app/oracle/oradata/user201.dbf SQL> ALTER TABLESPACE users2 onLINE; Tablespace altered. SQL> SELECT tablespace_name,status FROM DBA_TABLESPACES; TABLESPACE STATUS ---------- --------- SYSTEM onLINE UNDOTBS1 onLINE SYSAUX onLINE TEMP onLINE USERS onLINE USERS2 onLINE 6 rows selected. SQL>
2)ALTER DATABASE 문을 사용하여 이동하는 경우
【형식】 ALTER DATABASE [database명] RENAME FILE '기존 file경로와 이름' [,'file명',...] TO '이동하고자하는 file경로와 이름' [,'file명'...]; 이동 순서 a) 반드시 DATABASE를 종료한다. b) 운영체제 상에서 data file을 이동하거나 복사한다. c) DATABASE를 MOUNT한다. d) ALTER DATABASE RENAME FILE...TO...문을 실행한다. e) DATABASE를 OPEN한다. 【예제】 SQL> sqlplus '/as sysdba' SQL> SELECT tablespace_name,file_name FROM dba_data_files; TABLESPACE FILE_NAME ---------- ------------------------------------------------------------ USERS /export/home/oracle/app/oracle/oradata/orcl/users01.dbf SYSAUX /export/home/oracle/app/oracle/oradata/orcl/sysaux01.dbf UNDOTBS1 /export/home/oracle/app/oracle/oradata/orcl/undotbs01.dbf SYSTEM /export/home/oracle/app/oracle/oradata/orcl/system01.dbf SQL> CREATE TABLESPACE test 2 DATAFILE '/export/home/oracle/app/oracle/oradata/orcl/test01.dbf' SIZE 300K; Tablespace created. SQL> SELECT tablespace_name,file_name FROM dba_data_files; TABLESPACE FILE_NAME ---------- ------------------------------------------------------------ USERS /export/home/oracle/app/oracle/oradata/orcl/users01.dbf SYSAUX /export/home/oracle/app/oracle/oradata/orcl/sysaux01.dbf UNDOTBS1 /export/home/oracle/app/oracle/oradata/orcl/undotbs01.dbf SYSTEM /export/home/oracle/app/oracle/oradata/orcl/system01.dbf TEST /export/home/oracle/app/oracle/oradata/orcl/test01.dbf SQL> SHUTDOWN IMMEDIATE Database closed. Database dismounted. ORACLE instance shut down. SQL> ! $ mv /export/home/oracle/app/oracle/oradata/orcl/test01.dbf \ > /export/home/oracle/app/oracle/oradata/test02.dbf $ exit SQL> STARTUP MOUNT ORACLE instance started. Total System Global Area 289406976 bytes Fixed Size 778796 bytes Variable Size 99360212 bytes Database Buffers 188743680 bytes Redo Buffers 524288 bytes Database mounted. SQL> ALTER DATABASE RENAME FILE 2 '/export/home/oracle/app/oracle/oradata/orcl/test01.dbf' 3 TO '/export/home/oracle/app/oracle/oradata/test02.dbf'; Database altered. SQL> ALTER DATABASE OPEN; Database altered. SQL> SELECT tablespace_name,file_name FROM dba_data_files; TABLESPACE FILE_NAME ---------- ------------------------------------------------------------ USERS /export/home/oracle/app/oracle/oradata/orcl/users01.dbf SYSAUX /export/home/oracle/app/oracle/oradata/orcl/sysaux01.dbf UNDOTBS1 /export/home/oracle/app/oracle/oradata/orcl/undotbs01.dbf SYSTEM /export/home/oracle/app/oracle/oradata/orcl/system01.dbf TEST /export/home/oracle/app/oracle/oradata/test02.dbf SQL> drop tablespace test including contents and datafiles; Tablespace dropped. SQL> SELECT tablespace_name,file_name FROM dba_data_files; TABLESPACE FILE_NAME ---------- ------------------------------------------------------------ USERS /export/home/oracle/app/oracle/oradata/orcl/users01.dbf SYSAUX /export/home/oracle/app/oracle/oradata/orcl/sysaux01.dbf UNDOTBS1 /export/home/oracle/app/oracle/oradata/orcl/undotbs01.dbf SYSTEM /export/home/oracle/app/oracle/oradata/orcl/system01.dbf SQL>

 

http://radiocom.kunsan.ac.kr/lecture/oracle/statement_alter/alter_tablespace_rename_datafile_to.html

'정보과학 IT' 카테고리의 다른 글

Oracle client (11g R2) 설치  (0) 2013.10.31
KMS 인증  (0) 2013.10.31
Oracle DBF : data file 즉, 물리적인 저장 구조  (0) 2013.10.30
윈도우 7 파티션 분할, 합치기  (0) 2013.10.30
Pro*C의 기초  (0) 2013.10.28