欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

中小型数据库RMAN CATALOG备份解决办法

程序员文章站 2022-06-15 17:52:22
...

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 2、检测还原状态shell脚本 [python] --我们用一个shell脚本来检测多个DB当天最终的还原状态成功与否,并将当前的所有记录输出到ck_restore.log日志 --脚本尾部发送邮件列出当天所有进行restore之后

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入


2、检测还原状态shell脚本
[python]
--我们用一个shell脚本来检测多个DB当天最终的还原状态成功与否,并将当前的所有记录输出到ck_restore.log日志
--脚本尾部发送邮件列出当天所有进行restore之后的所有状态,是一个多个DB restore 的summary report.
$ more ck_restore.sh
##====================================================================
## File name: ck_restore.sh
## Usage: ck_restore.sh
## Desc:
## The script uses to check RMAN restore log for current day
## and send mail to DBA
##====================================================================
#!/bin/bash
if [ -f ~/.bash_profile ];
then
. ~/.bash_profile
fi
REV_DIR=/u01/comm_scripts
dt=`date '+%F'`
cat /dev/null >${REV_DIR}/ck_restore.log
cat ${REV_DIR}/db_restore_rman.log | grep "${dt}" 》${REV_DIR}/ck_restore.log
total=`cat ${REV_DIR}/ck_restore.log |wc -l`
suc=`grep SUCCEED ${REV_DIR}/ck_restore.log |wc -l`
fail=`grep FAILED ${REV_DIR}/ck_restore.log |wc -l`
echo ""》ck_restore.log
echo -e "The total DB of current recovery is $total in `hostname` \n"》${REV_DIR}/ck_restore.log
echo -e "The number of succee is : ${suc} \n"》${REV_DIR}/ck_restore.log
echo -e "The number of fail is : ${fail} \n"》${REV_DIR}/ck_restore.log
mail -s "RMAN restore summary for `hostname` at `date +'%a %b %d %Y'`" dba@12306.com 3、部署还原shell脚本到crontab
[python]
--首先将多个需要自动restore的DB封装到一个单独的文件,如下:
--最后调用ck_restore.sh 脚步检测所有DB restore状态并发送RMAN summary report邮件
$ more full_resotre_by_rman.sh
#!/bin/bash
/u01/comm_scripts/db_restore_rman_catalog.sh BC1200
/u01/comm_scripts/db_restore_rman_catalog.sh AF2630
/u01/comm_scripts/ck_restore.sh
--部署到crontab
--注,无论是备份还是恢复脚本,我们都是通过Bak server的crontab来部署以减轻Prod的压力
#Rman restore database
0 3 * * 1-6 /u01/comm_scripts/full_resotre_by_rman.sh

[1] [2]

中小型数据库RMAN CATALOG备份解决办法