rman 备份与删除归档脚本

经过一段时间的观察发现两个本地和远程的两个dataguard运行都比较稳定,所以决定将日常的备份放到datagurad上。

以分担主库的压力。主库只定期做全备份。 

 

备份脚本:rman_back.sh

由于数据库比较小,就没有做增量备份,直接做了全备份。

#!/bin/bash
export ORACLE_BASE=/u01/ora
export ORACLE_HOME=$ORACLE_BASE/product/11.2.3/db_1
export ORACLE_SID=orclprd
export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH

rman target / <<EOF
run{
backup database 
skip inaccessible 
plus archivelog 
filesperset 20; 
}

allocate channel for maintenance device type disk;
crosscheck backupset;
delete noprompt obsolete;
exit;
EOF

 

授予rman_back.sh给oracle用户 可执行的权限

chmod  744 rman_back.sh 



将备份脚本添加到crontab里

crontab -e

00 01 * * *  sh  /u01/ora/backup/rman_back.sh >> /u01/ora/backup/rman_back.log



删除归档脚本:
more rman_del_archivelog.sh

#!/bin/bash
export ORACLE_BASE=/u01/ora
export ORACLE_HOME=$ORACLE_BASE/product/11.2.3/db_1
export ORACLE_SID=orclprd
export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH

rman  target /  <<EOF
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog until time 'sysdate-7';
exit;
EOF

 

 

more del_archivelog.sh

#!/bin/bash
##### LOGFILE=/u01/ora/arch01/del_archive.log

date=`date +%Y-%m-%d:%H:%M:%S`
echo "----------Begin delete archivelog $date ----------" 
sh  /u01/ora/arch01/rman_del_archivelog.sh  
echo "----------End   delete archivelog $date ----------"
date



将删除归档脚本添加到crontab里

crontab -e

00 03 * * *   sh  /u01/ora/arch01/del_archivelog.sh  >>/u01/ora/arch01/del_archive.log


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值