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