linux oraclerman自动备份,Linux平台下的Oracle自动备份案例(使用RMAN)
有个童鞋问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)相关推荐
- windows平台下的oracle ORA-01031的解决方法
windows平台下的oracle ORA-01031的解决方法 今天下午遇到一个很怪异的问题,在windows平台下sqlplus / as sysdba登陆数据库,提示权限不足, 当时就纳闷了,s ...
- 海量IT资料 + 各种平台下的Oracle安装文件 + 公开课录像 + 各种视频教程资料
海量IT资料 + 各种平台下的Oracle安装文件 + 公开课录像 + 各种视频教程资料 + 其它资料 觉得老师的公开课讲的都挺好的,这里把我录的一些公开课视频分享给大家,都用的是<屏幕录像 ...
- 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). ...
- linux sybase 自动备份,Linux平台下Sybase数据库备份方法分析.doc
Linux平台下Sybase数据库备份方法分析 Linux平台下Sybase数据库备份方法分析 摘 要:对于从事信息系统管理的人员来说,掌握数据库的备份方法在工作中尤为重要.当本地数据出错或者磁盘损坏 ...
- linux上备份sybase,Linux平台下Sybase数据库备份的方法分析
龙源期刊网 http://doc.xuehai.net Linux平台下Sybase数据库备份的方法分析 作者:刘君尧王辉静刘云霞 来源:<无线互联科技>2018年第01期 摘要:对于从事 ...
- 保命技能:Windows/Linux平台下,快速将文本干扰/倒序
保命技能:Windows平台下,截图自动打码,添加干扰信息 https://blog.csdn.net/yulinxx/article/details/120467620 基于CopyQ进行修改 Co ...
- oracle定时备份详解,oracle数据定时备份
流程: 1.root用户登录linux服务器 2.mkdir -p /backup/oracledata #新建Oracle数据库备份目录 3.chown -R oracle:oinstall / ...
- Linux 平台下 RMAN 全备 和 增量备份 shell 脚本
一. 一些准备知识 Oracle 分归档和非归档模式. 这两者的区别就是对redo log的处理.归档模式下,当一个redo log 写满之后,就会把这个redo log里的内容写入归档文件,等写完之 ...
- linux定时任务每小时_在Linux平台下每5、10或15分钟执行一次定时任务(Cron Job)...
本文介绍如何在Linux平台下每5.10或15分钟运行一次cron命令,即执行一次定时任务(Cron Job). 前言 Cron job是按指定间隔执行的任务,可以将任务安排为按分钟,小时,每月的某天 ...
最新文章
- Nature Genetics:微生物如何适应植物的?
- easyui placeholder 解决方案
- Workbox-Window v4.x 中文版
- ModuleNotFoundError: No module named ‘torch.utils.serialization‘
- 执行脚本出现bin/bash: bad interpreter: No such file or d
- 彻底解决Python3写爬虫或网站时的乱码问题
- php元类,什么是元类-python编程入门系列图文教程-PHP中文网教程
- UE源码版本下载编译全流程
- 为什么不要去外包公司?
- 实时Javascript开发框架Clouda、Meteor、Firebase对比
- 选择退化特征时,利用单调性、鲁棒性、预测性三指标选择(附matlab代码)
- 汇编 bne 1b和bne 1f浅析
- [wirteup] unctf-web-can_you_hacked_me
- 51.com新版上线 正式推出开放平台
- python 列表作业
- 谷歌黑搜索怎么收_谷歌搜索持久的反黑种族主义
- AI软件视频生成工具 抖音蓝V运营小助手
- python opencv以MJPG读取usb摄像头
- 集训队每周一赛2020-03-06(思维+暴力)
- 信息安全管理(CISP)—— 信息安全管理