# 고객께서 ASM으로 업그레이드가 필요하거나, ASM기반 RAC로 업그레이드 하기 위해, 기존 ASM을 쓰고있는데 Tablespace를 잘못


만들었거나 했을때에 유용하게 쓸 수 있습니다.


 


1. 현재 Datafile은 DATA Diskgroup에 있고 ASM으로 옮겨야할 dbf는 /u01 아래에 있습니다.


SQL> create tablespace test
  2  datafile ‘/u01/test.dbf’ size 10m;


Tablespace created.


SQL> select name from v$datafile;


NAME
——————————————————————————–
+DATA/orcl/datafile/system.256.823945567
+DATA/orcl/datafile/sysaux.257.823945567
+DATA/orcl/datafile/undotbs1.258.823945567
+DATA/orcl/datafile/users.259.823945567
+DATA/orcl/datafile/example.265.823945657
/u01/test.dbf


6 rows selected.



 


2. 이동대상 Datafile을 offline 시킵니다.


SQL> alter tablespace test offline;


Tablespace altere


 


3. RMAN을 실행시켜 COPY를 시킵니다.


[oracle@msyu u01]$ rman target /


Recovery Manager: Release 11.2.0.3.0 – Production on Sun Dec 27 13:01:04 2015


Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.


connected to target database: ORCL (DBID=1351726376)


RMAN> copy datafile ‘/u01/test.dbf’ to ‘+DATA’; <– A to B, B to A를 달리 해주면 ASM to Filesystem으로도 옮길 수 있습니다.


Starting backup at 27-DEC-15
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=27 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00006 name=/u01/test.dbf
output file name=+DATA/orcl/datafile/test.267.899557303 tag=TAG20151227T130142 RECID=2 STAMP=899557302
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 27-DEC-15


 


4. ASM으로 옮겨왔으니 이제 Rename을 해줍니다. 그리고 Tablespace를 online 하여 줍니다.


SQL> alter database rename file ‘/u01/test.dbf’ to ‘+DATA/orcl/datafile/test.267.899557303’;


Database altered.


SQL> alter tablespace test online;


Tablespace altered.


SQL> select name from v$datafile;


NAME
——————————————————————————–
+DATA/orcl/datafile/system.256.823945567
+DATA/orcl/datafile/sysaux.257.823945567
+DATA/orcl/datafile/undotbs1.258.823945567
+DATA/orcl/datafile/users.259.823945567
+DATA/orcl/datafile/example.265.823945657
+DATA/orcl/datafile/test.267.899557303


6 rows selected.



 


5. Object를 생성해봅니다.


SQL> create table tt tablespace test as select * from v$version;


Table created.


SQL> select * from tt;


BANNER
——————————————————————————–
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit Production
PL/SQL Release 11.2.0.3.0 – Production
CORE    11.2.0.3.0      Production
TNS for Linux: Version 11.2.0.3.0 – Production
NLSRTL Version 11.2.0.3.0 – Production


 


6. 기존 Filesystem에 있는 dbf 파일은 지우고 작업을 마무리 합니다.


[oracle@msyu u01]$ ls -al
합계 10280
drwxr-xr-x  3 oracle oinstall     4096 12월 27 12:57 .
drwxr-xr-x 26 root   root         4096 12월 27 12:51 ..
drwxr-xr-x  5 oracle oinstall     4096  8월 20  2013 app
-rw-r—–  1 oracle oinstall 10493952 12월 27 12:59 test.dbf
[oracle@soonhyog u01]$ rm -rf test.dbf


 


 



 

By haisins

오라클 DBA 박용석 입니다. haisins@gmail.com 으로 문의 주세요.

2 thoughts on “RMAN COPY 명령어를 이용한 Filesystem to ASM 이동하기(혹은 ASM to Filesystem)”
  1. ASIS 에서 TOBE로 가능한겁니까?
    서로 다른 서버에서도 가능한지 궁금합니다.

    ASIS는 파일시스템이고 TOBE가 ASM로 구성이 되어있을때
    예를 들면
    ASIS의 테이블 스페이스를 OFFLINE 시킨후에
    /orawork로 백업(offline)후에 백업본을 TOBE로 복사(FTP전송)후에
    진행하면 되는건지 궁금합니다.

    1. 네… 가능합니다. 양방향 모두 가능 합니다. RMAN 으로 가능하고…11g 이상 부터 FTP 안하고 SCP 또는 NFS 파일시스템으로 바로 원격지 카피도 됩니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다