RMAN 备份脚本

备份脚本内容:

 

#!/bin/bash
BACKUP_DATE=`date +%y-%m-%d`
RMAN_LOG_FILE=${0}.out
TODAY=`date`
USER=`id|cut -d "(" -f2|cut -d ")" -f1`
echo "-----------------$TODAY-------------------">$RMAN_LOG_FILE
export ORACLE_HOME=/oracle/oracle11g
export RMAN=$ORACLE_HOME/bin/rman
export ORACLE_SID=orcl
export ORACLE_USER=oracle
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
WORK_DIR=/oracle/rman_backup/orcl/$BACKUP_DATE
mkdir -p $WORK_DIR
WEEK_DAILY=`date +%a`
echo "Today is : $WEEK_DAILY">>$RMAN_LOG_FILE
RUN_STR="
ORACLE_HOME=$ORACLE_HOME
export ORACLE_HOME
ORACLE_SID=$ORACLE_SID
export ORACLE_SID
$RMAN TARGET  /  msglog $RMAN_LOG_FILE append <<EOF
run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
backup as compressed backupset format '$WORK_DIR/full%d_LVL0_%T_%U_s%s' database  plus archivelog  format  '$WORK_DIR/archive%d_LVL0_%T_%U_s%s';
backup format='$WORK_DIR/ctl_%U' current controlfile;
release channel c4;
release channel c3;
release channel c2;
release channel c1;
}

report obsolete; 
delete noprompt obsolete;
EOF
"
if [ "$CUSER" = "root" ]
then
    echo "Root Command String: $RUN_STR" >> $RMAN_LOG_FILE
    su - $ORACLE_USER -c "$RUN_STR" >> $RMAN_LOG_FILE
    RSTAT=$?
else
    echo "User Command String: $RUN_STR" >> $RMAN_LOG_FILE
    /bin/bash -c "$RUN_STR" >> $RMAN_LOG_FILE
    RSTAT=$?
fi
# --------------------------------------------------------------------------- 
# Log the completion of this script.
# ---------------------------------------------------------------------------
if [ "$RSTAT" = "0" ]
then
    LOGMSG="ended successfully"
else
    LOGMSG="ended in error" 
fi
echo >> $RMAN_LOG_FILE 
echo Script $0 >> $RMAN_LOG_FILE 
echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE 


 

定自动备份任务:

00 02 * * * /bin/sh /oracle/rman_backup/scripts/rmanfororcl.sh


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值