31 Ocak 2012 Salı

RMAN ile yedek almak.



RMAN ' de Backup çeşitleri aşağıda verilmiştir.

Whole Backup:Tüm veri tabanı objelerinin yedeğinin alınmasıdır.

Full Backup:
Tüm data blokların yedeğinin alınması işlemidir

Partial Backup:  database objelerinin yedeğinin alınmasıdır. Örnek olarak controlfile yedeğinin alınmasıdır yada datafile 4' ün yedeğinin alınması gibi.


Incremental Backup:
Incremental backup,  en son alınan full backup tan sonra  sadece modifiye uğramış olan blokların backup alınma işlemdir.Incremental level 0 ve Incremantal level 1 olarak iki çeşittir.Incremantal Level 0 tüm database yedeğini alır. Incremental Level 1 ise differential ve cumulative olarak ikiye ayrılır.
 Incremental Cumulative  Backup bir full backup ' tan sonra değişen blokların yedeğini alır. Aşağıda Kümülatif(Cumulative) yedek stratejisini açıklayan bir resim bulunmaktadır.





Incremental Differential backup ise her yedekte sadece bir öncesindeki differential backuptan sonraki değişen blokları yedekler. Aşağıda Incremental Differantial backup ile ilgili resim örneği verilmiştir.


Önce bir Full backup alınır. Ve sonraki günlerde differantial backup alınabilir.
 Kurtarma senaryolarında Önce Full backup daha sonra ise bu incremental backupların uygulanması gerekmektedir.
Not: NoArchivelog modunda database mount duruma getirilir. Ve böylece Incremental yedek alınır. Database çalışır durumunda ıncremental backup alınırsa veri kaybı söz konusudur. Çünkü Online Redo Log dosyaları arşivlenmeyeceğinden dolayı veri kaybolur.




Cold Backup, Consistent backup' tır.Database kapalı iken gerçekleşen backup' tır. Böylece Controlfile deki SCN bilgis ile datafile header' daki SCN bilgisi tutarlıdır. Sağlıklı bir backup türüdür.

Hot Backup,  inconsistent Backup' tır. Yani database açıkken alınan backup' tır. Bunun anlamı Controlfile 'deki SCN ile Datafile header' lardaki SCN bilgisi tutarsız kalabilir. kalması durumunda kurtarma işlemi söz konusudur.


ORACLE_SID aşağıdaki gibi  environment ortamına XDB isminde bir  database olarak set edilir.

yada
 oracle@mhm ~]$ export ORACLE_SID=XDB
oracle@mhm ~]$ . oraenv
ORACLE_SID = [orcl] ? XDB
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 is /u01/app/oracle

Şimdi Recovery Manager' a bağlanalım. Katalog database kullanmak istediğimde ise aşağıdaki komutta ilave  olarak ekleme yapabilirdik. Ama biz şuan ki controlfile bilgisi dahilinde çalışacağız.

oracle@mhm ~]$ . rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Tue Jan 31 09:52:02 2012
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
connected to target database: XDB (DBID=3401130493)


veritabanımıza ait tablepace ve onlara ait olan datafile bilgilerini RMAN de aşağıdaki komutla öğrenebiliriz.

 RMAN> report schema;

using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name XDB

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    680      SYSTEM               ***     +XDATA/xdb/datafile/system.256.751571183
2    500      SYSAUX               ***     +XDATA/xdb/datafile/sysaux.257.751571183
3    50       UNDOTBS1             ***     +XDATA/xdb/datafile/undotbs1.258.751571183
4    5        USERS                ***     +XDATA/xdb/datafile/users.259.751571183
List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       +XDATA/xdb/tempfile/temp.264.751571629

Rman configrasyonu için kontrol ediyorum. Konfigrasyon için aşağıdaki komutu giriyorum.

RMAN> show all;

RMAN configuration parameters for database with db_unique_name XDB are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_XDB.f'; # default

Her backup ta controlfile ve spfile  dosyalarının otamatik olarak yedeğinin alınmasını istediğimden aşağıdaki komutu on yapıyorum.

RMAN> configure controlfile autobackup on;

new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored


Eğer backup ' alınmış dosyaların tekrardan backup'ını almak istemiyorsak;

RMAN>CONFIGURE BACKUP OPTIMIZATION ON;





Örnek olarak System tablespace' ine ait datafile olan system.256.751571183 dosyasının yedeğini alalım.
Normalde alınan backuplar eğer biir yer belirtmemişsek database kurulurken belirttiğiniz Flash  yada Fast Recovery Area ( FRA ) olarak adlandırılan alan kaydedilir. Ben bu alan için ASM  diskgroupları içinde XFRA isimli diskgroubunu tercih etmişttim.


Partial Backup:

RMAN> backup datafile 1;


 yada 


RMAN> backup datafile 'system.256.751571183';


Starting backup at 31-JAN-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=38 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=+XDATA/xdb/datafile/system.256.751571183
channel ORA_DISK_1: starting piece 1 at 31-JAN-12
channel ORA_DISK_1: finished piece 1 at 31-JAN-12
piece handle=+XFRA/xdb/backupset/2012_01_31/nnndf0_tag20120131t100240_0.263.774007363 tag=TAG20120131T100240 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:49
Finished backup at 31-JAN-12

Starting Control File and SPFILE Autobackup at 31-JAN-12
piece handle=+XFRA/xdb/autobackup/2012_01_31/s_774007471.264.774007475 comment=NONE
Finished Control File and SPFILE Autobackup at 31-JAN-12

Whole database:
RMAN> backup database plus archivelog all format '%U';


Full Backup Örneği:
RMAN> backup database format '%U';


yada Backup setler şeklinde backup oluşturmek için;


RMAN> backup as backupset database format '%U'; 


yada


image copy şeklinde yedek oluşturmak içinse;


RMAN> backup  as copy database format '%U'; 

yada  incremental  level 0  şeklinde de full yedek alınabilir.

RMAN> backup incremental level  0 database format '%U';



Starting backup at 31-JAN-12
using channel ORA_DISK_1
channel ORA_DISK_1: starting incremental level 0 datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=+XDATA/xdb/datafile/system.256.751571183
input datafile file number=00002 name=+XDATA/xdb/datafile/sysaux.257.751571183
input datafile file number=00003 name=+XDATA/xdb/datafile/undotbs1.258.751571183
input datafile file number=00004 name=+XDATA/xdb/datafile/users.259.751571183
channel ORA_DISK_1: starting piece 1 at 31-JAN-12
channel ORA_DISK_1: finished piece 1 at 31-JAN-12
piece handle=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/08n24r8b_1_1 tag=TAG20120131T101434 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:03:50
Finished backup at 31-JAN-12

Starting Control File and SPFILE Autobackup at 31-JAN-12
piece handle=+XFRA/xdb/autobackup/2012_01_31/s_774008306.265.774008309 comment=NONE
Finished Control File and SPFILE Autobackup at 31-JAN-12




RMAN> backup incremental level 1 cumulative database format '%U';


Yukarıdaki komutlar Incremental Cumulative backup alır.

Aşağıdaki komut ise Incremental  Differential backup almak için kullanılır.

RMAN> backup incremental level 1 database format '%U';


Image copy olarak alınan backupların avantajı geriye dönük kurtarmalar için copy' in restore edilmesi süreci çok hızlı gerçekleşmesi  bir diğer avantajı ise veritabanında image copy olarak yedeği alınan datafile'lerin bu kopyaya switch edilmesidir.Switch işlemi  bundan sonra datafile orjinalinde değil copyası üzerinde bir başka yerde çalışacaktır şeklindeki bilgiyi Controlfile 'a bildirme işlemidir.Dezavantajı ise boş- dolu farketmez tüm data bloklarının yedeğini alacağı için Kopyanın çok alan kaplamasıdır.

Backup Set ler ise boş data bloklarının yedeği alınmaz.  Binary dosyalar şeklinde oluşturulur.Böylelikle sadece dolu olan blokların yedeği alınmış ve alandan tasarruf edilmiş olur. Ayrıca Backup Setler 11g ile gelen br özellikle yaklaşık %20 civarında sıkıştırılma yapılabilir.   Datafile 5' in sıkıştırılmış yedeğini almak için aşağıdaki komut kullanılır.

RMAN> backup as compressed backupset datafile 5 ;


Squence nosu (sırası ile) 13 -16 arasındaki archivelogların yedeğini almak için ise;

RMAN> backup archivelog sequence between 13 and 16;

Starting backup at 31-JAN-12
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=13 RECID=12 STAMP=774008535
input archived log thread=1 sequence=14 RECID=13 STAMP=774008914
input archived log thread=1 sequence=15 RECID=14 STAMP=774008917
input archived log thread=1 sequence=16 RECID=15 STAMP=774008919
channel ORA_DISK_1: starting piece 1 at 31-JAN-12
channel ORA_DISK_1: finished piece 1 at 31-JAN-12
piece handle=+XFRA/xdb/backupset/2012_01_31/annnf0_tag20120131t103219_0.259.774009141 tag=TAG20120131T103219 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 31-JAN-12

Starting Control File and SPFILE Autobackup at 31-JAN-12
piece handle=+XFRA/xdb/autobackup/2012_01_31/s_774009141.258.774009143 comment=NONE
Finished Control File and SPFILE Autobackup at 31-JAN-12


Rman ile Yedek almak avantajlıdır. Recovery (kurtarma) sürecinde geriye dönük kurtarmalarda yada felaket senaryolarında Rman ile alınmış bir backup 'ı restore edip sonra archive log ları uygulama (Recover) işi çok hızlı ve kolaydır. veri kaybını minimize eder.

0 yorum:

Yorum Gönder