Hurriyet

10 Eylül 2013 Salı

Oracle Veritabanı: Rman Nedir? - Rman Recovery Catalog Nedir?

Rman Nedir?

Rman (Recovery Manager) Oracle veritabanında 8.versiyondan itibaren bulunan bir tool'dur. Bu tool ile backup'lar alınır ve restore-recover işlemleri yapılır. Oracle'ın tavsiye ettiği backup alma ve restore tool'udur.

Rman bağlantıları database'e giderken, sqlplus bağlantıları gibi giderler. Rman bağlantılarının farkı target veya auxiliary database'e giderken sysdba yetkisi gerektirmeleridir; ancak bağlanırken "as sysdba" ima edilir direkt olarak syntax içinde konulmaz. Bu yüzden aşağıdaki örnekte rman target'a bağlanırken aşağıdaki gibi sysdba yetkilerine sahip sys kullanıcısını kullanarak belirtiriz.

 rman target sys/oracle

ya da E-Business Suite bağlamında aşağıdaki gibi kullanılabilinir.

 rman target apps/apps

Rman Hangi Dosyalar Backup'layabilir?

Rman bütün database dosyalarını, datafile'ları, control file'ları, spfile'ları, archive log ları ve diğer backup dosyalarını backuplayabilir.


Recovery Catalog Nedir?

Rman catalog genel olarak bir database schema'sıdır. Bu schema'da rman repository bilgileri bulunur. Rman'de birden fazla Oracle Database bilgileri bulunabilir. Recovery catalog ile rman repository için redundancy oluşturur. Recovery catalog ile normalde control file'da saklanan rman repository yedeklenmiş olunur.

Recovery Catalog ile backup'ların ve database'lerin metadata'ları control file ile tutulabilinceğinden daha uzun tutulur. Bu özellik ile normalde çok geri bir zamandan geri dönülmesi gerekmesi halinde, backuplardan restore yapılabilinir.

Başka başarılı bir özellik ise rman script'lerinin sadece recovery catalog'da tutulabiliniyor olmasıdır. Recovery Catalog'a eklenen bütün database'ler tarafından kullanılabiliceği için genel olarak geçerli script'ler konulabilinir.

Catalog'da bulunan metadata'lar:

  • Datafile'lar, archived redo log backup set'leri ve backup piece'leri
  • Datafile kopyaları
  • Archived redo log'ları ve kopyaları
  • Veritabanının yapısı (Tablespace'ler ve Datafile'lar)
  • Kaydedilmiş Rman Script'leri 
  • Rman Configuration ayarları
Oracle bütün target database'lerin tek bir database de (catdb)'de  tek bir kullanıcı tarafından (catowner) yönetilmesini tavsiye etmektedir. Bu database'in de farklı bir makine de olması önerilmektedir.

Recovery Catalog Nasıl Yaratılır?

Rman Catalog'umuz için bir tablespace yaratırız. Bu tablespace'i kullanacak bir kullanıcı ekleriz. En son olarak da "create catalog" diyerek catalog yaratırız. (Tablespace yaratılması)

 create tablespace rman datafile size 20M autoextend on;

Tablespace yaratıldıktan sonra kullanıcımızı yaratır ve kullanıcımıza "create catalog" yetkisi veririz.

create user rman identified by berke  
     temporary tablespace temp  
     default tablespace rman  
     quota unlimited on rman;  
   
 grant recovery_catalog_owner to rman;  
 quit;  

Recovery Catalog' kullanıcısını tablespace ile birlikte yarattıktan sonra rman'e şimdi yarattığımız kullanıcıyla bağlanarak rman catalog'umuzu yaratırız.

 rman catalog rman/berke  
   
 create catalog;  
   
 quit;

İlgili Tablolar:

  RC_DATABASE              V$DATABASE  
  RC_DATABASE_INCARNATION  V$DATABASE_INCARNATION 

Database Nasıl Register Edilir?

Rman'e sysdba yetkisine sahip bir kullanıcıyla tekrar bağlanırız.  Ertesinde cataloga bağlanarak database'imizi register ederiz.


 rman target sys/oracle@orcl

Target session'ımızdan catalog'a bağlanmamız gerekir database'imizi kaydetmek için. Eğer catalog'umuz farklı bir db'de ise oraya service_id'si ve tns bilgileriyle bağlanırız. Catalog'umuz aynı database'de ise direk bağlanabiliriz.

--Eğer farklı bir database yoksa

 connect catalog rman/berke;  
 register database;  
 quit;

--Eğer farklı bir catalog database'i varsa

 connect catalog rman/berke@catdb;  
 register database;  
 quit;

Her database eğer catalog'da takip edilecekse kaydedilmelidir.

Eski Backup'lar Rman Catalog'una Nasıl Register Edilir?

Eski dosyaları ve backupları Recovery Catalog'una eklemek için "Catalog" komutunu kullanabiliriz.

 RMAN> CATALOG DATAFILECOPY '/dev/sda1/old_datafiles/users01.dbf';  
   
 RMAN> CATALOG ARCHIVELOG '/dev/sda1/backups/archive1_731.bkp' '/dev/sda1/arch_logs/archive1_732.dbf';  
   
 RMAN> CATALOG BACKUPPIECE '/dev/sda1/backups/abc1.bkp';  
   
 RMAN> CATALOG START WITH '/disk1/backups/';  

Rman 'de en genel backupları cataloğ'a register etme komutu "Catalog start with '/dizin_adı/' " 'dir. Bu şekilde dizin altında bulunan bütün backuplar kaydedilir.


Yazının devamı - Oracle Veritabanı: Rman Nedir? - Rman Konfigürasyonları


Hiç yorum yok:

Yorum Gönder