RMAN备份脚本

Oracle RMAN 备份与归档日志清理

#!/bin/sh
#------------------------------------------------------------------------------------------------------------
#Environment variable setting
#------------------------------------------------------------------------------------------------------------
. /home/oracle/.bash_profile

export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=yyhorcl
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/bin
export PATH


SH_HOME=/home/oracle/rman
export SH_HOME


DATE=`date +"%Y%m%d"`
week=`date +"%w"`
rmanerror=$SH_HOME/log/rmanerror.log

 

#-----------------------------------------------------------------------
#Confirm whether the oracle IS runing
#-----------------------------------------------------------------------
sqlplus -s "/as sysdba"<<EOF
whenever sqlerror exit 1
whenever oserror exit 1
SELECT sysdate FROM dual;
exit
EOF

if [ $? -gt 0 ]; then
exit
fi

#-----------------------------------------------------------------------
#Begin TO delete archivelog
#-----------------------------------------------------------------------
#$ORACLE_HOME/bin/rman <<EOF
#connect target /
#crosscheck archivelog all;
#delete noprompt expired archivelog all;
#delete noprompt archivelog until time 'sysdate-7';
#exit;
#EOF

if [ $week = "0" ] || [ $week = "3" ]; then
rman target / @$SH_HOME/fullinc0.rcv log=$SH_HOME/log/rmanfullback`date +"%Y-%m-%d"`.log
else
rman target / @$SH_HOME/del_arc.rcv log=$SH_HOME/log/rmanarchback`date +"%Y-%m-%d"`.log
fi

 

 

其中:

[oracle@localhost.localdomain:/home/oracle/rman]$more del_arc.rcv
run{
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog until time 'sysdate-7';
}

#用于清理过期归档日志

[oracle@localhost.localdomain:/home/oracle/rman]$more fullinc0.rcv
delete noprompt obsolete;
run{
allocate channel c1 type disk;
backup
incremental level 0
format "/home/oracle/app/rmanbak/full_inc0_%u_%T"
tag full_inc0
database include current controlfile;
sql 'alter system archive log current';
backup archivelog all format '/home/oracle/app/rmanbak/arc_%s_%p.bk_2' delete all input;
release channel c1;
}

#执行零级全备份

转载于:https://www.cnblogs.com/palmxin/p/7158619.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值