Oracle RAMN 备份解决方案一例
以前在博客里面介绍了RMAN备份脚本一列分享,通过RMAN备份到本地路径,然后通过FTP将备份文件上传到FTP服务器。 下面简单介绍另外一例RMAN备份解决方案,下面是我简单画的一个图(很少画图,感觉有点粗制滥造)。
首先将数据库备份到本地服务器的一个目录下(目录是按日期格式生成,本地备份保留周期视存储情况而定.一般一天即可)。
然后将备份文件通过Symantec Backup Exec 2012 Agent 将本地备份上传到磁带设备(容灾备份,磁带备份保留90天)。
最后清理本地备份路径下的备份。
如上所示,只有三个步骤,整体思路非常简单,下面介绍一下实施的具体脚本
首先介绍一下备份脚本backup_db_xxxx.sh (注意xxx为数据库实例名称,脚本里面很多xxx需要根据具体场景进行替换,例如实例名称、邮件地址等)
1: #********************************************************************************
2: # FileName : backup_db_xxxx.sh
3: #********************************************************************************
4: # Author : Tommy
5: # CreateDate : 2012-07-18
6: # Description : this script is backup the oracle database by rman
7: #********************************************************************************
8: # Parameters : 参数说明
9: #********************************************************************************
10: # 此脚本无参数,直接调用即可
11: #********************************************************************************
12: # Modified Date Modified User Version Modified Reason
13: #********************************************************************************
14: # 2014-04-26 Kerry V1.0.1 脚本部分地方、调整脚本格式
15: #
16: #********************************************************************************
17:
18:
19:
20: #REM - USER DEFINED VARIABLES -
21: export DATESTAMP=`date '+%F'`
22:
23: #REM - Oracle specific settings: -
24: . /home/oracle/.bash_profile
25: export CATALOG=NOCATALOG
26:
27: #REM - Specify the Logfiles -
28: export BACKUP_FULL_LOG=/u04/backup/backuplogs/rman_backup_db_xxx_$DATESTAMP.log
29:
30: #REM - BACKUP SECTION -
31: echo $BACKUP_FULL_LOG
32: rman target / $CATALOG cmdfile=/u04/backup/scripts/backup_db_xxx.rcv log=$BACKUP_FULL_LOG
33:
34: EMAILTMP=/u04/backup/backuplogs/rman_backup_db_xxx_$DATESTAMP.TMP
35:
36: ######################## config email parameters ##########################
37: echo 'Content-Type: text/html' > $EMAILTMP
38: echo 'To: xxx@xxx.com, xxx@xxx.com,xxx@xxx.com' >> $EMAILTMP
39: echo 'Subject : Backup Status - xxxx(RMAN hot backup)' >> $EMAILTMP
40: echo '<pre style="font-family: courier; font-size: 9pt">' >> $EMAILTMP
41: ###########################################################################
42:
43: echo "=======================================================" >> $EMAILTMP
44: echo "================ Daily Backup for xxxx ================" >> $EMAILTMP
45: echo "=======================================================" >> $EMAILTMP
46: echo " " >> $EMAILTMP
47:
48: cat $BACKUP_FULL_LOG >> $EMAILTMP 2>&1
49: echo " " >> $EMAILTMP
50: echo "================ End of Rman Backup ==================" >> $EMAILTMP
51: echo "======================================================" >> $EMAILTMP
52:
53: /usr/sbin/sendmail -t -f "BackupAdmin" < $EMAILTMP
54: rm $EMAILTMP
1: run {
2: CONFIGURE RETENTION POLICY TO REDUNDANCY 2; # default
3: CONFIGURE BACKUP OPTIMIZATION ON;
4: CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
5: CONFIGURE CONTROLFILE AUTOBACKUP ON;
6: CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u04/backup/backupsets/ora_cf%F';
7: CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
8: CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
9: CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
10: CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/u04/backup/backupsets/ora_df%t_s%s_s%p';
11: CONFIGURE MAXSETSIZE TO UNLIMITED; # default
12: CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
13: CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
14: CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
15: sql 'alter system archive log current';
16: backup as compressed backupset database plus archivelog delete input;
17: copy current controlfile to '/u04/backup/backupsets/controlfile.copy';
18: }
19: exit
delete_obj_xxxx.sh 文件如下所示:
1: #*****************************************************************************************
2: # FileName : delete_obj_xxxx.sh
3: #*****************************************************************************************
4: # Author : Tommy
5: # CreateDate : 2012-07-18
6: # Description : this script is delete the obsolete object through rman
7: #*****************************************************************************************
8: # Parameters : 参数说明
9: #*****************************************************************************************
10: # 此脚本无参数,直接调用即可
11: #*****************************************************************************************
12: # Modified Date Modified User Version Modified Reason
13: #*****************************************************************************************
14: # 2014-04-26 Kerry V1.0.1 修改脚本部分地方、调整脚本格式
15: #
16: #
17: #
18: #*****************************************************************************************
19:
20:
21: #REM - USER DEFINED VARIABLES -
22: export DATESTAMP=`date '+%F'`
23:
24: #REM - Oracle specific settings: -
25: . /home/oracle/.bash_profile
26: export CATALOG=NOCATALOG
27:
28: #REM - Specified the logfiles -
29: export BACKUP_FULL_LOG=/u04/backup/backuplogs/rman_delete_ob_xxx_$DATESTAMP.log
30:
31: #REM - BACKUP SECTION -
32: echo $BACKUP_FULL_LOG
33: rman target / $CATALOG cmdfile=/u04/backup/scripts/delete_ob_xxx.rcv log=$BACKUP_FULL_LOG
/u04/backup/scripts/delete_ob_xxx.rcv文件为RMAN的cmdfile,如下所示
1: run {
2: CONFIGURE RETENTION POLICY TO REDUNDANCY 2; # default
3: CONFIGURE BACKUP OPTIMIZATION ON;
4: CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
5: CONFIGURE CONTROLFILE AUTOBACKUP ON;
6: CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u04/backup/backupsets/ora_cf%F';
7: CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
8: CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
9: CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
10: CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/u04/backup/backupsets/ora_df%t_s%s_s%p';
11: CONFIGURE MAXSETSIZE TO UNLIMITED; # default
12: CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
13: CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
14: CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
15: sql 'alter system archive log current';
16: delete obsolete;
17: }
然后再crontab作业里面配置作业
15 00 * * * /u04/backup/scripts/backup_db_xxx.sh >/dev/null 2>&1
00 08 * * * /u04/backup/scripts/delete_ob_xxx.sh >/dev/null 2>&1
也许会有人问,不是还有Symantec Backup Exec Agent 将备份文件上带吗,其实关于这个,首先需要在Linux服务器安装Symantec Backup Exec 2012 Agent,这个可以参考我博客Symantec Backup Exec 2012 Agent For Linux安装。在配置文件指定Symantec Backup Exec Server,然后只需要在服务器设定一个作业定时备份文件即可。感觉没有啥可以说的。
Oracle RAMN 备份解决方案一例的更多相关文章
- Oracle RMAN 备份一例
Oracle RMAN备份一例: Solaris 10 + Oracle 11.2.0.3 Shell:csh,安装有bash,脚本调用bash 备份策略:周日0级备份,周一~周六1级备份,每6小时备 ...
- Oracle Ora 错误解决方案合集
注:本文来源于 < Oracle学习笔记 --- Oracle ORA错误解决方案 > ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发 ...
- oracle 数据库备份、还原、和使用心得(表丢失、视图丢失的解决办法)
一.oracle数据备份:exp 关键字 说明(默认值) 关键字 说明(默认值) --------------------------------- ...
- Oracle 数据库备份和恢复配置
可能的失败及其解决方法 失败类型 我们坑你遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一般在终端用户级别(数据库用户和管理员). 按从轻 ...
- Oracle DB备份恢复篇之丢失控制文件
实验目的 本篇主要模拟控制文件丢失后,如何根据实际情况恢复数据库,才能使数据库尽可能不丢失数据. 实验环境 1)Linux系统环境 [oracle@DG1 ~]$ lsb_release -a LSB ...
- ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库,表空间,数据文件
ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库.表空间.数据文件 仅仅有使用过的block能够被备份成backup set 表空间与数据文件相应关系:dba_data_file ...
- Oracle数据库备份/导出(exp/expd)、导入(imp/impd)
常用的oracle数据库备份(导入/导出)有两种,分别是exp/imp和expd/impd,前者是Orace早期版本带有的导入导出工具,后者是Oracle10g后出现的,下面进行分别介绍! 1.e ...
- Oracle 定时备份数据库
[操作说明] 在前面的博客中,学习了如何Oracle如何备份数据库,实际开发过程中数据库应该每隔一段时间就要备份一次,所以我们就需要一个定时执行这个代码的功能,同时备份的文件可能进行一些处理,比如压缩 ...
- oracle(数据备份)
1 --oracle数据备份(三种方法) 2 --1.逻辑备份与恢复:用Oracle提供的工具,导入/导出(exp,imp),数据 3 --泵导入/导出(impdp,expdp),装入器(SQL*Lo ...
随机推荐
- canvas实现拖动页面时显示窗口视频
简介 当前主流的视频网站目前有不少新鲜好玩的功能,最明显的莫过于小视频的显示--当视频不在当前视口范围 时,会在右下角用一个小窗口来显示当前的视频,而且可以拖拽. 今晚心血来潮,起了动手试试的念头.我 ...
- Web接口测试工具---Poster与Postman
工作当中有不少时间在编写和维护接口自动化测试用例.打算先整理一些接口相关工具的使用. 简单对接Web口测试的相关工具/技术做个划分. HTTP/SOAP协议接口的功能测试: 1.浏览器URL(GET请 ...
- 讲讲Android事件拦截机制
简介 什么是触摸事件?顾名思义,触摸事件就是捕获触摸屏幕后产生的事件.当点击一个按钮时,通常会产生两个或者三个事件--按钮按下,这是事件一,如果滑动几下,这是事件二,当手抬起,这是事件三.所以在And ...
- linux源码分析(五)-start_kernel
前置:这里使用的linux版本是4.8,x86体系. local_irq_disable(); 这个函数是做了关闭中断操作.和后面的local_irq_enable相对应.说明启动的下面函数是不允许被 ...
- ASP.NET MVC post请求接收参数的三种方式
1.在控制器中建立一个PostDemo方法,建立视图创建一个表单 <h2>PostDemo</h2> name的值:@ViewBag.name <br /> nam ...
- Rafy 领域实体框架 - 领域模型设计器(建模工具)设计方案
去年4月,我们为 Rafy 框架添加了领域模型设计器组件.时隔一年,谨以本文,简要说明该领域模型设计器的设计思想. 设计目标 Rafy 实体框架中以领域驱动设计作为指导思想.所以在开发时,以领域建模为 ...
- 【吐槽】gist.github.com疑遭中间人攻击
北京时间201510081004,云南电信用户,现在上https://gist.github.com/,用IE10会提示证书被伪造,用搜狗4.1.3.9668会跳转到[http://www.cjb.n ...
- jQuery手机菜单
效果展示 http://hovertree.com/texiao/nav/4/ 手机扫描二维码查看效果: 源码下载 http://hovertree.com/h/bjaf/kroft6c7.htm ...
- C#的Socket实现UDP协议通信
今天稍花化了一点时间,利用C#的Socket验证了UDP的通信,为接下来特地利用UDP做个分布式的通信仿真系统打下基础.众所周知,UDP 就是用户数据报协议,在互联网参考模型的第四层——传输层.与TC ...
- 圆形背景的TextView
[应用场景]: [需要的xml]:shape_circle.xml <?xml version="1.0" encoding="UTF-8"?>&l ...