16 Ocak 2013 Çarşamba

                                     
                                RMAN Catalog Database Configuration

     Rman catalog database alınan yedeklerin metadatasını farklı bir database içerisinde tutmaya yarar.Bu metadata normalde database controlfile tutulur. Bu bilgiler yedeğin ne zaman alındığı, hangi veritabanına ait olduğu, hangi dosyaların hangi backupsetin içinde bulunduğu gibi bilgilerdir.Bu catalog bilgileri target database de farklı bir schemanın içerisinde olabilir.Ama bu catalog bilgilerinin  target database den farklı bir database içerisinde olması önerilir.Birde bu yöntem birden fazla database olduğu sistemlerde kullanılır. Tek bir database için bu yapının kullanılması önerilmez.Catalog database kullanılsada alınan yedek bilgileri  control file içerisinde tutulur.Control file içerisinde belirli bir geçmişe kadar olan backup bilgisi tutulabilinir.Ama catalog database keep forever özelliği ile backup bilgisine herzaman ulaşabiliriz.
control_file_record_keep_time initialization parametresi ile backup kullanılmadığında metadatanın control file içerisinde kaç gün süre ile tutulacağını belirtir.Bu değer default olarak 7 gündür.

Catalog Database Configuration:Catalog için kullanılacak olan database target database farklı bir yerde create edilir.Ve bu database içerisinde catalog sahibi ve catalog bilgilerinin tutulacağı tablespace oluşturulur.Catalog bilgileri  bulunduğu schemanın default tablespace inde yer alır.SYS kullanıcısı recovery catalog ların sahibi olamaz.Catalog database oluşturduktan sonra aşağıdaki işlemler gerçekleştirilir.

1)Catalog bilgilerinin tutulacağı tablespace create ederiz.
SQL>create tablespace rmancatalog datafile '/u01/app/oracle/oradata/catdb/catalog.dbf' size 100M;

2)Catalog Schemasını oluştururuz.
SQL> create user rman identified by rman default tablespace  rmancatalog TEMPORARY TABLESPACE temp quota unlimitedon rmancatalog;

2)Kullanııcıya katalog sahipliği hakkı veririz.
 SQL> grant connect,resource,recovery_catalog_owner to  rman;

3)Catalog database içerisinde  cataloglar saklanması için catalog tablespace oluştururuz.Bunun için rman ile catalog database bağlanırız.
  $rman catalog rman/rman@catalogdb
  RMAN>create catalog-->recovery catalog created mesajı verir.

4)Catalog ile kullanılmak istenilen database catalog database register edilmelidir.Bunun için target database bulunduğu makinadan catalog database ulaşmak için tnsnames.ora dosyası catalogdb için set edilir.Daha sonra target makinada rman ile target database ve catalog database bağlanılır.
  $rman target sys/oracle@test catalog rman/rman@catdb;-->Bu komutla hem belirtilen database hemde catalog database bağlanırız.
  RMAN>register database;-->database catalog a kaydeedilir.
  RMAN>unregister database;-->target database catalog dan unregister ederiz.

Catalog database register olan database görmek için sqlplus ile catalog database bağlandıktan sonra.
$sqlplus rman/rman@rmancatalog
SQL>select * from rc_database;bu catalog database kullanan database görebiliriz.

Önceden alınan backups bilgisini aşağıdaki komutları kullanarak catalog'a ekleyebiliriz.
RMAN>catalog backuppice 'backuppices path'-->belirtilen backupppice metadata catalog a yazılır:
RMAN>catalog recovery area noprompt-->recovery areada bulunan bütün backup cataloglayacaktır.
RMAN>catalog start with 'home/oracle/arch'-->home/oracle altında arch ile başlayan backups cataloglayacaktır.
RMAN>catalog start with 'home/oracle/-->home/oracle altında bulunan bütün backup cataloglayacaktır.

 $rman target / catalog rman/cat@catdb-->catalog parametresi  ile hangi catalog database kullanılacağını belirtiriz.
 $rman target sys/oracle@trgt nocatalog-->target ile rman için target database nocatalog ile bu database için catalog database kullanılmayacağını belirtiriz.Default olarak bu değer nocatalog.
$ rman target sys/password@target_db catalog rman/cat@catalogdb -->bu komutla hem target database hemde catalog database bağlanılır.

Hiç yorum yok: