有个童鞋问rman的自动备份脚本程序,我之前有写过exp备份指定方案自动备份案例(Linux平台下的Oracle自动备份案例(使用exp工具)  http://www.linuxidc.com/Linux/2013-10/91923.htm ),现在补充下rman的案例。

为此写出下文,仅以记录并分享这个过程。

环境:

操作系统:RHEL5.4

数据库:Oracle 10.2.0

相关变量值:

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

备份的数据库实例名:test

备份的目标目录:/backup_rman

实现过程如下:

第一步:准备目录

mkdir /backup_rman

chown oracle:oinstall /backup_rman

chmod 755 /backup_rman

第二步:备份脚本程序的编写

1、创建备份脚本

切换到oracle用户,在oracle家目录下面创建bin目录,新建文件rman_backup.sh

mkdir bin

cd bin

touch rman_backup.sh

chmod 755 rman_backup.sh

编辑rman_backup.sh文件,添加如下内容:

#!/bin/bash

source /home/oracle/.bash_profile

/u01/app/oracle/product/10.2.0/db_1/bin/rman target / nocatalog cmdfile=/home/oracle/bin/rman_cmd  log=/backup_rman/rman_full_`date +%Y%m%d%H%M`.log

2、创建rman的备份脚本文件

cd ~/bin

touch rman_cmd

编辑rman_cmd文件添加如下内容(根据需要,可以进行适当的修改):

crosscheck archivelog all;

delete noprompt expired archivelog all;

run {

configure retention policy to recovery window of 4 days;

configure controlfile autobackup off;

allocate channel c1 device type disk  format '/backup_rman/rman_full_%T_%U'  maxpiecesize=3G;

allocate channel c2 device type disk  format '/backup_rman/rman_full_%T_%U'  maxpiecesize=3G;

allocate channel c3 device type disk  format '/backup_rman/rman_full_%T_%U'  maxpiecesize=3G;

backup database plus archivelog delete all input;

backup current controlfile format '/backup_rman/rman_%T_CTL_%U';

backup spfile format '/backup_rman/rman_%T_SPFILE_%U';

release channel c1;

release channel c2;

release channel c3;

}

crosscheck backupset;

delete noprompt expired backup;

delete noprompt obsolete;

crosscheck archivelog all;

delete noprompt expired archivelog all;

第三步:添加crontab计划任务

使用oracle用户添加例行任务:

crontab -e

新打开的窗口中添加一下内容:

0 24 * * * /home/oracle/bin/rman_backup.sh

(*/3 * * * * /home/oracle/bin/rman_backup.sh)

注,括号内的可以是做测试的时候用的,每三分钟执行一次备份,例为每天凌晨24点执行备份

第四步:执行验证:

1、crontab成功执行验证:

在root下执行tail -f /var/log/cron,监控cron日志来确保crontab的成功执行:

Aug 31 00:20:06 model crontab[6380]: (oracle) BEGIN EDIT (oracle)

Aug 31 00:20:48 model crontab[6380]: (oracle) REPLACE (oracle)

Aug 31 00:20:48 model crontab[6380]: (oracle) END EDIT (oracle)

Aug 31 00:21:01 model crond[26958]: (oracle) RELOAD (cron/oracle)

Aug 31 00:21:01 model crond[6412]: (oracle) CMD (/home/oracle/bin/rman_backup.sh)

Aug 31 00:24:01 model crond[6621]: (oracle) CMD (/home/oracle/bin/rman_backup.sh)

2、查看rman是否执行,并且执行成功

a.可在rman执行的时候执行ps -ef | grep rman | grep -v grep来查看rman进程是否成功启动

b.查看/backup_rman目录中是否有备份生成的文件:

$ [email protected] /backup_rman> ls

rman_20120831_CTL_0mnjvu15_1_1    rman_full_20120831_0injvtrq_1_1

rman_20120831_CTL_0vnjvu57_1_1    rman_full_20120831_0jnjvtvs_1_1

rman_20120831_SPFILE_0nnjvu18_1_1  rman_full_20120831_0knjvu0c_1_1

rman_20120831_SPFILE_10njvu5a_1_1  rman_full_20120831_0lnjvu13_1_1

rman_full_201208310021.log        rman_full_20120831_0onjvu1a_1_1

rman_full_201208310024.log        rman_full_20120831_0pnjvu1e_1_1

rman_full_20120831_0dnjvtrg_1_1    rman_full_20120831_0qnjvu1e_1_1

rman_full_20120831_0enjvtrg_1_1    rman_full_20120831_0rnjvu1i_1_1

rman_full_20120831_0fnjvtrg_1_1    rman_full_20120831_0snjvu4s_1_1

rman_full_20120831_0gnjvtrp_1_1    rman_full_20120831_0tnjvu52_1_1

rman_full_20120831_0hnjvtrp_1_1    rman_full_20120831_0unjvu55_1_1

验证结果:rman自动备份任务执行成功!

推荐阅读:

Oracle基础教程之通过RMAN复制数据库 http://www.linuxidc.com/Linux/2013-07/87072.htm

RMAN备份策略制定参考内容 http://www.linuxidc.com/Linux/2013-03/81695.htm

RMAN备份学习笔记 http://www.linuxidc.com/Linux/2013-03/81892.htm

linux oraclerman自动备份,Linux平台下的Oracle自动备份案例(使用RMAN)相关推荐

  1. windows平台下的oracle ORA-01031的解决方法

    windows平台下的oracle ORA-01031的解决方法 今天下午遇到一个很怪异的问题,在windows平台下sqlplus / as sysdba登陆数据库,提示权限不足, 当时就纳闷了,s ...

  2. 海量IT资料 + 各种平台下的Oracle安装文件 + 公开课录像 + 各种视频教程资料

      海量IT资料 + 各种平台下的Oracle安装文件 + 公开课录像 + 各种视频教程资料 + 其它资料 觉得老师的公开课讲的都挺好的,这里把我录的一些公开课视频分享给大家,都用的是<屏幕录像 ...

  3. linux apk 拆分 odex,android平台下,apk、jar、dex、odex、vdex、art文件相互转换,编译和反编译...

    apk.jar.dex.odex.vdex相互转换java 1. ? to jar 1.1 odex to jar 1.2 dex to jar 1.3 apk to jar 输出结果可能有损 1). ...

  4. linux sybase 自动备份,Linux平台下Sybase数据库备份方法分析.doc

    Linux平台下Sybase数据库备份方法分析 Linux平台下Sybase数据库备份方法分析 摘 要:对于从事信息系统管理的人员来说,掌握数据库的备份方法在工作中尤为重要.当本地数据出错或者磁盘损坏 ...

  5. linux上备份sybase,Linux平台下Sybase数据库备份的方法分析

    龙源期刊网 http://doc.xuehai.net Linux平台下Sybase数据库备份的方法分析 作者:刘君尧王辉静刘云霞 来源:<无线互联科技>2018年第01期 摘要:对于从事 ...

  6. 保命技能:Windows/Linux平台下,快速将文本干扰/倒序

    保命技能:Windows平台下,截图自动打码,添加干扰信息 https://blog.csdn.net/yulinxx/article/details/120467620 基于CopyQ进行修改 Co ...

  7. oracle定时备份详解,oracle数据定时备份

    流程: 1.root用户登录linux服务器 2.mkdir -p /backup/oracledata  #新建Oracle数据库备份目录 3.chown -R  oracle:oinstall / ...

  8. Linux 平台下 RMAN 全备 和 增量备份 shell 脚本

    一. 一些准备知识 Oracle 分归档和非归档模式. 这两者的区别就是对redo log的处理.归档模式下,当一个redo log 写满之后,就会把这个redo log里的内容写入归档文件,等写完之 ...

  9. linux定时任务每小时_在Linux平台下每5、10或15分钟执行一次定时任务(Cron Job)...

    本文介绍如何在Linux平台下每5.10或15分钟运行一次cron命令,即执行一次定时任务(Cron Job). 前言 Cron job是按指定间隔执行的任务,可以将任务安排为按分钟,小时,每月的某天 ...

最新文章

  1. Nature Genetics:微生物如何适应植物的?
  2. easyui placeholder 解决方案
  3. Workbox-Window v4.x 中文版
  4. ModuleNotFoundError: No module named ‘torch.utils.serialization‘
  5. 执行脚本出现bin/bash: bad interpreter: No such file or d
  6. 彻底解决Python3写爬虫或网站时的乱码问题
  7. php元类,什么是元类-python编程入门系列图文教程-PHP中文网教程
  8. UE源码版本下载编译全流程
  9. 为什么不要去外包公司?
  10. 实时Javascript开发框架Clouda、Meteor、Firebase对比
  11. 选择退化特征时,利用单调性、鲁棒性、预测性三指标选择(附matlab代码)
  12. 汇编 bne 1b和bne 1f浅析
  13. [wirteup] unctf-web-can_you_hacked_me
  14. 51.com新版上线 正式推出开放平台
  15. python 列表作业
  16. 谷歌黑搜索怎么收_谷歌搜索持久的反黑种族主义
  17. AI软件视频生成工具 抖音蓝V运营小助手
  18. python opencv以MJPG读取usb摄像头
  19. 集训队每周一赛2020-03-06(思维+暴力)
  20. 信息安全管理(CISP)—— 信息安全管理

热门文章

  1. Token ,Cookie、Session傻傻分不清楚?
  2. 包邮送书 | 中科院博士推荐的50本高质量Python、数据分析书籍
  3. python中将嵌套列表展开
  4. 卷积神经网络(CNN)实现CIFAR100类别分类
  5. python浪漫表白代码
  6. docker 上传到自己的容器
  7. 综述系列 | 多标签学习的新趋势
  8. KNN学习之图像分类与KNN原理
  9. 目标检测中的特征冲突与不对齐问题
  10. 函数调用过程,栈帧的一点理解