# 고객께서 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
ASIS 에서 TOBE로 가능한겁니까?
서로 다른 서버에서도 가능한지 궁금합니다.
ASIS는 파일시스템이고 TOBE가 ASM로 구성이 되어있을때
예를 들면
ASIS의 테이블 스페이스를 OFFLINE 시킨후에
/orawork로 백업(offline)후에 백업본을 TOBE로 복사(FTP전송)후에
진행하면 되는건지 궁금합니다.
네… 가능합니다. 양방향 모두 가능 합니다. RMAN 으로 가능하고…11g 이상 부터 FTP 안하고 SCP 또는 NFS 파일시스템으로 바로 원격지 카피도 됩니다.