Dosya sisteminde yer alan bir datafile’ın ASM disk grubuna taşınması

14 Ara by Ahmet Duruöz

Dosya sisteminde yer alan bir datafile’ın ASM disk grubuna taşınması

ASM kullanılan bir veritabanında kazara yada bilinçli şekilde dosya sisteminde oluşturulan dosyalar , çoğu zaman sorun yaratmaktadır.

Özellikle RAC veritabanlarında bir node üzerindeki dosya sisteminde oluşturulan bir dosya diğer node tarafından görülmeyeceğinden , bu datafile ile ilgili işlemlerde sorun yaşanacaktır. 

Bu durumda aşağıdaki adımları takip ederek dosya sistemindeki bir dosya ASM disk grubu içine taşınabilir.

İşlemler :

Öncelikle ilgili tablo alanının offline yapılması gerekmektedir.

SQL> ALTER TABLESPACE TEST OFFLINE;

Tablespace altered.

Dosya sistemindeki datafile’ın tam yolunu bulalım.

SQL> SELECT FILE_NAME FROM DBA_DATA_FILES;

FILE_NAME
--------------------------------------------------------------------------------
+DATA/racdb/datafile/users.259.623629857
+DATA/racdb/datafile/sysaux.257.623629849
+DATA/racdb/datafile/undotbs1.258.623629855
+DATA/racdb/datafile/system.256.623629845
+DATA/racdb/datafile/undotbs2.261.623630209
/u01/oradata/racdb/test01.dbf

Rman ile ilgili dosyayı ASM disk grubu (+DATA) içerisine kopyalıyoruz.

[oracle@rac1 racdb]$ rman target / nocatalog

Recovery Manager: Release 11.2.0.4.0 - Production on Wed Dec 14 17:58:18 2016

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

connected to target database: RACDB (DBID=2708277737)
using target database control file instead of recovery catalog

RMAN> copy datafile '/u01/oradata/racdb/test01.dbf' to '+DATA';

Starting backup at 14-DEC-16
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile fno=00006 name=/u01/oradata/racdb/test01.dbf
output filename=+DATA/racdb/datafile/test.263.625644857 tag=TAG20161214T061416 recid=1 stamp=625644858
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:04
Finished backup at 14-DEC-16

RMAN> exit


Recovery Manager complete.

Sqlplus ile ilgili dosyanın ismini değiştiriyoruz.

[oracle@rac1 racdb]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Dec 14 18:01:43 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> alter database rename file '/u01/oradata/racdb/test01.dbf' to '+DATA/racdb/datafile/test.263.625644857';

Database altered.

İlgili tablo alanını online duruma getiriyoruz.

SQL> alter tablespace test online;

Tablespace altered.

Son olarak dosya sistemindeki dosyayı siliyoruz.

[oracle@rac1 racdb]$ rm /u01/oradata/racdb/test01.dbf

Tekrar tüm datafile’ları kontrol ettiğimizde, dosya sisteminde herhangi bir datafile olmaması gerekmektedir.

SQL> SELECT FILE_NAME FROM DBA_DATA_FILES;

FILE_NAME
--------------------------------------------------------------------------------
+DATA/racdb/datafile/users.259.623629857
+DATA/racdb/datafile/sysaux.257.623629849
+DATA/racdb/datafile/undotbs1.258.623629855
+DATA/racdb/datafile/system.256.623629845
+DATA/racdb/datafile/undotbs2.261.623630209
+DATA/racdb/datafile/test.263.625644857

 

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir