RECOVERY MANAGER (RMAN)


RMAN günümüz oracle teknolojisinde backup / recovery gibi işlemleri basitleştirmek için hazırlanmış kullanışlı bir programdır.Bir çok media / Backup yazılımı üreten firma RMAN’e destek vermektedir.Bu destek sayesinde bazı işlemler alabildiğine kolay yapılabilmektedir.

 

Rman command line tabanlı bir yazılımdır,Enterprise Manager ile de grafik arayüzlü bir sistem ilede RMAN’in yönetimi ve konfigürasyonu yapılmaktadır.RMAN Oracle’ın 8i sürümünden sonra sisteme entegre edilmiştir.

 

RMAN’in şu avantajları vardır.

 

  • Database ‘de sık kullanılan operasyon scriptleri depolanabilmektedir
  • Incremental yapıda bir backuplama sistemi kullanılarak en son yapılan backuptan sonra değişmiş verilerin backuplaması yapılabilmektedir.Tabii ki bu işlem için sistemin Archive moda olması gerekmektedir.
  • RMAN sayesinde backup parçalarının size’ı ve saklanma zamanı backup operasyonu ile beraber yönetilmektedir.
  • RMAN işletim sisteminin Schedule mekanizması ile entegre edilip backuplamanın otomatik hale getirilmesi sağlanabilmektedir.
  • RMAN backuplama aşamasında corrupt olmuş data bloklarını tespit etmektedir. V$BACKUP_CORRUPTION ve V$COPY_CORRUPTION viewlarına bakılarak bu bilgi alınabilir.
  • RMAN backup ,recover ve restore işlemlerini paralel olarak yönetebilmektedir.
  • Online database backup aşamasında extra redo log datası üretilmemektedir.
  • OLTP işlemlerinde backuplama işlemi kısıtlı olarak yapılıp yavaşlamanın önüne geçilebilir.
  • RMAN ile dosyların Tape e yaılma aşamasında kontrol ile taşmanın önüne geçilebilir.

 

RMAN REPOSITORY(DEPO):CONTROL FILE KULLANIMI ILE

 

CONTROL_FILE_RECORD_KEEP_TIME parametresi ile rman kayıtlarının ne kadar süre muhafaza edileceğinin bilgisi tutulur,RMAN repository target yani hedef database’in control file’ında tutulur.

Kontrol file büyüyebilir.Rman depolanmış RMAN scriptlerini kullanamaz.

 

KANAL İŞLEMLER

11

 

Manuel Kanal ayırma işleminde,

 

  • Backup ,recovery ve restore işlemleri için en az bir kanal gerekldir.
  • Alocating channel komutu hedef database de bir server prosesi başlatır.
  • Kalanlar paralelizm’in derecesini etkiler.
  • Kanallar farklı media tiplerine yazılabilmektedir.
  • Kanallar limit koymada kullanılabilir.

 

RMAN> RUN {

ALLOCATE CHANNEL c1 TYPE disk

FORMAT = ’/db01/BACKUP/usr0520.bak’;

BACKUP DATAFILE ’/db01/ORADATA/users01.dbf’;}

 

RUN {

ALLOCATE CHANNEL c1 TYPE disk

FORMAT = ’d:\emrah.bak’;

BACKUP DATAFILE 1;}

 

 

V$BACKUP_DEVICE viewı kullanılarak supported olan media tipleri görülebilir.

 

Read rate: Her saniye okunan bufferların sayısıdır

 

allocate channel … rate = integer

 

allocate channel … maxpiecesize = integer ile ise backup parçalarının boyutları ayarlanabilir.

 

ALLOCATE CHANNEL … MAXOPENFILE = integer komutu ile large backup esnasında açık olan dosyların sayısını belirlemede kullanılır.

 

ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk; bu komut DELETE komutu için channel alocate eder.Çünkü ilgili herhangi bir dosya diskten silinecektir. MAINTENANCE DEVICE lar Diskte diğer I / O operasyonları için kullanılazmlar sadece backup ve copy için kullanılır.

 

RMAN> RUN {

ALLOCATE CHANNEL d1 DEVICE TYPE disk

FORMAT = ’/db01/BACKUP/%U’;

BACKUP DATAFILE ’/…/u03/users01.dbf’;}

 

Bu örnekte d1 isimli bir kanal ayarlanır,format olarak %U kullanılır ve yalnızca tek bir tablespace in backupı alınır.

 

Otomatik Kanal ayırma işleminde,

 

RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt; // bu komutla defaul device mızı tape driver olarak belirliyoruz.

 

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 3; // default deviceımızı disk olarak belirleyip paralel mantığı oluşturulmaktadır.

 

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK

FORMAT = ‘/BACKUP/RMAN/%U’; // default device ‘ı disk verip formatlama yapıyoruz.

 

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK

MAXPIECESIZE 2G;  // Max backup parça büyüklüğünü 2 Gb verip kanal olarak disk kullanıyoruz.

 

Bir kanal RMAN tarafından otomatik olarak alocate edildiyse ismi şu şekilde olacaktır.

ora_devicetype_n (ora_sbt_tape_n or ora_disk_n).

 

Media Management

11

 

Oracle’ın third party devicelarla haberleşmesi için MML dediğimiz media managemnt library lere ihtiyaç duymaktadır.Oracle Backup solution programa aktif olarak dahil olan Vendorların cihazları sistemde güncel olarak kullanılabilmektedir.

 

RMAN ile ilgili library i iletişim olarak aktif hale getirmek için şu adımlar uygulanır.

 

1-)İlgili media management library target hotsa yada ürün network’üne yüklenir.Bu aşamada RMAN entegrasyonu gerekli değildir.

2-)Hangi dosyların backubı alınacak karar verilir.İşletim sistemi dosyalrının backup’ı alınmayacağından emin olunur.

3-)Third party media managemnt modüle sistemem yüklenir.ve Oracle Server ile entegre olması sağlanır.

 

Kullanımı ise şu şekilde olacaktır.

 

RMAN > run {

# Allocating a channel of type ’sbt_tape’ for serial device

ALLOCATE CHANNEL ch1 DEVICE TYPE ‘sbt_tape’;

BACKUP DATAFILE 3;

}

 

RMAN BAĞLANTISI

 

RMAN bağlantısı 3 değişik şekilde olmaktadır.

 

-Target Database : Datafile,control file ve loglarımızın durduğu ana database’dir.Buraya başlanabilmek için kesinlikle sysdba olmak gerekmekedir.

-Recovery Katalog DB : Burada opsiyonal olarak RMAN ile yaptığımız işlemleri depolayan db dir.

-Auxiliary database : Kurtarma anında geçici olarak dataları saklayan db dir.

11

 

UNIX:

$ ORACLE_SID=DB01; export ORACLE_SID

$ rman target sys/change_on_install

NT:

C:\> set ORACLE_SID=DB01

C:\> rman target sys/change_on_install

Bağlantı işlemi yukarıda görüldüğü gibi olmaktadır.

 

C:\> rman target sys/change_on_install@DB01 ;Uzaktaki bir sisteme bağlanmak için kullanılır.

11

 

Burada bilinmesi gereken en önemli konu  Channel(Kanal) dır.Channel sabit disk olabileceği gibi bir tape ünitesi de olabilir.Ama bu tape ünitesi için ilgili üretici firmanın library lerinin kullaıması gerekebilir.Onun için Server session ile Tape arasında MML(Media management library) olması gerekmektedir.Kanal bağlantısı aşağıdaki gibi ayarlanmalıdır.

11

 

RMAN> RUN {

ALLOCATE CHANNEL c1 TYPE disk

FORMAT = ’/db01/BACKUP/usr0520.bak’;

BACKUP DATAFILE ’/db01/ORADATA/users01.dbf’;}

 

Yukarıdaki örnekte görüldüğü gibi ALLOCATE CHANNEL diyerek bir kanal oluşturabiliriz.

 

RMAN> RUN {

ALLOCATE CHANNEL d1 DEVICE TYPE disk

FORMAT = ’/db01/BACKUP/%U’;

BACKUP DATAFILE ’/…/u03/users01.dbf’;}

 

Yukarıdaki örnektede belli formatta bir alan vererk ve disk channelinını kullanarak bir rman scipti oluşturduk.

 

RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt; bu komutla default bir device kanalı oluşturduk.

 

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 3;  Paralelizm oluşturarak birden fazla makineyı seferber etmiş oluruz.

 

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK

FORMAT = ‘/BACKUP/RMAN/%U’;

 

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK

MAXPIECESIZE 2G;Bu Komutla max parça sayısını sınırlandırabiliyoruz.

RMAN MODLARI

 

2 türlü recovery modu bulunmaktadır,interactive ve batch mode.

 

İnteractive modda işlemler adım adım komutlarla yapılmaktadır.

 

$ rman target sys/sys_pwd@db1

RMAN> BACKUP DATABASE;

 

Batch modda ise işlemler scriptlerle birer job haline getirilerek yapılmakatdır.

 

$ rman target / @tbsbk.rcv log tbs.log

 

RMAN KOMUTLARI

 

RMAN> STARTUP MOUNT  ; Database mount moda alınır

 

RMAN> SHUTDOWN IMMEDIATE ; Database kapatılır

 

RMAN> REPORT SCHEMA; Bağlanılan kullanıcının tüm scheması hakkında bilgi alınır.

 

RMAN-03022: compiling command: report

Report of database schema

File K-bytes Tablespace RB Name

—- ——– ———- — —————–

1 117760 SYSTEM *** …/ORADATA/u01/system_01.dbf

2 30720 UNDO1 *** …/ORADATA/u02/undotbs.dbf

3 5120 USERS *** …/ORADATA/u04/users_01.dbf

4 5120 INDX *** …/ORADATA/u03/indx_01.dbf

5 5120 SAMPLE *** …/ORADATA/u02/sample_01.dbf

6 1024 QUERY_DATA *** …/ORADATA/u01/query_01.dbf

 

 

 

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT

’/db01/BACKUP/%U’; Otomatik olarak bir kanal oluşturlur.

 

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY

WINDOW OF 7 days; Belli kural koyulup recover için 7 gün saklanır.

 

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;//verilen değer backup setinin saklanmıyacağını gösterir.

 

RMAN> SHOW ALL; diyerek Tüm settingsleri görebiliriz.

SHOW CHANNEL;

SHOW DEVICE TYPE;

SHOW DEFAULT DEVICE TYPE;

SHOW RETENTION POLICY;

SHOW DATAFILE BACKUP COPIES;

SHOW MAXSETSIZE;

SHOW BACKUP OPTIMIZATION;

 

RMAN> LIST BACKUP OF DATABASE;  Database’in tüm backup setlerini görmeye yarar.

 

RMAN> LIST BACKUP OF DATAFILE

“/db01/ORADATA/u03/users01.dbf”; İlgili Datafile’ın backup listesini verir.

 

RMAN> LIST COPY OF TABLESPACE “SYSTEM”;  System Tablespace’inin tüm kopyalarını listeler.

 

RMAN> REPORT SCHEMA;  Bağlanılan kullanıcının schemanın durumu hakkında ayrıntılı bilgi verir.

 

RMAN > REPORT NEED BACKUP days 3 tablespace system;  3 Gündür backup alınamıyan sistem filelarının durumunu gösterir.

 

RMAN > REPORT NEED BACKUP incremental 3 database; bu komut 3 yada daha fazla incremental backup setine ihtiyaç duyan recovery setini gösterir.

  

RMAN PACKAGES

1111

 

Yukarıda şekilde gösterilen package örnekleri ile sistemin kullandığı SQL cümleleri görülebilir.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: