4 Şubat 2012 Cumartesi

Migration to File System from ASM


Başlangıçta ASM diskgroup 'ları üzerine kurulmuş bir veritabanını İşletimsistemi dosya sistemi üzerinde çalıştırmak istiyoruz. Ve aşağıdaki şekilde migration olayına adım adım başlıyoruz.

 DB_CREATE_FILE_DEST parametresi oluşturulacak tüm dosyaların bulunduğu yerdir. Default olarak tüm data dosyaları, Log dosyaları, Kontrol dosyaları bu dizinde mevcuttur. 

SQL> alter system set db_create_file_dest='+/u01/app/oracle/oradata ' scope=spfile;
System altered.


SQL> alter system set db_recovery_file_dest='+/u01/app/oracle/FRA ' scope=spfile;

Log dosyalarının yerini ise yine aynı path 'i kullanıyoruz.

SQL> alter system set db_create_online_log_dest_1='/u01/app/oracle/oradata' scope=spfile;

System altered.

alter system reset control_files scope=spfile sid='*';

Spfile’ den Control files parametresi  değeri silinir. Db_dreate_file_dest parametresi set edildiğinden  bir sonraki restore controlfile işleminden sonra spfile ‘deki yeni path’i otamatik olarak set edilecektir.

Daha sonra Veritabanımızı shutdown ediyoruz.
Sonra nomount  moduna getiriyoruz.

SQL>startup nomount;

Bundan sonra yeni Controlfile’ i restore edeceğiz. Ben daha önce almış olduğum backuplarla birlikte çalışan autobackup ‘dan restore edeceğim.
Sonra RMAN ‘ bağlanalım.

Rman target /
RMAN> restore controlfile from autobackup;
RMAN> Alter database mount;

  System datafile kopyasını alıyorum.

RMAN> backup as copy datafile 1 format ‘/u01/app/oracle/oradata/datafile/system01.dbf’;

 Sysaux datafile kopyasını alıyorum.

RMAN> backup as copy datafile 2 format ‘/u01/app/oracle/oradata/datafile/sysaux01.dbf’;

 Undotbs datafile’ kopyasını alalım.

RMAN> backup as copy datafile 3 format ‘/u01/app/oracle/oradata/datafile/undotbs01.dbf’;

Users datafile’ kopyasını alalım.

RMAN> backup as copy datafile 4 format ‘/u01/app/oracle/oradata/datafile/users01.dbf’;

Daha önceki makalemizde söylediğimiz gibi image copy alınan backuplar’ı switch edip kopyalarının orijinal gibi çalışmaları sağlanabilir. Ve bu işte Controlfile bilgilendirilmiş olur. Şimdi istediğim, tüm datafile’ların yeni path’ (yollarında) çalışması.

RMAN> switch database to copy;

Ve böylece datafile’  rin tümü /u01/app/oracle/oradata/XDB/datafile/ klasörüne aldık.
Not: Eğer Rman ortamında tekrar aynı switch komutları verildiğinde orijinal yerlerine switch eidlmiş olur. Switch işlemi anlamından da anlaşılacağı üzere anahtarlama görevini yapar.
Şimdi database açıyoruz.

RMAN> alter database open;
Database opened


RMAN>exit

Tempfile  taşınması:
 
SQL> Select file_name from dba_temp_files;
FILE_NAME
----------------------------------------------
/u01/app/oracle/oradata/XDB/tempfile/temp01.dbf
+XDATA/XDB/tempfile/temp.264.718706509

Tempfile  oracle geçici dosyalarının tutulduğu bir alandır.  Önce temp tablespace ‘ ine yeni bir tempfile ekliyorum. Ve eskisini siliyorum.

SQL>Alter database temp add tempfile ‘/u01/app/oracle/oradata/XDB/tempfile/temp01.dbf size 50M’;
SQL> alter database temp drop tempfile ‘+XDATA/XDB/tempfile/temp.264.718706509’;
 
SQL> Select file_name from dba_temp_files;
FILE_NAME
----------------------------------------------
/u01/app/oracle/oradata/XDB/tempfile/temp01.dbf
 

0 yorum:

Yorum Gönder