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的更多相关文章

  1. Windows Server系统定时任务备份ORACLE数据库

    Windows Server系统定时任务备份ORACLE数据库 一.编辑备份脚本 RMAN备份数据库 1.在备份脚本目录下,创建bat文件db_rman.bat set ORACLE_SID=orcl ...

  2. oracle11gRAC环境使用RMAN增量备份方案

    转摘:http://blog.itpub.net/29819001/viewspace-1320977/ [oracle@zx ~]$ rman target /Recovery Manager: R ...

  3. 中小型数据库 RMAN CATALOG 备份恢复方案(二)

    中小型数据库呈现的是数据库并发少,数据库容量小,版本功能受限以及N多单实例等特点.尽管如此,数据库的损失程度也会存在零丢失的情形.企业不愿意花太多的钱又要保证数据库的可靠稳定,可是苦煞了我这些搞DB的 ...

  4. RMAN简单备份

    检查目标数据库是否处于归档模式: . 检查数据库模式: sqlplus /nolog conn /as sysdba archive log list (查看数据库是否处于归档模式中) 若为非归档,则 ...

  5. RMAN增量备份-备份保留策略-设置备份集属性

    RMAN增量备份:增量备份级别:0,1,2,3,4BACKUP DATABASE也是创建数据库的完整备份,但是这种备份不同于增量备份的0级备份.这种备份不包含增量备份的0级备份,并不支持在此基础上再创 ...

  6. OCP读书笔记(5) - 使用RMAN创建备份

    5.Creating Backups with RMAN 创建备份集 RMAN> backup as backupset format '/u01/app/oracle/backup/rmanb ...

  7. Oracle Rman 控制RMAN的备份时间,减少IO消耗

    一.问题描述 由于服务器配置不高,备份策略为周末全备.周一至周六差异备份. 平时服务器CPU使用30%左右. 全备份时,开启两个通道,CPU达到70%-80%左右,业务不卡顿.不掉单,session不 ...

  8. RMAN删除备份

    删除备份--DELETE命令 用于删除RMAN备份记录及相应的物理文件.当使用RMAN执行备份操作时,会在RMAN资料库(RMAN Repository)中生成RMAN备份记录,默认情况下RMAN备份 ...

  9. Oracle Rman 增量备份与差异备份

    一.增量与差异 关于Incremental增量备份级别: Oracle 9i 共有五种级别 0 1 2 3 4,0级最高-4级最低,0级是1级的基础以此类推. Oracle 10g官方文档明确指出增量 ...

随机推荐

  1. 微软TechEd2013大会将在北京、上海召开!

    微软TechEd2013大会将在北京.上海召开 大家期盼已久的微软TechEd2013大会终于到来了! 我公司依旧是微软公司指定票商 ,继续为您提供最最优质的售前咨询.最最完善的售后服务! 微软Tec ...

  2. pl/sql Developer 9注册码

    Product Code:46jw8l8ymfmp2twwbuur8j9gv978m2q2duserial Number:307254password:xs374ca

  3. .NET的语法优化

    1.多参数 判断 条件 //判断 var fileKey = new { DateStart = search.DateStart.IsNull(), //关开始时间 DateEnd = search ...

  4. 为什么web标准中无法设置IE浏览器滚动条颜色了?

    <!doctype html><html> <head> <meta charset="UTF-8"> <meta name= ...

  5. 四则运算<3>

    //李妍 2015.3.12 //四则运算新 #include<iostream> #include<fstream> #include<iomanip> #inc ...

  6. nno_setup制作升级包必须面临的几个问题 2

    这两天的时间一直在制作应用程序的升级包,期间碰到一些问题这里一并记录下来,相信这是制作升级包必须面临和解决的问题: 1. 升级包安装程序如何不再产生新的安装.卸载程序 Inno_setup中AppId ...

  7. 《JS高程》创建对象的7种方式(完整版)

    一.理解对象 ECMA-262定义对象:无序属性的集合,其属性可以包含基本值.对象或者属性. 我们可以把 ECMAScript 的对象想象成 散列表:无非就是一组 名值对,其中值可以是数据或函数. 创 ...

  8. dedecms 列表每隔6行输出一个空li

    {dede:list pagesize='33'} <li class="hang"><a href="[field:arcurl/]" ta ...

  9. JAVA 遍历文件夹下的所有文件

    JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...

  10. wxPython

    wxPython是python GUI的工具箱. 一, 安装 http://wiki.wxpython.org/How%20to%20install%20wxPython 稳定的wxpython 需要 ...