当前位置: 首页 > ops >正文

Oracle RMAN 备份脚本

说明

RMAN备份是每个正常数据库要部署的。
如下脚本经生产环境测试,实现全库备份。数据库恢复窗口3天。

部署

以oracle执行
建立备份目录/u02/rmanbackup
$mkdir -p /u02/rmanbackup

把此脚本fullbak.sh保存到/home/oracle/scripts目录。
chmod +x fullbak.sh

设置每周日3点备份
0 3 * * 7 /home/oracle/scripts/fullbak.sh >/dev/null 2>&1

脚本

#!/bin/sh
#需要修改的参数1. RMANBAK. rman备份存放目录 ,缺省/u02/rmanbackup.
# 2. RECO_DAY (recovery day) 恢复窗口,缺省 3天。source ~/.bash_profile#export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4
#export ORACLE_SID=orcl
export RMANBAK=/u02/rmanbackup
export RECO_DAY=3export DATE=`date +%Y-%m-%d`
export LOGFILE=$RMANBAK/logs/rman_full_`date +%Y-%m-%d-%H%M`.log
export CMDFILE=/tmp/fullbak.rcvif [ ! -d $RMANBAK ]; thenmkdir $RMANBAK
fiif [ ! -d $RMANBAK/logs ]; thenmkdir $RMANBAK/logs
ficat > $CMDFILE <<EOF
connect target /
run{
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '$RMANBAK/auto_%T_%F.%d';
configure RETENTION POLICY TO recovery window of $RECO_DAY days;
allocate channel ch00 device type disk;
allocate channel ch01 device type disk;
allocate channel ch02 device type disk;
allocate channel ch03 device type disk;crosscheck copy;
crosscheck backup;
crosscheck archivelog all;delete noprompt expired archivelog all;
delete noprompt expired backup;
report obsolete;
delete noprompt obsolete;backup as compressed backupset incremental level 0 database format '$RMANBAK/full_%T_%u_%p.%d' tag='FULLDB-$DATE'
plus archivelog format '$RMANBAK/arch_%T_%u_%p.%d' tag='ARCH-$DATE' delete all input ;crosscheck copy;
crosscheck backup;
crosscheck archivelog all;delete noprompt expired archivelog all;
delete noprompt expired backup;
report obsolete;
delete noprompt obsolete;delete noprompt force copy completed before 'sysdate-8';
delete noprompt force archivelog all completed before 'sysdate-8' ;
delete noprompt force backupset completed before 'sysdate-8' ;
release channel ch00;
release channel ch01;
release channel ch02;
release channel ch03;
}
EOF########################################################################echo "started backup at : "`date +%Y%m%d-%H%M` >> $LOGFILE
echo "---------------------------------------------------">>$LOGFILE
$ORACLE_HOME/bin/rman  @$CMDFILE log $LOGFILE append
echo "---------------------------------------------------">>$LOGFILE
echo "finished backup at: "`date +%Y%m%d-%H%M` >> $LOGFILE
http://www.xdnf.cn/news/9404.html

相关文章:

  • 【GraphQL】深入解析 Apollo Client:从架构到实践的一站式 GraphQL 解决方案
  • [java八股文][JavaSpring面试篇]Mybatis
  • 英语写作中“表达、表述”expression statement 的用法
  • 题海拾贝:P1208 [USACO1.3] 混合牛奶 Mixing Milk
  • 构建安全高效的邮件网关ngx_mail_ssl_module
  • 4.8.1 利用Spark SQL实现词频统计
  • 2025人脸识别备案新规:企业个人权益保障
  • 青少年编程与数学 02-020 C#程序设计基础 08课题、字符和字符串
  • HTTP代理的实际用处有哪些?HTTP代理强在哪里?
  • 解决“无法打开或关闭Windows功能”问题
  • 如何区分防爆手机与普通手机?
  • XGBoost与SHAP深度解析:从算法原理到实战价值
  • 打卡第31天:模块和库的导入
  • DrissionPage:重新定义Python网页自动化,让爬虫与浏览器控制合二为一
  • LVS-DR群集
  • Linux之守护进程
  • 无法删除/重装VirtualBox,提示缺少msi安装包
  • Jenkins+Docker 实现一键自动化部署项目
  • 学习STC51单片机18(芯片为STC89C52RCRC)
  • 干货|VR全景是什么?
  • 并发解析hea,转为pdf格式
  • Unity数字人开发笔记——讯飞超拟人语音
  • uniapp|实现多端图片上传、拍照上传自定义插入水印内容及拖拽自定义水印位置,实现水印相机、图片下载保存等功能
  • 实测!横屏影视素材转竖屏 无损转换 +参数可调 抖音 快手竖屏视频一键适配
  • C++ 复制构造函数:创建对象的 “拷贝大师”
  • Ajax(Asynchronous JavaScript and XML)
  • 无人机分布式协同算法解析!
  • 采用Bright Data+n8n+AI打造自动化新闻助手:每天5分钟实现内容日更
  • promptfoo:让语言模型评测不再“靠感觉”——一站式 LLM 自动化测评神器深度解读
  • C#学习26天:内存优化的几种方法