Datafile Dosyasını ASM Diskine Taşımak

Bu yazıda Oracle veritabanıdaki bir datafile dosyasını ASM diskine nasıl taşınacağını 2 yöntem ile anlatacağım.

Datafile ler ile ilgili bilgiyi aşağıdaki gibi alabiliriz.

$ sqlplus / as sysdba

SQL> select name from v$datafile;

NAME
------------------------
+DATA/ORCL/DATAFILE/system.257.953933869
+DATA/ORCL/DATAFILE/sysaux.258.953933921
+DATA/ORCL/DATAFILE/undotbs1.259.953933957
+DATA/ORCL/DATAFILE/users.260.953933957
/u01/app/oracle/oradata/tbs_f03.dbf

“tbs_f03.dbf” hariç diğer datafilelerim ASM disk grubunda. tbs_f03.dbf datafile dosyasını ASM diskine taşımak için aşağıdaki adımları takip edin. 

SQLPlus Üzerinden Taşıma:

Datafile dosyasını SQLPlus üzerinden taşımak için aşağıdaki adımları takip edin. Datafile’i bu şekilde taşımak için durumunu offline yapmaya gerek yoktur. Bu özellik 12c ile gelmiştir.

$ sqlplus / as sysdba
SQL> alter database move datafile '/u01/app/oracle/oradata/tbs_f03.dbf' to '+DATA';

RMAN Kullanarak Taşıma:

$ sqlplus / as sysdba
SQL> alter tablespace tbs_f03 offline;
SQL> exit;

Datafile’i offline durumuna getirdikten sonra RMAN ile ASM diskine taşıyabiliriz. Eğer veritabanınız archivelog modundaysa tablespace’i offline yapmanıza gerek yortur.

$ rman target /
RMAN> copy datafile '/u01/app/oracle/oradata/tbs_f03.dbf' to '+DATA';

Starting backup at 06-SEP-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=38 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=/u01/app/oracle/oradata/tbs_f03.dbf
output file name=+DATA/ORCL/DATAFILE/tbs_03.267.953992759 tag=TAG20170906T135918 RECID=1 STAMP=953992758
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 06-SEP-17

Starting Control File and SPFILE Autobackup at 06-SEP-17
piece handle=/u01/app/oracle/oradata/c-1481714732-20170906-00 comment=NONE
Finished Control File and SPFILE Autobackup at 06-SEP-17

RMAN> exit;

ASM diskine taşıma bittikten sonra datafile’nin tam konumunu verecektir. Bu adresi sqlplus ile bağlanıp datafiles tablosundan güncellemek gerekiyor.

$ sqlplus / as sysdba
SQL> alter database rename file '/u01/app/oracle/oradata/tbs_f03.dbf' to '+DATA/ORCL/DATAFILE/tbs_03.267.953992759';

SQL> alter tablespace tbs_03 online;
SQL exit;

Datafile taşıma işlemi tamamlandı, ama oracle dizininde bulunan datafile dosyası hala duruyor. Yer kaplamasını istemiyorsanız silebilirsiniz.

$ rm /u01/app/oracle/oradata/tbs_f03.dbf

 

Published by

Emrah Gümüş

Computer Engineer

One thought on “Datafile Dosyasını ASM Diskine Taşımak”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.