Oracle增量备份和快速备份(块改变跟踪Block Change Tracking)
下面小麦苗给出全库备份的脚本:
点击(此处)折叠或打开
- [oracle@rhel6lhr ~]$ crontab -l
- 2 12 * * 1 /home/oracle/lhr/rman/rman_backup_full.sh
- [oracle@rhel6lhr ~]$ more /home/oracle/lhr/rman/rman_backup_full.sh
- export ORACLE_SID=orclasm
- export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
- export PATH=$ORACLE_HOME/bin:$PATH
- MYDATE=`date +'%Y%m%d%H%M%S'`
- BACKUP_DIR=/u05/oracle/oracle_bk/$ORACLE_SID
- rman target / log /home/oracle/lhr/rman/log/rman_full_$MYDATE.log append <<EOF
- run
- {
- allocate channel c1 type disk;
- allocate channel c2 type disk;
- backup database filesperset 4 format '$BACKUP_DIR/full_%n_%T_%t_%s_%p.bak';
- sql 'alter system archive log current';
- backup archivelog all format '$BACKUP_DIR/arch_%d_%T_%s_%p.bak' delete input;
- backup current controlfile format '$BACKUP_DIR/ctl_%d_%T_%s_%p.bak';
- }
- EOF
- rman target / log /home/oracle/lhr/rman/log/rman_delete_$MYDATE.log append <<EOF
- allocate channel for maintenance type disk;
- allocate channel for maintenance type sbt_tape;
- crosscheck copy;
- crosscheck archivelog all;
- crosscheck backup;
- delete noprompt obsolete;
- delete noprompt expired backup;
- EOF
下面小麦苗给出增量备份的脚本,备份策略为周日0级全备,周四为1级增量备份,其它为2级增量备份:
点击(此处)折叠或打开
- 40 11 * * * /home/oracle/lhr/rman/run_rman_incremental.sh
- [oracle@rhel6lhr ~]$ more /home/oracle/lhr/rman/run_rman_incremental.sh
- sh /home/oracle/lhr/rman/rman_incremental.sh 2>&1 &
- [oracle@rhel6lhr ~]$ more /home/oracle/lhr/rman/rman_incremental.sh
- ########################################################################
- ## incremental_database_backup.sh ##
- ## created by lhr ##
- ## 2015-1-23 ##
- ## sun:0 Thu:1 others:2 ##
- #########################################################################
- #!/bin/ksh
- export LANG=en_US
- MYDATE=`date +'%Y%m%d%H%M%S'`
- MYDATE2=`date +'%Y-%m-%d %H:%M:%S'`
- CUSER=`id|cut -d "(" -f2|cut -d ")" -f1`
- export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
- export PATH=$ORACLE_HOME/bin:$PATH
- export RMAN=$ORACLE_HOME/bin/rman
- export ORACLE_SID=orclasm
- export ORACLE_USER=oracle
- BACKUP_DIR=/u05/oracle/oracle_bk/$ORACLE_SID
- RMAN_LOG_FILE=$BACKUP_DIR/log/rman_incremental_"$ORACLE_SID"_$MYDATE.log
- echo "-----------------$MYDATE2-------------------">$RMAN_LOG_FILE
- echo "ORACLE_SID: $ORACLE_SID">>$RMAN_LOG_FILE
- echo "ORACLE_HOME:$ORACLE_HOME">>$RMAN_LOG_FILE
- echo "ORACLE_USER:$ORACLE_USER">>$RMAN_LOG_FILE
- echo "==========================================">>$RMAN_LOG_FILE
- echo "BACKUP DATABASE BEGIN......">>$RMAN_LOG_FILE
- echo " ">>$RMAN_LOG_FILE
- chmod 666 $RMAN_LOG_FILE
- WEEK_DAILY=`date +%a`
- case "$WEEK_DAILY" in
- "Mon")
- BAK_LEVEL=2
- ;;
- "Tue")
- BAK_LEVEL=2
- ;;
- "Wed")
- BAK_LEVEL=2
- ;;
- "Thu")
- BAK_LEVEL=1
- ;;
- "Fri")
- BAK_LEVEL=2
- ;;
- "Sat")
- BAK_LEVEL=2
- ;;
- "Sun")
- BAK_LEVEL=0
- ;;
- "*")
- BAK_LEVEL=error
- esac
- export BAK_LEVEL=$BAK_LEVEL
- echo "Today is : $WEEK_DAILY incremental level= $BAK_LEVEL">>$RMAN_LOG_FILE
- RMAN_RUN_STR="
- export BAK_LEVEL=$BAK_LEVEL
- export ORACLE_HOME=$ORACLE_HOME
- export ORACLE_SID=$ORACLE_SID
- export NLS_DATE_FORMAT='YYYY-MM-DD HH24:mi:ss'
-
$RMAN nocatalog TARGET sys/lhr log $RMAN_LOG_FILE append <
关注打赏
立即登录/注册


微信扫码登录