Hurriyet

14 Ağustos 2013 Çarşamba

Oracle Veritabanı: Rman ile Database Duplicate Etmek

Rman ile bir backup'tan veya Active Database'den duplicate veya replicate oluşturabiliriz. Farklı bir sistemde aynı dosya düzeniyle var olan sistemden bir tane daha yaratabiliriz.

Şimdi vereceğimiz örnekteki senaryomuz aynı database adıyla ve aynı sistem ve dosya düzeninde bir veritabanı oluşturulması olacaktır.


Backup Bazlı Duplicate Yapılması:

İlk önce Rman'le database bağlanıp bir full backup alırız. Bu backupları orijinal sistemde alırız.

rman target /
configure controlfile autobackup on;
backup database plus archivelog;

Yukarıdaki şekilde database'i yedekledikten sonra yaratacağımız duplicate session için bir password dosyası yaratırız.

orapwd file=/u01/app/oracle/product/11.2.0/db_1/dbs/orapwDB11G password=password entries=10


Password dosyası yaratıldıktan sonra karşılıklı olarak 2 veritabanına da birbirleri arasında bağlantı sağlamak için "tnsnames.ora" dosyalarına gerekli bilgiler yazılır.

Kaynak Veritabanına Eklenecek  Bilgi

LISTENER1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = Duplicate_hostname)(PORT = 1521))
    )
    (CONNECT_DATA =
      (ORACLE_SID = orcl)
    )
  )

Kopya Veritabanına Eklenecek Bilgi

LISTENER2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = Kaynak_hostname)(PORT = 1521))
    )
    (CONNECT_DATA =
      (ORACLE_SID = orcl)
    )
  )

"Tnsnames.ora" dosyasına gerekli değişiklikler yapıp bir pfile dosyasını oluştururuz. Bu pfile dosyasını kopya veritabanına gönderip bununla kopya veritabanını açarız.

create pfile='/home/users/oracle/Desktop/pfiledup1' from spfile;

$ scp -r berke@berkehost1:/home/users/oracle/Desktop/pfiledup1 /home/users/oracle/Desktop/

Dosya düzeni aynı olacağı için hiçbir değişiklik yapılmasına gerek yoktur.

Pfile'da gerekli değişiklikler yapılabilir. Bu değişiklikler kopya sistemdeki farklılıklara bağlıdır. Database adı aynı kalacaksa, datafile dosyalarının yerleri değişmeyecekse bir değişikliğe gerek yoktur.

Artık pfile'da yarattığımıza göre aldığımız backup'ı karşı tarafa (kopya veritabanına) atabiliriz.

$ scp -r berke@berkehost1:/u01/app/oracle/fast_recovery_area/orcl/archivelog /u01/app/oracle/fast_recovery_area/DB11G
$ scp -r berke@berkehost1:/u01/app/oracle/fast_recovery_area/orcl/backupset /u01/app/oracle/fast_recovery_area/DB11G
$ scp -r berke@berkehost1:/u01/app/oracle/fast_recovery_area/orcl/autobackup /u01/app/oracle/fast_recovery_area/DB11G

Şimdi duplicate database'e bağlanıp pfile ile açabiliriz.

export ORACLE_SID=orcl   
  sqlplus / as sysdba   
  SQL>; startup nomount pfile='/home/users/oracle/Desktop/pfiledup1'; 

Database'i başlattığımıza göre artık ana makinamızdaki rman'den kopya sistemimize  bağlanabiliriz. ,

 rman auxiliary / 

Duplicate işini aşağıdaki komutlardan birisiyle başlatabiliriz.

Duplicate target database to ORCL  


İşlem tamamlanınca database'i "alter database mount; alter database open;" ile açabiliriz.


Hiç yorum yok:

Yorum Gönder