CentOS6.4-RMAN定时任务备份 on 11GR2
1、rman备份脚本位置:
/home/oracle
./scripts/
./bin -----存放rman脚本
./log -----存放定时任务执行日志
2、/bin脚本规划:
rmancfg.sh | rman参数配置脚本 | 执行一次即可 |
inc0.sh | rman零级备份 | 备份路径参数 |
inc1.sh | rman一级备份 | 备份路径参数 |
inc0cron.sh | 零级备份定时脚本 | oracle环境变量 |
inc1cron.sh | 一级备份定时脚本 | oracle环境变量 |
del.sh | 删除过期备份数据 | |
delcron.sh | 过期备份校验删除定时脚本 | oracle环境变量 |
3、rman脚本内容
将用到的环境变量添加到oracle用户的.bash_profile,
在后面cron脚本中source ~/.bash_profile即可。
vi ./bin/profile.env
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
export rman_bakpath=/rman/bak
export dt=`date +"%y%m%d%H%M"`
export days=15
export catlu=rmanbak
export catlp=rmanbak
======================================================================================================
./inc0.sh (使用catalog库存放备份信息)
rman target / catalog $catlu/$catlp << EOF
run{
backup as compressed backupset incremental level 0 database format '$rman_bakpath/%d_level0_%s_%Y%M%D.bak';
sql 'alter system archive log current';
backup as compressed backupset archivelog all format '$rman_bakpath/%d_arch_%s_%Y%M%D_%U.bak' delete all input;
backup as compressed backupset current controlfile format '$rman_bakpath/%d_control_%s_%Y%M%D_%U.bak';
}
EOF
======================================================================================================
./inc1.sh (使用catalog库存放备份信息)
rman target / catalog $catlu/$catlp << EOF
run{
backup as compressed backupset incremental level 1 database format '$rman_bakpath/%d_level1_%s_%Y%M%D.bak';
sql 'alter system archive log current';
backup as compressed backupset archivelog all format '$rman_bakpath/%d_arch_%s_%Y%M%D_%U.bak' delete all input;
backup as compressed backupset current controlfile format '$rman_bakpath/%d_control_%s_%Y%M%D_%U.bak';
}
EOF
======================================================================================================
./del.sh
rman target / catalog $catlu/$catlp << EOF
run{
crosscheck archivelog all;
crosscheck backup;
delete noprompt expired backup;
delete noprompt expired archivelog all;
delete noprompt obsolete;
delete noprompt archivelog until time 'sysdate-$days';
delete noprompt backup until time 'sysdate-$days';
}
EOF
=====================================================================================================
4、crontab定时任务脚本内容
./inc0cron.sh
source ~/.bash_profile
cd /home/oracle/scripts/bin/ && ./inc0.sh > ../log/inc0_$dt.log
----------------------------------------------------------------------------------------------------------------------------------------
./inc1cron.sh
source ~/.bash_profile
cd /home/oracle/scripts/bin/ && ./inc1.sh > ../log/inc1_$dt.log
----------------------------------------------------------------------------------------------------------------------------------------
./delcron.sh
source ~/.bash_profile
cd /home/oracle/scripts/bin/ && ./del.sh > ../log/del_$dt.log
----------------------------------------------------------------------------------------------------------------------------------------
./rmancfg.sh 这个脚本手工执行一次即可。无需source ~/.bash_profile
cat ~/scripts/bin/profile.env >> ~/.bash_profile
cores=(`lscpu | grep "^CPU(s)"|awk {'print $2'}`)
if [ $cores -gt 16 ]; then
cores=16
fi
rman target / << EOF
run{
CONFIGURE DEVICE TYPE DISK PARALLELISM $cores BACKUP TYPE TO BACKUPSET;
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF $days DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
}
EOF
----------------------------------------------------------------------------------------------------------------------------------------
5、su - oracle 添加定时任务
$crontab -e
30 23 */14 * * /home/oracle/scripts/bin/inc0cron.sh
30 23 * * 5 /home/oracle/scripts/bin/inc1cron.sh
0 0 */15 * * /home/oracle/scripts/bin/delcron.sh
----------------------------------------------------------------------------------------------------------------------------------------
oracle用户的定时任务:
cron定时任务程序只是用oracle用户来执行脚本,而并未登录到oracle用户,
因此,需要在脚本中source好oracle用户环境变量。否则定时任务无法执行。
./*.sh是fork的方法,source *.sh和. *sh(点加空格加脚本文件)是source的方法。
执行子级命令后继续执行父级命令,同时子级设置的环境变量会影响到父级的环境变量。
source与fork的区别是不新开一个sub-shell来执行被调用的脚本,而是在同一个shell中执行.
所以被调用的脚本中声明的变量和环境变量, 都可以在主脚本中得到和使用.
调试执行计划任务过程中,可使用tail -f /var/spool/mail/oracle监控执行计划任务报错信息。
注意:~/scripts/bin/profile.env需要根据实际环境进行配置。
转:http://m.blog.csdn.net/article/details?id=52537568
CentOS6.4-RMAN定时任务备份 on 11GR2的更多相关文章
- Windows Server系统定时任务备份ORACLE数据库
Windows Server系统定时任务备份ORACLE数据库 一.编辑备份脚本 RMAN备份数据库 1.在备份脚本目录下,创建bat文件db_rman.bat set ORACLE_SID=orcl ...
- oracle11gRAC环境使用RMAN增量备份方案
转摘:http://blog.itpub.net/29819001/viewspace-1320977/ [oracle@zx ~]$ rman target /Recovery Manager: R ...
- 中小型数据库 RMAN CATALOG 备份恢复方案(二)
中小型数据库呈现的是数据库并发少,数据库容量小,版本功能受限以及N多单实例等特点.尽管如此,数据库的损失程度也会存在零丢失的情形.企业不愿意花太多的钱又要保证数据库的可靠稳定,可是苦煞了我这些搞DB的 ...
- RMAN简单备份
检查目标数据库是否处于归档模式: . 检查数据库模式: sqlplus /nolog conn /as sysdba archive log list (查看数据库是否处于归档模式中) 若为非归档,则 ...
- RMAN增量备份-备份保留策略-设置备份集属性
RMAN增量备份:增量备份级别:0,1,2,3,4BACKUP DATABASE也是创建数据库的完整备份,但是这种备份不同于增量备份的0级备份.这种备份不包含增量备份的0级备份,并不支持在此基础上再创 ...
- OCP读书笔记(5) - 使用RMAN创建备份
5.Creating Backups with RMAN 创建备份集 RMAN> backup as backupset format '/u01/app/oracle/backup/rmanb ...
- Oracle Rman 控制RMAN的备份时间,减少IO消耗
一.问题描述 由于服务器配置不高,备份策略为周末全备.周一至周六差异备份. 平时服务器CPU使用30%左右. 全备份时,开启两个通道,CPU达到70%-80%左右,业务不卡顿.不掉单,session不 ...
- RMAN删除备份
删除备份--DELETE命令 用于删除RMAN备份记录及相应的物理文件.当使用RMAN执行备份操作时,会在RMAN资料库(RMAN Repository)中生成RMAN备份记录,默认情况下RMAN备份 ...
- Oracle Rman 增量备份与差异备份
一.增量与差异 关于Incremental增量备份级别: Oracle 9i 共有五种级别 0 1 2 3 4,0级最高-4级最低,0级是1级的基础以此类推. Oracle 10g官方文档明确指出增量 ...
随机推荐
- Mahout0.9的安装与测试
最近想实协同过滤的MR算法,但是网上查了一下,发现hadoop的生态系统中的Mahout的项目已经实现了相应的算法,因此想先尝试着实时这个mahout的使用及效果.要想用mahout必须要部署到had ...
- iOS NSDictionary、NSData、JSON数据类型相互转换
iOS经常需要用到数据类型的转换,下面列举一下常用类型的转换. 1.NSDictionary类型转换为NSData类型: //NSDictionary -> NSData: NSDictiona ...
- linux基础命令学习(四)计划任务
一.计划任务 crond服务简介 linux任务调度的工作主要分为以下两类: *系统执行的工作:系统周期性所要执行的工作,如备份系统数据.清理缓存 *个人执行的工作:某个用户定期要做的工作,例如每隔1 ...
- UITableView错误 ‘unable to dequeue a cell with identifier Cell'
- (id)dequeueReusableCellWithIdentifier:(NSString *)identifier; - (id)dequeueReusableCellWithIdentif ...
- Redis - 密码配置和主从复制
使用config set命令修改requirepass参数配置Redis密码config set requirepass password 也可以通过配置文件修改密码,重启后生效. 克隆虚拟机,分别运 ...
- css 时钟
(转自:http://www.cnblogs.com/Wenwang/archive/2011/09/21/2184102.html) <!DOCTYPE html> <html l ...
- IOS7新特性 edgesForExtendedLayout
edgesForExtendedLayout是一个类型为UIExtendedEdge的属性,指定边缘要延伸的方向. 因为iOS7鼓励全屏布局,它的默认值很自然地是UIRectEdgeAll,四周边缘均 ...
- VS2010单元测试
编号:1016时间:2016年5月26日09:35:27功能:VS2010单元测试URL :http://blog.csdn.net/tjvictor/article/details/6175362
- 【题解】【链表】【Leetcode】Add Two Numbers
You are given two linked lists representing two non-negative numbers. The digits are stored in rever ...
- MapBox TileMill
TileMill 学习网站: Walkthrough: Creating tiles with Mapnik using TileMill TileMill 快速入门 Cartography With ...