28 Aralık 2010 Salı

RMAN ile Unix Üzerinden Yedekleme (Crontab)

Merhaba,

Oracle OTN forumlarını karıştırırken şu şekilde bir soru ile karşılaştım;

"
Linux crontab'ında RMAN yedekleme zamanlamak istiyorum, nasıl yapabilirim?
"

Soru özel olarak crontab'a yönelik olduğu için nasıl yapılabileceğini paylaşacağım. Tabii crontab dışında da yedekleme şansınız bulunmakta;

Öncelikle kendimize bir shell script hazırlamamız gerekiyor. Aşağıdaki şekilde olduğunu varsayalım;


$ cat /backup/RMAN/backup_full.sh
connect target sys/password@opttest
backup incremental level 0 database format '/backup/DB_FULL_%d_%t_%s';
backup archivelog all delete all input format '/backup/ARC_%d_%t_%s';
exit;
$

1) Veritabanına giriş yaptık.
2) Level 0, yani bir full yedekleme işlemi yapmak istediğimizi gösterdik ve bunu yaparken formatının da nasıl şekilleceğini de belirttik.
3) Veritabanının oluşturduğu archivelog'ların da yedeklenmesini istedik ve formatının nasıl olması gerektiğini de gösterdik.
4) Çıkış talebinde bulunduk.

Bu script'i tanımladıktan sonra crontab'da ne yapmamız gerektiğine bakalım ama bunu yapmadan önce crontab'daki meşhur rakamların ne anlama geldiğini hatırlayalım;

$ man crontab

           minute         The minute of the hour, 0-59

           hour           The hour of the day, 0-23

           monthday       The day of the month, 1-31

           month          The month of the year, 1-12

           weekday        The day of the week, 0-6, 0=Sunday

Crontab işlemlerinden önceki 5 rakam veya sayının anlamının Türkçeleri;

1) Dakika
2) Saat
3) Gün
4) Ay
5) Hafta Günü

Şimdi ise crontab'da nasıl konumlandığını göstereceğim;

$ crontab -l
# ORACLE BACKUP JOBS #
######################

0 1 * * 0 export LD_LIBRARY_PATH=/opt/oracle/product/10.2.0/db_1/lib:/usr/dt/lib:/usr/lib ; export ORACLE_HOME=/opt/oracle/product/10.2.0/db_1/ ; /opt/oracle/product/10.2.0/db_1/bin/rman cmdfile /backup/RMAN/backup_full.sh log /backup/RMAN/backup_full.log

Yukarıdaki görüntüyü sırasıyla açıklamam gerekirse;

Veritabanının yedeği her Pazar günü ( 0 1 * * 0 ), gece saat 01:00'de ( 0 1 * * 0 ) alınacaktır. Recovery Manager'a bir shell script'ini gönderirken cmdfile komutunu kullanıyoruz, log işlemesini de istiyorsak log bilgisini de ekliyoruz. Crontab işe ne zaman başlayacağını ve gerekli library dosyalarını nerede bulacağını ve ORACLE_HOME parametresinin ne olduğunu artık biliyor (LD_LIBRARY_PATH, ORACLE_HOME). RMAN ise ne yapması gerektiğini artık biliyor (cmdfile, log).

Son olarak yukarıdaki yedeğin nasıl bir log dosyası üretmiş olabileceğine bakalım;

$ cat /backup/RMAN/backup_full.log

Recovery Manager: Release 10.2.0.4.0 - Production on Sun Dec 26 01:00:01 2010

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

RMAN> connect target *
2> backup incremental level 0 database format '/backup/DB_FULL_%d_%t_%s';
3> backup archivelog all delete all input format '/backup/ARC_%d_%t_%s';
4> exit;
connected to target database: OPTTEST (DBID=750193206)

Starting backup at 26-DEC-10
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=1386 devtype=DISK
channel ORA_DISK_1: starting compressed incremental level 0 datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00002 name=/db/OPTIMA/oradata/opttest/opttest/UNDOTBS1.dbf
input datafile fno=00341 name=/db/OPTIMA/oradata/opttest/data/NORS_OWCTTS_D_02.dbf
input datafile fno=00369 name=/db/OPTIMA/oradata/opttest/data/NORS_ISUP_GROUP_D_03.dbf
input datafile fno=00307 name=/db/OPTIMA/oradata/opttest/data/NORS_TONES_D_02.dbf
input datafile fno=00311 name=/db/OPTIMA/oradata/opttest/data/NORS_SINGLE_UNIT_PM_D_02.dbf
input datafile fno=00313 name=/db/OPTIMA/oradata/opttest/data/NORS_PM_D_02.dbf
input datafile fno=00318 name=/db/OPTIMA/oradata/opttest/data/NORS_RTLTSUM_D_02.dbf
input datafile fno=00319 name=/db/OPTIMA/oradata/opttest/data/NORS_SOTS_D_02.dbf
input datafile fno=00320 name=/db/OPTIMA/oradata/opttest/data/NORS_SYSPERF_D_02.dbf
input datafile fno=00328 name=/db/OPTIMA/oradata/opttest/data/NORS_TREATMENT_D_02.dbf
channel ORA_DISK_1: starting piece 1 at 26-DEC-10
channel ORA_DISK_1: finished piece 1 at 26-DEC-10
piece handle=/backup/DB_FULL_OPTTEST_738731834_4120 tag=TAG20101226T010021 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:08:46
Finished backup at 26-DEC-10

Starting Control File and SPFILE Autobackup at 26-DEC-10
piece handle=/backup/c-750193206-20101226-00 comment=NONE
Finished Control File and SPFILE Autobackup at 26-DEC-10

Starting backup at 26-DEC-10
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=546 recid=7882 stamp=738451102
input archive log thread=1 sequence=547 recid=7883 stamp=738532873
input archive log thread=1 sequence=548 recid=7884 stamp=738550821
input archive log thread=1 sequence=549 recid=7885 stamp=738622852
input archive log thread=1 sequence=550 recid=7886 stamp=738646398
input archive log thread=1 sequence=551 recid=7887 stamp=738714019
input archive log thread=1 sequence=552 recid=7888 stamp=738732388
channel ORA_DISK_1: starting piece 1 at 26-DEC-10
channel ORA_DISK_1: finished piece 1 at 26-DEC-10
piece handle=/backup/ARC_OPTTEST_738732389_4122 tag=TAG20101226T032628 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:02:36
channel ORA_DISK_1: deleting archive log(s)
archive log filename=/backup/OPTTEST/archivelog/2010_12_22/o1_mf_1_546_6k4mqk7w_.arc recid=7882 stamp=738451102
archive log filename=/backup/OPTTEST/archivelog/2010_12_23/o1_mf_1_547_6k73lz3b_.arc recid=7883 stamp=738532873
archive log filename=/backup/OPTTEST/archivelog/2010_12_24/o1_mf_1_548_6k7o3th2_.arc recid=7884 stamp=738550821
archive log filename=/backup/OPTTEST/archivelog/2010_12_24/o1_mf_1_549_6k9vgs5q_.arc recid=7885 stamp=738622852
archive log filename=/backup/OPTTEST/archivelog/2010_12_25/o1_mf_1_550_6kblgot5_.arc recid=7886 stamp=738646398
archive log filename=/backup/OPTTEST/archivelog/2010_12_25/o1_mf_1_551_6kdnhqyo_.arc recid=7887 stamp=738714019
archive log filename=/backup/OPTTEST/archivelog/2010_12_26/o1_mf_1_552_6kf6fx5w_.arc recid=7888 stamp=738732388
Finished backup at 26-DEC-10

Starting Control File and SPFILE Autobackup at 26-DEC-10
piece handle=/backup/c-750193206-20101226-01 comment=NONE
Finished Control File and SPFILE Autobackup at 26-DEC-10

Recovery Manager complete.

İyi çalışmalar.

Ogan

Hiç yorum yok:

Takip et: @oganozdogan