ASM disk grubundaki bir veri dosyasının farklı bir disk gruba taşınması

ASM disk grubundaki bir veri dosyasını , system tablo alanına ait değilse , veritabanı açıkken , farklı bir disk gruba yada aynı disk gruptaki farklı bir dizine taşımak mümkündür. 

Aynı disk grubunda farklı bir dizine taşımak için önce veritabanının db_unique_name parametresinin yeni dizin olarak şekilde değiştirilmesi gerekmektedir. Hedef disk grubu olarak da mevcut disk grup verilmelidir. Bu makalede farklı bir disk gruba taşıma adımları anlatılmaktadır.

Öncelikle datafile ismini belirleyelim.

SQL> SELECT FILE_NAME FROM DBA_DATA_FILES where tablespace_name='USERS';

FILE_NAME
--------------------------------------------------------------------------------
+DATA/orcl/datafile/users.526.799775723

Taşınacak datafile’ı offline duruma getirelim.

SQL> alter database datafile '+DATA/orcl/datafile/users.526.799775723' offline;

Database altered.

Rman üzerinden kopyalama işlemini yapalım.

RMAN> copy datafile '+DATA/orcl/datafile/users.526.799775723' to '+DATA01';

Starting backup at 14-SEP-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=3185 instance=orcl2 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=5690 instance=orcl2 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=+DATA/orcl/datafile/users.526.799775723
output file name=+DATA01/orcl/datafile/users.522.954674461 tag=TAG20170914T112059 RECID=2 STAMP=954674494
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
Finished backup at 14-SEP-17

Starting Control File and SPFILE Autobackup at 14-SEP-17
piece handle=+RECO/orcl/autobackup/c-3629146145-20170914-00 comment=NONE
Finished Control File and SPFILE Autobackup at 14-SEP-17

Kopyalama işlemi , farklı bir isimle dosyayı oluşturmaktadır. Bu yüzden ilgili dafafile isminin değiştirilmesi gerekmektedir. Aşağıdaki şekilde datafile ismi değiştirilebilir. Rename yapıldığında , otomatik olarak eski dosya ASM diskgrubundan silinecektir. Alert.log dosyasında silme işlemini görebilirsiniz.

SQL> ALTER DATABASE RENAME FILE '+DATA/orcl/datafile/users.526.799775723' TO '+DATA01/orcl/datafile/users.522.954674461'; 

Database altered.

Yeni dosyanın recover edilmesi gerekmektedir.

SQL> RECOVER DATAFILE '+DATA01/orcl/datafile/users.522.954674461';
Media recovery complete.

Son olarak yeni dosyayı online duruma getirelim.

SQL> ALTER DATABASE DATAFILE '+DATA01/orcl/datafile/users.522.954674461' ONLINE;

Database altered.

Kontrol ettiğimizde artık mevcut datafile numarası ile yeni dosya adı görülecektir.

SQL> SELECT FILE_NAME FROM DBA_DATA_FILES where tablespace_name='USERS';

FILE_NAME
--------------------------------------------------------------------------------
+DATA01/orcl/datafile/users.522.954674461

 

Loading

Leave Your Comment