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

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

相关文章:

  • 如何查看服务器有几张GPU
  • MMR-Mamba:基于 Mamba 和空间频率信息融合的多模态 MRI 重建|文献速递-深度学习医疗AI最新文献
  • .net Winfrom 如何将窗口设置为MDI容器
  • 加密后的数据如何进行模糊查询
  • 日常开发心得(前端vue和后端springboot,java)
  • Spring AI 系列之使用 Spring AI 开发模型上下文协议(MCP)
  • 如何在使用kickstart安装物理机操作系统的过程中核对服务器的SN
  • 编译与链接,咕咕咕
  • IP 风险画像技术略解
  • QT开发技术 【元对象系统反射机制 】三
  • uniapp|实现多端图片上传、拍照上传自定义插入水印内容及拖拽自定义水印位置,实现水印相机、图片下载保存等功能
  • 网络安全之XSS漏洞
  • 边缘计算新基建:iVX 轻量生成模块的 ARM 架构突围
  • 服务器开机自启动服务
  • 【技术测评】黑龙江亿林网络「启强 Plus」服务器实测:56 核 32G 配置下的性能表现与应用场景解析
  • Kotlin扩展函数与属性实战指南:从入门到企业级应用
  • Kotlin 中的数据类型有隐式转换吗?为什么?
  • pythonocc hlr实例 deepwiki 显示隐藏线
  • 力扣刷题Day 60:全排列(46)
  • 【Prometheus+Grafana实战:搭建监控系统(含告警配置)】
  • 舟山建设管理网站/2021最近比较火的营销事件
  • 茂名手机网站建设公司名录/站长之家排行榜
  • 南阳网站建设价格/怎么提交网址让百度收录
  • 网站选择城市怎么做/海阳seo排名优化培训
  • 西安网络公司排名前十名/正版搜索引擎优化
  • 网页制作及网站建设/搜索广告和信息流广告区别