Oracle Rman備份指令碼與自動重複資料刪除備份檔案,oraclerman

來源:互聯網
上載者:User

Oracle Rman備份指令碼與自動重複資料刪除備份檔案,oraclerman

#!/bin/shsource /home/oracle/.bash_profileif [ -z $1 ]then  echo "Please Input a number,Usage: 0|1|2"  exitelse  RMAN_LEVEL=$1fiexport ORACLE_SID=xxxxexport TODAY=`date '+%Y%m%d'`export RMAN_DIR=/backup/archivelog/rman/$ORACLE_SID/$TODAY-$RMAN_LEVELmkdir -p $RMAN_DIRcd $RMAN_DIRLogFile=ora_rman_bk_$ORACLE_SID-L$RMAN_LEVEL-`date '+%Y%m%d'`.log# rman backup rman target /  msglog=$RMAN_DIR/$LogFile<<EOFdelete noprompt obsolete; CONFIGURE BACKUP OPTIMIZATION ON;CONFIGURE CONTROLFILE AUTOBACKUP ON;CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '$RMAN_DIR/cf%F';run {allocate channel c1 type disk;allocate channel c2 type disk;backup as compressed backupset incremental level $RMAN_LEVEL filesperset 3 tag 'dbL$RMAN_LEVEL' format '$RMAN_DIR/ora_o_%d_%t%s%p%u' database skip readonly include current controlfile;sql 'alter system archive log current' ;backup(archivelog all format '$RMAN_DIR/ora_a_%d_%t%s%p%u' delete input);release channel c1;release channel c2;}list backup;exit;EOF#mail backup logmail -s "$ORACLE_SID rman L$RMAN_LEVEL backup log $TODAY"  email_name@126.com < $RMAN_DIR/$LogFile

順便提一嘴:delete noprompt obsolete與delete obsolete區別noprompt :是不用提示,在shell指令碼中不需要對發起的delete命令進行“yes or no”的確認。

在crontab 中設定如下:0 4 * * 5 sh /backup/scripts/oracle/oracle_rman_bak.sh 0 > /backup/archivelog/logs/rman.log 2>&1
0 4 * * 2 sh /backup/scripts/oracle/oracle_rman_bak.sh 1 > /backup/archivelog/logs/rman.log 2>&1

進行一周一次增量與0級備份。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.