create rman backup scripts on Linux

create rman backup scripts on Linux

راه اندازی بک آپ با RMAN

جهت راه اندازی این بک آپ نیاز به دو فایل اجرای بک آپ و دو فایل جهت اجرای فایل های اجرایی قبلی نیاز می باشد.

-اولین اسکریپت جهت ارتباط با دیتابیس و اجرای فول بک آپ:

[oracle@primarydb ~]$ cat rman_backup_full.sh

connect target /

backup incremental level 0 cumulative device type disk tag ‘FULL’ database;
backup device type disk tag ‘FULL_ARCH’ archivelog all not backed up;
run {
allocate channel oem_backup_disk1 type disk  maxpiecesize 1000 G;
backup tag ‘FULL_CNTRL’ current controlfile;
release channel oem_backup_disk1;
}
allocate channel for maintenance type disk;
delete noprompt obsolete device type disk;
release channel;

exit;

-دومین فایل اجرایی جهت اجرای بک آپ اینکریمنتال:

[oracle@primarydb ~]$ cat rman_backup_incr.sh

connect target /

backup incremental level 1 cumulative device type disk tag ‘INCR’ database;
backup device type disk tag ‘INCR_ARCH’ archivelog FROM TIME ‘SYSDATE-7’;
run {
allocate channel oem_backup_disk1 type disk  maxpiecesize 1000 G;
backup tag ‘INCR_CNTRL’ current controlfile;
release channel oem_backup_disk1;
}
allocate channel for maintenance type disk;
delete noprompt obsolete device type disk;
release channel;

exit;

-حالا فایلی حاوی اسکریپت زیر جهت اجرای اسکریپت بک آپ فول واینکریمنتال می سازیم:

[oracle@primarydb ~]$ cat run_rman_backup_full.sh 

#!/bin/sh

RMANDATE=`date +%d_%m_%Y`
WHEN=`date +%d_%m_%Y-%H:%M:%S`
RMANLOGS=”/fra/flash_recovery_area/PRIDB/rmanlogs”
ORACLE_BIN=”/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin”
ORACLE_SID=”DB”

echo “Backup Mohsen Full.. ” $WHEN

. ~/.bash_profile

$ORACLE_BIN/rman cmdfile /home/oracle/rman_backup_full.sh log $RMANLOGS/rman_backup_full_$RMANDATE.log
WHEN=`date +%d_%m_%Y-%H:%M:%S`

echo “RMAN Backup Alma Islemi Sonlandi.. ” $WHEN

[oracle@primarydb ~]$

[oracle@primarydb ~]$ cat run_rman_backup_incr.sh 

#!/bin/sh

RMANDATE=`date +%d_%m_%Y`
WHEN=`date +%d_%m_%Y-%H:%M:%S`
RMANLOGS=”/fra/flash_recovery_area/PRIDB/rmanlogs”
ORACLE_BIN=”/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin”
ORACLE_SID=”DB”

echo “Backup Mohsen INC.. ” $WHEN

. ~/.bash_profile

$ORACLE_BIN/rman cmdfile /home/oracle/rman_backup_incr.sh log $RMANLOGS/rman_backup_incr_$RMANDATE.log
WHEN=`date +%d_%m_%Y-%H:%M:%S`

echo “RMAN Backup Mohsen INC.. ” $WHEN

-در حال حاضر اسکریپت های ما آماده اجرا می باشند.می توانید به Crontab اد کنید:

[oracle@primarydb ~]$ crontab -e

00 20 * * * /bin/sh  /home/oracle/run_rman_backup_full.sh > /dev/null
00 22 * * * /bin/sh  /home/oracle/run_rman_backup_incr.sh > /dev/null

 

About محسن صفابخش

با سلام
محسن صفابخش هستم .کارشناس و متخصص داده هایی با حجم و مقیاس کلان ازینرو در حال حاضر در یکی از بزرگتربن سایت های ایران در زمینه مدیریت و نگهداری از دیتابیس های اوراکل آن مشغول به فعالیت می باشم.