oraclerman如何在线热备份-创新互联

这篇文章给大家分享的是有关oracle rman如何在线热备份的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

成都创新互联主营台安网站建设的网络公司,主营网站建设方案,重庆APP软件开发,台安h5重庆小程序开发搭建,台安网站营销推广欢迎台安等地区企业咨询


以下是我给出的一些关于备份的建议,作为dba,rman备份策略思路考虑以下方面:
1、归档日志的重要性,例如是否需要经常找回历史较久归档日志分析。
2、总的备份空间大小考虑,当时空间足够的情况,尽量保留多点备份,如果库较小,但是产生的归档较多,可能几天的归档就超过了你的真个库的大小了,建议全备份的跨期缩短。
3、尽量留两次以上的全备份,而且是最好是备完再删除历史备份。

以下是脚本内容,分别是归档日志备份和数据库文件全备脚本,一旦发生问题时,可通过恢复全备,并使用归档日志恢复到当前。

归档日志备份脚本
##/opt/script/back_arch.sh
##用于平时的归档日志备份
. /home/oracle/.bash_profile
dt=`date +%Y%m%d`
logdir=/opt/script/log
if [ -d ${logdir} ]
then
sleep 1
else
mkdir -p $logdir
fi
logfile=${logdir}/backup_${dt}.trc
echo "------------`date '+%Y-%m-%d %H:%M'`---Start Backup----------------">>$logfile
rman target / log=$logfile <sql 'alter system switch logfile';
crosscheck archivelog all;
crosscheck backup;
delete noprompt expired backup;
run
{allocate channel c1 type disk;
backup Archivelog all filesperset=20 Format '/bak/rman_bak/bak_arch_%s_%p_%T' delete input;
Backup current controlfile format '/bak/rman_bak/bak_ctl_%s_%p_%T';
release channel c1;
}
exit;
EOF
echo "------------`date '+%Y-%m-%d %H:%M'`---End Backup----------------">>$logfile
find ${logdir}/*.trc -ctime +20|xargs rm -f

数据库文件全备份的脚本
##/opt/script/back_db.sh
##用于每个星期的全量日志备份
#!/bin/bash
. /home/oracle/.bash_profile
dt=`date +%Y%m%d`
logdir=/opt/script/log
if [ -d ${logdir} ]
then
sleep 1
else
mkdir -p ${logdir}
fi
logfile=${logdir}/backup_${dt}.trc
echo "------------`date '+%Y-%m-%d %H:%M'`---Start Backup----------------">>$logfile
rman target / log=$logfile <crosscheck archivelog all;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;           ---删除历史的备份
run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
backup as compressed backupset Database
Format '/bak/rman_bak/bak_db_%s_%p_%T' filesperset=1
plus Archivelog filesperset=20 Format '/bak/rman_bak/bak_arch_%s_%p_%T';
Backup current controlfile format '/bak/rman_bak/bak_ctl_%s_%p_%T';
}
exit;
EOF
echo "------------`date '+%Y-%m-%d %H:%M'`---End Backup----------------">>$logfile
find ${logdir}/*.trc -ctime +20|xargs rm -fr

感谢各位的阅读!关于“oracle rman如何在线热备份”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


文章题目:oraclerman如何在线热备份-创新互联
本文来源:http://pwwzsj.com/article/cdojhe.html