Oracle/ASM

File system 의 Datafile을 ASM system으로 옮기기

에몽이ㅋ 2012. 2. 28. 11:03
1. File system으로 데이터파일 만들기
create tablespace test datafile '/home/oracle/test01.dbf' size 10M autoextend on maxsize 2G;

2. 해당 데이터파일(or tablespace) offline
alter database datafile '/home/oracle/test01.dbf' offline;

3. RMAN에서
 copy datafile '/home/oracle/test01.dbf' to '+DATA';    << +DATA부분은 각자의 환경에 맞게.
'+DATA/testdb/datafile/' 라고는 적지마세요, +DATA라고만 적으면 oracle이 알아서 넣어줍니다.
(OMF(Oracle Managed Files)사용하기 때문에))

4.  SQL에서
alter database rename file '/home/oracle/test01.dbf'
to '+DATA/testdb/datafile/test.266.776429563';
위 데이터파일이름은 RMAN copy datafile할때 결과물로 나온 파일입니다.

5.  해당 데이터파일(or tablespace) online
alter tablespace test online;

6. 옛날 데이터파일 지우기
rm /home/oracle/test01.dbf 

7. 확인
RMAN> report schema;

using target database control file instead of recovery catalog
Report of database schema

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    300      SYSTEM               ***     +DATA/testdb/datafile/system.260.776388427
2    200      UNDOTBS1             ***     +DATA/testdb/datafile/undotbs1.261.776388441
3    120      SYSAUX               ***     +DATA/testdb/datafile/sysaux.262.776388447
4    5        USERS                ***     +DATA/testdb/datafile/users.264.776388461
5    10       TEST                 ***     +DATA/testdb/datafile/test.266.776429563  << 변경되었습니다.

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       +DATA/testdb/tempfile/temp.263.776388449