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: [email protected], [email protected],[email protected]‘ >> $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

backup_db_xxx.rcv 文件其实RMAN的命令文件(backup_db_xxxx.sh 里面调用)。如下所示

   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 备份解决方案一例,布布扣,bubuko.com

时间: 2024-12-08 15:15:33

Oracle RAMN 备份解决方案一例的相关文章

Oracle RMAN备份恢复2-案例篇_超越OCP精通Oracle视频教程培训18

oracle视频教程目标 Oracle视频教程,风哥本套oracle教程培训学习oracle数据库如何设计一个TB级数据库的RMAN备份策略,RMAN备份与恢复案例-丢失所有文件,丢失单个数据文件,丢失整个数据和system表空间,丢失控制文件和参数文件,存储损坏数据丢失,丢失REDO重做日志文件,基于时间点,scn,cancel,备份控制文件的不完成恢复案例. 适用人群 IT相关从业人员.Oracle数据库技术人员.想加工资的.想升职的都可以. 视频在线学习地址: http://edu.51c

Oracle数据库备份恢复高级培训视频课程(案例、实战、深入、全面)

套餐介绍: 介绍:风哥Oracle数据库备份恢复培训(案例.实战.深入.全面),DBA初级到骨灰级的脱变. 内容:风哥Oracle数据库备份恢复及存储容灾基础,控制文件与参数文件详解,存储结构深入分析,Oracle底层技术,数据块解析,BBED深入解析,重做日志Redo深入解析,Undo回滚段深入解析,用户管理模式的备份恢复,RMAN备份恢复,Flashback闪回恢复管理,LogMiner日志挖掘技术,SQL_Loader,Oracle逻辑备份恢复迁移之exp/imp和expdp/impdp.

Oracle备份解决方案

备份解决方案 使用以下方法可执行备份: Recovery Manager Oracle Secure Backup 用户管理的备份 Recovery Manager (RMAN) 是推荐使用的 Oracle DB 备份方法.Oracle Secure Backup 通过添加了备份到磁带功能和网络备份功能,补充了现有功能.用户管理的备份是基于脚本的,因此 DBA 必须编写脚本.这种方法正逐渐被淘汰,因为它需要较多的人工.Oracle Secure Backup Oracle Secure Back

Oracle RMAN 备份一例

Oracle RMAN备份一例: Solaris 10 + Oracle 11.2.0.3 Shell:csh 备份策略:周日0级备份,周一~周六1级备份,每6小时备份归档日志,每天清理历史文件夹. --0级备份脚本: #!/bin/csh #db0 level backup foldername=`date +%Y%m%d` cd /oradata1/backup if [ -d $foldername ] then echo 'go on' else echo 'need mkdir' mk

oracle(数据备份)

1 --oracle数据备份(三种方法) 2 --1.逻辑备份与恢复:用Oracle提供的工具,导入/导出(exp,imp),数据 3 --泵导入/导出(impdp,expdp),装入器(SQL*Loader) 4 --2.脱机备份与恢复:指在关闭数据库的情况下对数据库文件的物理备份与 5 --恢复,是最简单,最直接的方法,也称为冷备份与恢复 6 --3.联机备份与恢复:指在数据库处于打开的状态下(归档模式)对数据库进 7 --行的备份与恢复,只有能联机备份与恢复的数据库才能实惠不停机地使用.

Oracle DB备份恢复篇之丢失控制文件

实验目的 本篇主要模拟控制文件丢失后,如何根据实际情况恢复数据库,才能使数据库尽可能不丢失数据. 实验环境 1)Linux系统环境 [[email protected] ~]$ lsb_release -a LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch Distributor ID: RedHatEnterpriseServer Description: Red Hat Ente

五个在线备份解决方案及优势分析

在云计算快速.迅速.飞速发展的当下,你要是不用点和云计算相关的新产品你还真不好意思说你了解互联网.如今,在线备份已经成为个人和中小企业备份的重要工具,通过web页面的集中管理,就可以随时对数据进行备份,你说,是不是很酷!今天,笔者为大家带来了五款在线备份解决方案及优势分析,具体内容如下 一. MozyHome MozyHome 是一个安全的在线备份服务(即网络硬盘).它是用一种简单,智能而经济的方法来保护文件不被损坏.防止您的数据被意外删除或硬件故障等危害.定期备份你的数据到安全的服务器(美国)

整理ORACLE数据库备份常用术语

本文将讲述在备份是常用的数据库相关术语以及业界定义的专业术语,供大家参考和学习. 数据库相关术语: (1)冷备份: 冷备份是将数据库关闭之后,将数据文件.联机日志文件.控制文件拷贝到其他地方进行备份.此外,冷备份也可以包括对参数文件和口令文件的备份,但是这两种文件的备份是可以根据需要进行选择的,冷备份实际上也是一种物理备份. (2)热备份: 热备份是相对于冷备份而言的,不需要停机操作,直接可以在线采用archive mode下进行数据库备份和还原操作.比较常见的热备方法就是使用Rman备份. (

Oracle 数据库备份和恢复配置

可能的失败及其解决方法 失败类型 我们坑你遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一般在终端用户级别(数据库用户和管理员). 按从轻到重.易恢复到难恢复排列: 语句失败:用户的SELECT或DML语句因权限.语法或资源限制而失败. 用户错误:用户误删了一个表或表中的行. 用户进程失败:与数据库的连接因为客户端断开或未预料的停机而失败. 网络失败:客户机和服务器(数据库)之间的网络连接因为网络硬件或协议错误而失败. 实例失败:数据