ORACLE ASM DISKGROUPTAN BAŞKA BIR DISKGROUP'A DATAFILE TAŞIMAK
- Ekrem Oğuz ŞAHİN
- 14 Kas 2022
- 1 dakikada okunur

Bu yazımda bir ASM diskgroup'undan başka bir group' a datafile taşıyacağız. Test ortamımızda bulunan users tablespace'inin datafile'ı '+DATA' Diskgroupunda bulunmakta. Bu datafile'ı '+DATA2' Diskgroupuna taşıyacağız.
SQL> SELECT FILE#,TS#,NAME FROM V$DATAFILE;

Öncelikle taşınacak olan datafile'ın bulunduğu tablespace'i 'READ ONLY' moda alıyoruz.
SQL> ALTER TABLESPACE USERS READ ONLY;

Datafile'ı yeni diskgroup'a kopyalıyoruz. Eğer datafileınızın boyutu büyükse section size vererek taşıyabilirsiniz. Ancak bu işlem için DB compatibility 12.0.1 ve üzeri olması gerekiyor.
RMAN> BACKUP AS COPY DATAFILE 7 FORMAT '+DATA2';
Section Size'lı syntaxı;
RMAN> BACKUP AS COPY DATAFILE 7 FORMAT '+DATA2' SECTION SIZE 256G;

Datafile'ın kopyası kontrol edilir.
RMAN> LIST COPY OF DATAFILE 7;

Tablespace offline moda alınır.
SQL> ALTER TABLESPACE USERS OFFLINE;

Yeni Datafile ile eski datafile değiştirilir.
RMAN> SWITCH DATAFILE 7 TO COPY;

Tablespace read/write ve online moda alınır.
SQL> ALTER TABLESPACE USERS ONLINE;
SQL> ALTER TABLESPACE USERS READ WRITE;

Yer kaplamaması için eski datafile silinebilir.
RMAN> DELETE COPY OF DATAFILE 7;

Görüldüğü gibi 7 numaralı datafile +DATA diskgroupundan +DATA2 diskgroupuna taşındı.

Böylece "ORACLE ASM DISKGROUPTAN BAŞKA BIR DISKGROUP'A DATAFILE TAŞIMAK" adlı yazımın sonuna gelmiş bulunuyorum.
Gelecek yazılarımızda görüşmek üzere, sağlıcakla kalın...
Commentaires