rman 备份脚本

#!/bin/bash
#set env
source /home/oracle/.bash_profile
export ORACLE_SID=emesdb2
DATE=`date +%w`
#DATE=0
DATE_D=`date +%d`
DATE_2=`date +%Y%m%d`
BACKUP_PATH=/ora_backup/emesdb_backup
mkdir -p $BACKUP_PATH/$DATE
if [ $DATE -eq 0 ]; then
echo "usage: rman.sh level 0 "
LEVEL=0
fi
if [ $DATE -eq 3 ]; then
echo "usage: rman.sh level 1 "
LEVEL=1
fi

if [ $DATE -eq 1 -o $DATE -eq 2 -o $DATE -eq 4 -o $DATE -eq 5 -o $DATE -eq 6  ]; then
echo "usage: rman.sh level 2 "
LEVEL=2
fi

echo "-----------------------------start-----------------------------";
#backup spfile & pfile

if [ $LEVEL -eq 0 ]; then
echo "-----------------------------1-----------------------------";
rman target / nocatalog  log=$BACKUP_PATH/$DATE-0.log <<EOF
run{
allocate channel c3 type disk;
allocate channel c4 type disk;
backup as compressed backupset incremental level $LEVEL filesperset 3 format '$BACKUP_PATH/$DATE/data-$LEVEL-%d-%U-%t' (database include current controlfile) ;
backup current controlfile format '$BACKUP_PATH/$DATE/ctl-$LEVEL-%d-%U-%t';
backup spfile format '$BACKUP_PATH/$DATE/spfile-$LEVEL-%d-%U-%t';
sql 'alter system archive log current';
backup as compressed backupset archivelog all format '$BACKUP_PATH/$DATE/arch-$LEVEL-%d-%U-%t' delete input;
CONFIGURE RETENTION POLICY TO  recovery window of 30 days;
crosscheck backup of archivelog all ;
crosscheck archivelog all;
crosscheck backupset;
delete noprompt obsolete;
delete noprompt expired backup;
release channel c3;
release channel c4;
}
exit;
EOF
echo "-----------------------------1-0-----------------------------";
else
echo "-----------------------------2-----------------------------";
rman target / nocatalog  log=$BACKUP_PATH/$DATE-0.log <<EOF
run{
allocate channel c3 type disk;
allocate channel c4 type disk;
backup as compressed backupset incremental level $LEVEL filesperset 3 format '$BACKUP_PATH/$DATE/data-$LEVEL-%d-%U-%t' (database include current controlfile) ;
backup current controlfile format '$BACKUP_PATH/$DATE/ctl-$LEVEL-%d-%U-%t';
backup spfile format '$BACKUP_PATH/$DATE/spfile-$LEVEL-%d-%U-%t';
sql 'alter system archive log current';
backup as compressed backupset archivelog all format '$BACKUP_PATH/$DATE/arch-$LEVEL-%d-%U-%t' delete input;
CONFIGURE RETENTION POLICY TO  recovery window of 30 days;
crosscheck backup of archivelog all ;
crosscheck archivelog all;
crosscheck backupset;
delete noprompt obsolete;
delete noprompt expired backup;
release channel c3;
release channel c4;
}
exit;
EOF
echo "-----------------------------2-0-----------------------------";
fi
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值