Blog ' da Ara

Loading

20 Eylül 2011

ORACLE BACKUP TEKNOLOJILERI

                                                
                Oracle veritabanı yönetiminde backup yani tedekler alıp ihtiyaç olursa bu yedeklerden data kaybını önlemek bir dbanın temel görevlerindendir.Oracle veritabanı backupını alırken üç teknik vardır.Bunlar RMAN, Oracle Secure Backup ve User Managed Backup dır.User Managed Backup dediğimiz teknik dba tarafından yazılan scriptler ile alınır.İşletim sistemine görede bu scriptler değişebilir.Biz bu yazıda daha çok oracle tarafından yazılmış backup teknikleri olan RMAN ve Secure Backup teknolojierinden bahsedeceğiz.
                Öncelikle Backup terminolojisinden bahsedelim ve kavram ve terimleri açıklamaya çalışalım.


 
·         Whole Database Backup;Tüm data file leri ve en azından bir control file yi içerir(Çünkü tüm control fileler birbirinin aynısıdır)
·         Partial Database Backup;Database 'e ait herhangi bir parçanın backup'ıdır.Bir tablespace, datafile yada control file olabilir.
·         FULL Backup;Tüm data bloklarının backup 'ını içerir.
·         Incremental Backup;En son alınan backupdan itibaren değişen data blokların backupıdır.Incremental backup level 0 ve level 1 olamak üzere 2 çeşittir.En son level 0 backupdan itibaren tüm değişen data blockların backupına cumulative backup denir.Differential backup ise yine en son alınan backupdan itibaren değişen tüm data blokların bacupına denir ancak cumulative backupdan farkı level 0 yada level 1 olabilmesidir.
·         Offline Backup;Consistent yada cold backupda denir.Database kapalı iken alınır.Data file headerler içerisindeki SCN ile control fileler içerisindeki SCN ler eşittir.
·       Online Backup;Inconsistent yada ho backupda denir.Database açık iken alına backupdır.Burada control filelerdeki bilgi ile datafilelerdeki bilginin eşleşmesi konusunda bir garantiniz yoktur.Inconsistent backup recover gerektirir.
·         Image Copies;İşletim sistemi tarafından dosyaların kopyalanması gibidir.Yani data ve archive log dosyalarının kopyalanmasıdır.
·         Backup sets;Bir yada daha fazla Control file , data file, parametre file veya archive log file içeren binary dosyaların koleksiyonudur denilebilir.Boş data blokları backup setlere alınmaz böylece diskten yer kazanılmış olur. Ayrıca backup setler sıkıştırılabilir.Backup set ile image copy'e oranla %20 yer kazanımı sağlanır.Backup setler diske yada teyp e direk yazılabilir.İmage copy ise disk'e yazılmalıdır.Buna rağmen image copy restore işlemelrinde granularity 'i yüksek tutar.
                ORACLE SECURE BACK UP
                Oracle Secure Backup RMAN fonksiyonelitesini artıran ek işlevler gibi düşünebilir.Secure backup ile database 'e ait olsun olmasın data koruması sağlanabilir.Media yönetimi yapılabilir.Secure backupdan önce RMAN backupların teyp 'e çıklması gibi işlemlerde üçüncü parti tool lar kullanılırdı.İşte secure backup media katmanında ymentime elverişli yapar.RMAN il kullanıldığında tümüyle oracle ye ait bir backup çözümü elde edilmiş olur. Ayrıca secure backup ile network çözümlü depolama alanlarına da direkt backup dosyları alınabilir.Çünkü secure backup server, client, NAS (Network attached Storage) gibi konfigurasyonları destekler.

                                RMAN (RECOVERY MANAGER)
·         Script diline sahip ve güçlü bir kontrol yapısı vardır.
·         Enterprise manager ile entegre olup bir çok işlevini grafiksel olarak yapabilirsiniz.
·         Backup programları tarafından çalıştırılabilen API teknolojisine sahiptir.
·         Tüm backup çeşitlerini gerçekleştirebilir.
·        Diske yada teyp 'e backup alabilirsiniz.
                Şimdi de RMAN ile backup nasıl alınır pratikler ile inceleyelim.Öncelikle eğer veritabanı archivelog modda değilse archivelog moda alalım, çünküönemli veritabanları archivelog modda olmalıdır ve bizde gerçeğe uygun pratikler yapmak isteriz.
                rman komut satırını açmak için putty yada OS komut satırına rman target / yazarız.
[oracle@vmora ~]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Thu Sep 8 12:41:31 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
connected to target database: VMORA (DBID=3433352097)

RMAN>

                Böylece atrık rmna komut satırına bağlanmış olduk.Şimdi default ayarları ve konfigurasyon seçimlerini görelim:
RMAN> show all;

RMAN configuration parameters for database with db_unique_name VMORA 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 '/oracle/vmora/dbs/snapcf_VMORA.f'; # default

RMAN>
               
                Daha önceki yazımızda da belirttiğimiz gibi control filelerin backupını almak önemlidir.Ancak burada ki ayarlarda  görüyoruz ki controlfileler otomatik backup alınmıyor.Dilersek tekbir parametre ayarı ile control filelerin otomatik backupını alabiliriz ve böylece her seferinde ayrıca  control fileleri yedeklemek zorunda kalmayız.
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

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

RMAN>
                Bu şekilde diğer parametreleri de inceleyip kendi ihitiyaçlarımıza uygun olarak yendien default değerler atayabilir, bazı parametreleri de enable edebiliriz.
                Ben control file backuplarını makinamda oluşturduğum /oracle/backup/control_files_backup directorisi altında tutmak istiyorum ancak default directory /oracle/flash_recovery_area. Bu durumda tekrar bir parametreyi set edeceğiz ve controlfilelerin otmatik backuplarının istediğimiz klasöre alınmasını sağlayacağız.
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/oracle/backup/control_files_backup/cf_vmora_%F';

new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/oracle/backup/control_files_backup/cf_vmora_%F';
new RMAN configuration parameters are successfully stored

RMAN>
                Yukarıdaki komutla control file backuplarının için /oracle/backup/control_files_backup directorisini belirledik.Scriptte dikkat ederseniz %F işareti bulunmaktadır.Bu işaret backup ismine bizim belirlediğimiz "cf_vmora_" kısmından sonra control filelerin isminin verilmesini sağlar.
                Eğer yaptığımız bir parametrenin konfigurasyon değişikliğini tekrar default haline döndürmek istiyorsak aynı şekilde CLEAR komutunun aşağıdaki gibi kullanmamız yeterlidir.Aşağıda control file otomatik backup alınması iptal edilmiştir.
RMAN>  CONFIGURE CONTROLFILE AUTOBACKUP CLEAR;

old RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN configuration parameters are successfully reset to default value

RMAN>
                Backupların depolanacağı donanım içinde konfigurasyon ayarları mevcuttur.Eğer birden fazla disk üzerine yada teyp üzerine backup alınacaksa paralelizm değeri aşağıdaki gibi kullanılabilir.
RMAN>  CONFIGURE DEVICE TYPE <device> PARALLELIZM <n>;
                <device> burada disk yada teyp n ise paralellik değeridir.n kaç adet donanım varsa genelde o sayıdır.Yani iki adet disk kullnıyorsanız n=2 dir.
                Daha öncede bahsettiğimiz gibi backupları backup set olarak yada image copy olarak alabiliriz.Ayrıca backupların sıkıştırılmasını istiyorsak bunun içinde default bir parametre belirleyebiliriz.Aşağıdaki scriptte storage tipi disk ve backup tipi backupset olarak ayarlanmıştır.Bunun yerine isterseniz SBT ve COPY yazarak backupların teype image copy olarak alınmasını da sağlayabilirsiniz.Ayrıca scriptte COMPRESSED parametreside verilerek backupların sıkıştırılmasıda istenmiştir.
RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;

new RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;
new RMAN configuration parameters are successfully stored

RMAN>
                        Eğer daha önce backup'ı alınana dosyaların backupını almaka istemiyorsanız bu durumuda yapmanız gereken BAckup Optmızatıon On ayarıdır.Bu parametreye dair örnek aşağıda verilmiştir.
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;

new RMAN configuration parameters:
CONFIGURE BACKUP OPTIMIZATION ON;
new RMAN configuration parameters are successfully stored

RMAN>

                Ancak dikkat edilmesi gereken bu parmetre DB_RECOVERY_FILE_DEST directorisi için enable edilir.Eğer backuplar teype alınıyorsa backup scripti aşağıdaki gibi force komutuda içermelidir.
                RMAN> BACKUP DEVICE TYPE type BACKUPSET ALL FORCE;
Şimdiye kadar RMAN configurasyon ayarlarından bahsettik ve bazılarına dair açıklamalar yapıp örnek scriptler sunduk.Şimdi RMAN ile backuplar almaya başlayalım.
Backupset Oluşturma;Aşağıda user tablespace 'e ait bir backupset örneği mevcuttur.Format komutu ilede backup nereye alınacağı ve isminin ne şekilde olacağı belirtilmiştir.%d burada DB name %s backupset dizi numarası ve %p de backup piece numarasıdır.
RMAN> backup as backupset
2> format '/oracle/backup/df_%d_%s_%p.bckset'
3> tablespace users;

Starting backup at 08-SEP-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00004 name=/oracle/oradata/vmora/users01.dbf
channel ORA_DISK_1: starting piece 1 at 08-SEP-11
channel ORA_DISK_1: finished piece 1 at 08-SEP-11
piece handle=/oracle/backup/df_VMORA_5_1.bckset tag=TAG20110908T140106 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 08-SEP-11

Starting Control File Autobackup at 08-SEP-11
piece handle=/oracle/backup/control_files_backup/cf_vmora_c-3433352097-20110908-01 comment=NONE
Finished Control File Autobackup at 08-SEP-11

RMAN>
                Image Copy oluşturma;Aşağıdaki örnektede users01.dbf dosyasının ve archivelogların image copy backupı alınmıştır.Benim makinamada archivelog olmadığı için archivelog backup almayacaktır.
RMAN>  backup as copy datafile '/oracle/oradata/vmora/users01.dbf'
2>  format '/oracle/backup/users_dbf_%d_%s_%p.bck';

Starting backup at 08-SEP-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=/oracle/oradata/vmora/users01.dbf
output file name=/oracle/backup/users_dbf_VMORA_9_1.bck tag=TAG20110908T141026 RECID=3 STAMP=761321426
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 08-SEP-11

Starting Control File Autobackup at 08-SEP-11
piece handle=/oracle/backup/control_files_backup/cf_vmora_c-3433352097-20110908-03 comment=NONE
Finished Control File Autobackup at 08-SEP-11

RMAN>
RMAN>  backup as copy archivelog like  'arch%' format '/oracle/backup/arch_log_%d_%s_%p.bck';

Starting backup at 08-SEP-11
using channel ORA_DISK_1
specification does not match any archived log in the repository
backup cancelled because there are no files to backup
Finished backup at 08-SEP-11

RMAN>
               
                Whole Database Backup oluşturma;Aşağıdaki rmna scripti ile control fileler ve archiveloglar dahil tüm veritabanı yedeğini alabilirsiniz.Ayrıca yedeklenen archive loglarda delete input dediğiniz için silinecektir.
RMAN> backup database plus archivelog delete input format  '/oracle/backup/df_%d_%s_%p.bckset';


Starting backup at 08-SEP-11
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=39 device type=DISK
channel ORA_DISK_1: starting compressed archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=9 RECID=4 STAMP=761333230
channel ORA_DISK_1: starting piece 1 at 08-SEP-11
channel ORA_DISK_1: finished piece 1 at 08-SEP-11
piece handle=/oracle/backup/df_VMORA_15_1.bckset tag=TAG20110908T172711 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
channel ORA_DISK_1: deleting archived log(s)
archived log file name=/oracle/flash_recovery_area/VMORA/archivelog/2011_09_08/o1_mf_1_9_76kn5yvf_.arc RECID=4 STAMP=761333230
Finished backup at 08-SEP-11

Starting backup at 08-SEP-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/oracle/oradata/vmora/system01.dbf
input datafile file number=00002 name=/oracle/oradata/vmora/sysaux01.dbf
input datafile file number=00005 name=/oracle/oradata/vmora/example01.dbf
input datafile file number=00003 name=/oracle/oradata/vmora/undotbs01.dbf
input datafile file number=00004 name=/oracle/oradata/vmora/users01.dbf
channel ORA_DISK_1: starting piece 1 at 08-SEP-11
channel ORA_DISK_1: finished piece 1 at 08-SEP-11
piece handle=/oracle/flash_recovery_area/VMORA/backupset/2011_09_08/o1_mf_nnndf_TAG20110908T172712_76kn60tx_.bkp tag=TAG20110908T172712 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:15
Finished backup at 08-SEP-11

Starting backup at 08-SEP-11
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=10 RECID=5 STAMP=761333308
channel ORA_DISK_1: starting piece 1 at 08-SEP-11
channel ORA_DISK_1: finished piece 1 at 08-SEP-11
piece handle=/oracle/backup/df_VMORA_17_1.bckset tag=TAG20110908T172828 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
channel ORA_DISK_1: deleting archived log(s)
archived log file name=/oracle/flash_recovery_area/VMORA/archivelog/2011_09_08/o1_mf_1_10_76kn8d2l_.arc RECID=5 STAMP=761333308
Finished backup at 08-SEP-11

Starting Control File Autobackup at 08-SEP-11
piece handle=/oracle/backup/control_files_backup/cf_vmora_c-3433352097-20110908-05 comment=NONE
Finished Control File Autobackup at 08-SEP-11

RMAN>
                        Yukarıdaki örnekte Whole database backup nasıl alınır gördük.Full backup ile Whole database backup karıştıtılmamalıdır.Full backup tüm kullanılan data bloklarını içerir.Bununla birlikte RMAN incremental backup tipleride aşağıda örnekleriyle birlikte açıklanmıştır.
                Level 0 incremental backup:Full backup ile aynıdır.
RMAN> backup incremental level 0 database format '/oracle/backup/df_%d_%s_%p.bckset';

Starting backup at 08-SEP-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed incremental level 0 datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/oracle/oradata/vmora/system01.dbf
input datafile file number=00002 name=/oracle/oradata/vmora/sysaux01.dbf
input datafile file number=00005 name=/oracle/oradata/vmora/example01.dbf
input datafile file number=00003 name=/oracle/oradata/vmora/undotbs01.dbf
input datafile file number=00004 name=/oracle/oradata/vmora/users01.dbf
channel ORA_DISK_1: starting piece 1 at 08-SEP-11
channel ORA_DISK_1: finished piece 1 at 08-SEP-11
piece handle=/oracle/backup/df_VMORA_19_1.bckset tag=TAG20110908T173857 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:25
Finished backup at 08-SEP-11

Starting Control File Autobackup at 08-SEP-11
piece handle=/oracle/backup/control_files_backup/cf_vmora_c-3433352097-20110908-06 comment=NONE
Finished Control File Autobackup at 08-SEP-11

RMAN>                              
                        Cummulative incremental level 1 backup;Son incremental level 0 backuptan beri değişen blokların backupdır.Aşağıdaki örnek scripti ve çıktısını inceleyebilirsiniz.
RMAN>  backup incremental level 1 cumulative database format '/oracle/backup/df_%d_%s_%p.bckset';

Starting backup at 08-SEP-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed incremental level 1 datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/oracle/oradata/vmora/system01.dbf
input datafile file number=00002 name=/oracle/oradata/vmora/sysaux01.dbf
input datafile file number=00005 name=/oracle/oradata/vmora/example01.dbf
input datafile file number=00003 name=/oracle/oradata/vmora/undotbs01.dbf
input datafile file number=00004 name=/oracle/oradata/vmora/users01.dbf
channel ORA_DISK_1: starting piece 1 at 08-SEP-11
channel ORA_DISK_1: finished piece 1 at 08-SEP-11
piece handle=/oracle/backup/df_VMORA_21_1.bckset tag=TAG20110908T174636 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:35
Finished backup at 08-SEP-11

Starting Control File Autobackup at 08-SEP-11
piece handle=/oracle/backup/control_files_backup/cf_vmora_c-3433352097-20110908-07 comment=NONE
Finished Control File Autobackup at 08-SEP-11

RMAN>
                        Differential incremental level1 backup;Son incremental backuptan itibaren değişen blokların backupıdır.
RMAN> backup incremental level 1 database format '/oracle/backup/df_%d_%s_%p.bckset';

Starting backup at 08-SEP-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed incremental level 1 datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/oracle/oradata/vmora/system01.dbf
input datafile file number=00002 name=/oracle/oradata/vmora/sysaux01.dbf
input datafile file number=00005 name=/oracle/oradata/vmora/example01.dbf
input datafile file number=00003 name=/oracle/oradata/vmora/undotbs01.dbf
input datafile file number=00004 name=/oracle/oradata/vmora/users01.dbf
channel ORA_DISK_1: starting piece 1 at 08-SEP-11
channel ORA_DISK_1: finished piece 1 at 08-SEP-11
piece handle=/oracle/backup/df_VMORA_23_1.bckset tag=TAG20110908T175149 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:25
Finished backup at 08-SEP-11

Starting Control File Autobackup at 08-SEP-11
piece handle=/oracle/backup/control_files_backup/cf_vmora_c-3433352097-20110908-08 comment=NONE
Finished Control File Autobackup at 08-SEP-11

RMAN>
***Backup tipleri arasındaki farkı özetlemek gerekirse level0 incremental backup full backupdır.level 1 cumulative backup full backup alındığından beri değişen data bloklarının backupıdır.Yani level 1 cumulative incremental backup ne zaman alınırsa alınsın son level 0 incremental yani full backuptan itibaren değişen data blokları yedekler.level 0 differential incremental backup ise incremental backuptan itibaren değişen blokları yedekler.Buradan yola çıklarak şu şekilde bir backup stratejisi oluşturulabilir.Ayda 1 level 0 incremental (full backup), haftada bir level 1 cumulative incremental backup ve her saat level 1 differential incremental backup.Tabi ihitiyaçlara gööre bu süreler kısa yada daha uzun tutulabilir.
                Fast Incremental Backup:Block change tracking olarak da bilinir.Son backuptan itibaren değişen data blokların kaydı tutulur,Redo üretildiğinde bu kayıt bir dosyaya yazılır, backup alındığında bu dosyaya otoamtik olarak erişilir ve böylece backup daha hızlı alınmış olur.Şekil 1 de fast incremental backup sembolize edilmiştir.
Şekil 1: Fast incremental backup(Block change tracking)

                Blok change tracking aşağıdaki scriptle enable edilmiş olur.
SQL> alter database enable block change tracking using file '/oracle/backup/block_change.ora';
Database altered.
SQL>

                Yukarıdaki scriptle block change trackingi enable etmiş ve block_change.ora dosyasına yazılmasına yönlendirmiş oluyoruz.Bu soya enable block change tranking enable edildiğinde otomatik olarak oluşturulur ve disable edilirse yine otomatik olarak silinir.Block change tracking için minimum size 10MB dir.Bu dosyanın ismi alter database rename 'block_change.ora' to 'new_name'; şeklinde değiştirilebilir ancak bu işlem için database in mount konumunda açılması gereklidir.Çünkü bu dosyaya ait bilgiler control file içerisine yazılır.
                Block change trancking aşağıdaki sorgular ile monitor edilebilir.
                SELECT   filename, status, bytes FROM v$block_change_tracking;
                        
                         SELECT   file#,
           AVG (datafile_blocks),
           AVG (blocks_read),
           AVG (blocks_read / datafile_blocks) * 100 AS                      PCT_READ_FOR_BACKUP,
           AVG (blocks)
                       FROM   v$backup_datafile
                       WHERE   used_change_tracking = 'YES' AND incremental_level > 0
                         GROUP BY   file#

Backup Kopyaları oluşturma;Eğer disk üzerinde backupları saklıyorsanız bazen veriatabanının critk olamsından dolayı başka bir ortamda yani tape dede backup kopyalarını saklamak istersiniz ancak her seferinde bu backupları kopyalamak yada bu işi os düzeyinde yapmak yavaş ve maliyetli olabilir.Bunun için RMAN de aşağıdaki configurasyon ayarlarını yapmanız yeterlidir.
RMAN> configure archivelog backup copies for device type sbt to 2;
RMAN> configure datafile backup copies for device type sbt to 2;
Bu işlemlerden sonra aşağıdaki gibi backup alındığında backupın bir kopyası tape ye atılacaktır.
RMAN>       backup database plus archivelog;

Ancak aşağıdaki scriptle backup alındığında sadece diske backup dosyası atılmış olur.
RMAN>backup device type disk as copy database;

Backup alma işleminden sonra aşağıdaki komutu çalıştırıldığında alınan backuplar hakkında bilgi sağlayabilir dilerseniz bunları mail bile atabilirsiniz.
RMAN>list backup;
Eğer veritababında read only tablespaceler varsa SKIP READONLY komutunu ekleyerek bu tablespaceleride backupa ekleyebilirsiniz.
RMAN> backup tablespace rep_ro skip readonly;

                Archive Backup:Bazen hukuki yada iş sebeplerinden dolayı belli bir sürelik backupı tutmanız gerekebilir.Örneğin son 6 ayılık veraitabanı backupa sürekli tutmalısnızdır.Bu tür bir ihityacı karşılamak için Archive Backup alınır.Archive backuplar RMAN ile aşağıdaki gibi alınabilir

RMAN>  Backup database keep until time 'sysdate +180' restore point sonaltıay format '/oracle/backup/df_%d_%s_%p.bckset';

Starting backup at 08-SEP-11
current log archived

using channel ORA_DISK_1
backup will be obsolete on date 06-MAR-12
archived logs required to recover from this backup will be backed up
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/oracle/oradata/vmora/system01.dbf
input datafile file number=00002 name=/oracle/oradata/vmora/sysaux01.dbf
input datafile file number=00005 name=/oracle/oradata/vmora/example01.dbf
input datafile file number=00003 name=/oracle/oradata/vmora/undotbs01.dbf
input datafile file number=00004 name=/oracle/oradata/vmora/users01.dbf
channel ORA_DISK_1: starting piece 1 at 08-SEP-11
channel ORA_DISK_1: finished piece 1 at 08-SEP-11
piece handle=/oracle/backup/df_VMORA_27_1.bckset tag=TAG20110908T192426 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:25


current log archived
using channel ORA_DISK_1
backup will be obsolete on date 06-MAR-12
archived logs required to recover from this backup will be backed up
channel ORA_DISK_1: starting compressed archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=12 RECID=7 STAMP=761340352
channel ORA_DISK_1: starting piece 1 at 08-SEP-11
channel ORA_DISK_1: finished piece 1 at 08-SEP-11
piece handle=/oracle/backup/df_VMORA_28_1.bckset tag=TAG20110908T192426 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

using channel ORA_DISK_1
backup will be obsolete on date 06-MAR-12
archived logs required to recover from this backup will be backed up
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
channel ORA_DISK_1: starting piece 1 at 08-SEP-11
channel ORA_DISK_1: finished piece 1 at 08-SEP-11
piece handle=/oracle/backup/df_VMORA_29_1.bckset tag=TAG20110908T192426 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 08-SEP-11

RMAN>

                Multisection Backup;Eğer veritabanınız büyük bir veritabanı ise hem backup almak uzun süre olacağı gibi çok büyük boyutta olacağı içinde restore operasyonuda uzun sürecektir.Multisectionale backup ile backup dosyası parçalara bölünür ve böylece hem performans kazancı hemde yönetilebilir küçük backup parçları elde edilmiş olur.Multisextional backup 11g ile birlikte gelmiştir.Aşağıda multisection backup script örneği mevcuttur.
RMAN>  backup datafile  5 section size 200M tag '200Msection' format '/oracle/backup/df_%d_%s_%p.bcksection';

Starting backup at 08-SEP-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00005 name=/oracle/oradata/vmora/example01.dbf
channel ORA_DISK_1: starting piece 1 at 08-SEP-11
channel ORA_DISK_1: finished piece 1 at 08-SEP-11
piece handle=/oracle/backup/df_VMORA_30_1.bcksection tag=200MSECTION comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07
Finished backup at 08-SEP-11

Starting Control File Autobackup at 08-SEP-11
piece handle=/oracle/backup/control_files_backup/cf_vmora_c-3433352097-20110908-0a comment=NONE
Finished Control File Autobackup at 08-SEP-11

RMAN>

                        Compressing Backups;Rman default olarak bzip2 metodu ile backupları sıkıştırır.Extra bir işlem uygulamaya gerek yoktur.Bzip2 zlibden farklı olarak daha iyi sıkıştırma oranına sahiptir.Buna karşın daha yavaştır.
                Encrypting backups:RMAN ile backuplarınızı encrypt yapabilir ve daha güvenli hale getirebilirsiniz.Bu bazen bir gereklilik olabilir.Örneğin kredi kartı bilgilerinin olduğu bir veritabanının backupını aldığınızda backup çalınmasına karşın encryp yapabilirsiniz.Bunun için rman 3 tip encryp metodu sunar.
                1-Transparent encryption:Bu metod default dur ve bir wallet kullnır.
                2-Password encryption:Şifre temelli encrypt metodudur.
                3-Dual mode encryption:Transparent ve password metodlarının her ikisininde kullanılamasıdır.Bu metod eğer veritabanının başka makinada restore edilme olasılığı varsa kullanılır.
Aşağıda password encryption metodunun kullanımına dair bir örnek mevcuttur.
                RMAN>set encryption identified by password;
                         RMAN>backup datafile 5;
                         RMAN>set decryption identified by password;
                        Kurtarma dosyalarının Yedeklenmesi:Kurtarma dosyalarının yedeklenmesi flash recovery alanı yada başka directorydeki recovery dosylarının yedeklenmesidir.Bunun için kullanılabilecek rman scriptleri aşağıda verilmiştir.
                Birinci script sadece flash recovery alanını yedekler, 2. si ise tüm recovery dosyalrının yedekler.
                RMAN>Backup recovery area;
                         RMAN>backup recovery files;
                        Backupların Yönetilmesi;Raporlama
                Aşağıda backuplar ile ilgili bilgi alabileceğimiz rman komutları mevcuttur.
·        list:backuplar hakkında bilgi verir.
·         report:backuplar ile ilgili detaylı analiz bilgileri sağlar.
·        report need backup:backup gerektiren tüm datafileleri listeler.
·         report obselete:ihtiyaç bulunmayan backup dosyalarını listeler.        
                Backupların Yönetilmesi;Dynamic Performans Views
                Backuplar hakkında bilgi alabileceğiniz viewlar.
·        V$BACKUP_SET:backup setlerin bilgileri
·         V$BACKUP_PIECE:backup parçalarının bilgileri
·         V$DATAFILE_COPY:datafilelerin diskteki kopyaları
·         V$BACKUP_FILES:backup oluşturulduğunda oluşan tüm dosyaların bilgileri
                Backupların Yönetilmesi;Cross-Checking ve backupların Silinmesi
·         crosscheck:Rman repository db de backupların durumlarının kontrolunu yapar.Sadece rman 'e kayıtlı dosyalar üzerinde crosscheck işlemi yapılabilir.
·         delete expired: Rman repository db de statusu expired olan backupları siler.
·         delete obselete:İhtiyaç bulunmayan backupları siler.

                Oracle backup teknolojileri isimli yazımızın sonuna geldik.Umarım faydalı olmuştur.ilerde oracle Recover teknolojilerinde bahsedeceğiz.
                                                                                                                                Özcan YILDIRIM

0 YORUM:

Yorum Gönder

"Sorularınız ve Eleştirileriniz Değerlidir"