您的位置:首页 > 其它

【RMAN】RMAN脚本中使用替换变量

2015-05-27 14:56 288 查看
【RMAN】RMAN脚本中使用替换变量--windows 下rman全备脚本  

一.1  BLOG文档结构图

 

   

一.2  前言部分

 

一.2.1  导读

各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① windows 下rman全备脚本的写法(重点) ② 11g rman中run块中采用变量(亮点)       本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力。  

一.2.2  实验环境介绍

  目标库:11.2.0.1  windows XP    

一.2.3  相关参考文章链接

 
RMAN 备份恢复系列   
【TSPITR】RMAN表空间基于时间点的自动恢复  http://blog.itpub.net/26736162/viewspace-1671741/
【推荐】 【RMAN】rm -rf 误操作的恢复过程  http://blog.itpub.net/26736162/viewspace-1623938/ 
【推荐】 【RMAN】利用备份片还原数据库(中)-附加  http://blog.itpub.net/26736162/viewspace-1621938/ 
【推荐】 【RMAN】利用备份片还原数据库(下)  http://blog.itpub.net/26736162/viewspace-1621672/ 
【推荐】 【RMAN】利用备份片还原数据库(中)  http://blog.itpub.net/26736162/viewspace-1621661/ 
【推荐】 【RMAN】利用备份片还原数据库(上)  http://blog.itpub.net/26736162/viewspace-1621581/ 
【推荐】 【RMAN】RMAN跨版本恢复(下)  http://blog.itpub.net/26736162/viewspace-1562583/ 
【推荐】  Oracle 组件 系列 小结  http://blog.itpub.net/26736162/viewspace-1562441/ 
【推荐】 【RMAN】RMAN跨版本恢复(中)  http://blog.itpub.net/26736162/viewspace-1561352/ 
【推荐】 【RMAN】RMAN跨版本恢复(上)  http://blog.itpub.net/26736162/viewspace-1561185/ 
【推荐】  关于在不同版本和平台之间进行还原或复制的常见问题  http://blog.itpub.net/26736162/viewspace-1549041/ 
   
【推荐】 undo表空间文件丢失恢复(4)--无备份无recover的情况下恢复  http://blog.itpub.net/26736162/viewspace-1458787/ 
【推荐】 undo表空间文件丢失恢复(3)--无备份无redo的情况下恢复  http://blog.itpub.net/26736162/viewspace-1458750/ 
【推荐】 undo表空间文件丢失恢复(2)--无备份有redo的情况下恢复  http://blog.itpub.net/26736162/viewspace-1458663/ 
【推荐】 undo表空间文件丢失恢复(1)--有备份  http://blog.itpub.net/26736162/viewspace-1458654/ 
   
【推荐】 ORACLE 数据泵之NETWORK_LINK  http://blog.itpub.net/26736162/viewspace-1432591/ 
   
【推荐】 oracle控制文件在缺失归档日志的情况下的恢复  http://blog.itpub.net/26736162/viewspace-1426552/ 
【推荐】 ORACLE 只读数据文件备份与恢复  http://blog.itpub.net/26736162/viewspace-1425283/ 
   
【推荐】 热备下的测试库搭建  http://blog.itpub.net/26736162/viewspace-1405324/ 
   
【推荐】 oracle 异构平台迁移之传输表空间一例  http://blog.itpub.net/26736162/viewspace-1391913/ 
【推荐】 oracle 传输表空间一例  http://blog.itpub.net/26736162/viewspace-1375260/ 
   
【推荐】 利用rman来实现linux平台数据库复制到windows平台数据库  http://blog.itpub.net/26736162/viewspace-1352436/ 
【推荐】 直接复制数据文件实现linux平台数据库复制到windows平台数据库  http://blog.itpub.net/26736162/viewspace-1352243/ 
   
【推荐】 使用OEM复制数据库  http://blog.itpub.net/26736162/viewspace-1224865/ 
【推荐】 采用DUPLICATE 把asm数据库复制到文件系统  http://blog.itpub.net/26736162/viewspace-1224861/ 
Duplicating a Database Without Recovery Catalog or Target Connection  http://blog.itpub.net/26736162/viewspace-1223253/ 
【推荐】 Duplicating an Active Database  http://blog.itpub.net/26736162/viewspace-1223247/ 
   
   

一.2.4  本文简介

  Oracle 11g出了一个新特性,在windows环境下windows下创建定时任务[/b] XP下在:

   

    下边设置时间即可,需要启用如下服务方可,不然可能报错:   选用任务计划,添加任务计划,下一步,选择程序,下一步,执行任务的周期,下一步,下一步,输入密码,下一步,完成。问题就出在这里,它弹出一个对话框“已创建新任务,但可能不能运行,因为无法设置账户信息,指定的错误是:->右键->管理->服务!

       

一.4  实验部分

  安装上边的脚本部署好之后,等到约定的时间点就可以运行了,运行结果如下:   恢复管理器: Release 11.2.0.1.0 - Production on 星期三 5月 27 12:43:05 2015   Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.   连接到目标数据库: ORA11G (DBID=4275029574)   RMAN> run{ 2>         CONFIGURE CONTROLFILE AUTOBACKUP ON; 3>         CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'e:\rman_backup\ctlfile_autoback_%d_%F.bak'; 4> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS; 5> allocate channel c1 type disk;    6> allocate channel c2 type disk;  7> backup as compressed backupset skip inaccessible filesperset 5  full database  format 'e:\rman_backup\datafile_full_%d_%I_%U_%T.bak'  Database tag='bk_df_full_20150527' ;  8> sql 'alter system archive log current';   9> backup archivelog all format 'e:\rman_backup\arch_%d_%I_%e_%U_%T.bak'  tag='bk_arc_20150527'  skip inaccessible not  backed up 1 times  delete all input;   10> backup current controlfile format 'e:\rman_backup\ctlfile_%d_%I_%U_%T.bak'  tag='bk_ctlfile_20150527' ; 11> backup spfile  format='e:\rman_backup\spfile_%d_%I_%U_%T.bak' tag='bk_spfile_20150527'; 12> release channel c1;   13> release channel c2;  14> report obsolete; 15> crosscheck copy; 16> crosscheck archivelog all; 17> delete noprompt obsolete; 18> crosscheck backup; 19> delete noprompt expired backup; 20>  } 21> 使用目标数据库控制文件替代恢复目录 旧的 RMAN 配置参数: CONFIGURE CONTROLFILE AUTOBACKUP ON; 新的 RMAN 配置参数: CONFIGURE CONTROLFILE AUTOBACKUP ON; 已成功存储新的 RMAN 配置参数   旧的 RMAN 配置参数: CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'e:\rman_backup\ctlfile_autoback_%d_%F.bak'; 新的 RMAN 配置参数: CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'e:\rman_backup\ctlfile_autoback_%d_%F.bak'; 已成功存储新的 RMAN 配置参数   旧的 RMAN 配置参数: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS; 新的 RMAN 配置参数: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS; 已成功存储新的 RMAN 配置参数   分配的通道: c1 通道 c1: SID=40 设备类型=DISK   分配的通道: c2 通道 c2: SID=1 设备类型=DISK   启动 backup 于 2015-05-27 12:43:08 通道 c1: 正在启动压缩的全部数据文件备份集 通道 c1: 正在指定备份集内的数据文件 输入数据文件: 文件号=00001 名称=F:\APP\ORACLE\ORADATA\ORA11G\SYSTEM01.DBF 输入数据文件: 文件号=00004 名称=F:\APP\ORACLE\ORADATA\ORA11G\USERS01.DBF 通道 c1: 正在启动段 1 于 2015-05-27 12:43:09 通道 c2: 正在启动压缩的全部数据文件备份集 通道 c2: 正在指定备份集内的数据文件 输入数据文件: 文件号=00001 名称=F:\APP\ORACLE\ORADATA\ORA11G\SYSTEM01.DBF 输入数据文件: 文件号=00004 名称=F:\APP\ORACLE\ORADATA\ORA11G\USERS01.DBF 通道 c2: 正在启动段 1 于 2015-05-27 12:43:10 通道 c1: 已完成段 1 于 2015-05-27 12:44:05 段句柄=E:\RMAN_BACKUP\DATAFILE_FULL_ORA11G_4275029574_1QQ803ET_1_1_20150527.BAK 标记=TAG20150527T124309 注释=NONE 通道 c1: 备份集已完成, 经过时间:00:00:56 通道 c1: 正在启动压缩的全部数据文件备份集 通道 c1: 正在指定备份集内的数据文件 输入数据文件: 文件号=00002 名称=F:\APP\ORACLE\ORADATA\ORA11G\SYSAUX01.DBF 输入数据文件: 文件号=00005 名称=F:\APP\ORACLE\ORADATA\ORA11G\EXAMPLE01.DBF 输入数据文件: 文件号=00003 名称=F:\APP\ORACLE\ORADATA\ORA11G\UNDOTBS01.DBF 通道 c1: 正在启动段 1 于 2015-05-27 12:44:05 通道 c2: 已完成段 1 于 2015-05-27 12:44:05 段句柄=F:\APP\ORACLE\FLASH_RECOVERY_AREA\ORA11G\BACKUPSET\2015_05_27\O1_MF_NNNDF_BK_DF_FULL_20150527_BPBLV0NV_.BKP 标记=BK_DF_FULL_20150527 注释=NONE 通道 c2: 备份集已完成, 经过时间:00:00:55 通道 c2: 正在启动压缩的全部数据文件备份集 通道 c2: 正在指定备份集内的数据文件 输入数据文件: 文件号=00002 名称=F:\APP\ORACLE\ORADATA\ORA11G\SYSAUX01.DBF 输入数据文件: 文件号=00005 名称=F:\APP\ORACLE\ORADATA\ORA11G\EXAMPLE01.DBF 输入数据文件: 文件号=00003 名称=F:\APP\ORACLE\ORADATA\ORA11G\UNDOTBS01.DBF 通道 c2: 正在启动段 1 于 2015-05-27 12:44:08 通道 c1: 已完成段 1 于 2015-05-27 12:44:34 段句柄=E:\RMAN_BACKUP\DATAFILE_FULL_ORA11G_4275029574_1SQ803GL_1_1_20150527.BAK 标记=TAG20150527T124309 注释=NONE 通道 c1: 备份集已完成, 经过时间:00:00:29 通道 c2: 已完成段 1 于 2015-05-27 12:44:44 段句柄=F:\APP\ORACLE\FLASH_RECOVERY_AREA\ORA11G\BACKUPSET\2015_05_27\O1_MF_NNNDF_BK_DF_FULL_20150527_BPBLWWT7_.BKP 标记=BK_DF_FULL_20150527 注释=NONE 通道 c2: 备份集已完成, 经过时间:00:00:36 完成 backup 于 2015-05-27 12:44:44   启动 Control File and SPFILE Autobackup 于 2015-05-27 12:44:45 段 handle=E:\RMAN_BACKUP\CTLFILE_AUTOBACK_ORA11G_C-4275029574-20150527-05.BAK comment=NONE 完成 Control File and SPFILE Autobackup 于 2015-05-27 12:44:48   sql 语句: alter system archive log current   启动 backup 于 2015-05-27 12:44:49 当前日志已存档 通道 c1: 正在启动归档日志备份集 通道 c1: 正在指定备份集内的归档日志 输入归档日志线程=1 序列=14 RECID=9 STAMP=880807489 通道 c1: 正在启动段 1 于 2015-05-27 12:44:49 通道 c2: 正在启动归档日志备份集 通道 c2: 正在指定备份集内的归档日志 输入归档日志线程=1 序列=15 RECID=10 STAMP=880807489 通道 c2: 正在启动段 1 于 2015-05-27 12:44:49 通道 c1: 已完成段 1 于 2015-05-27 12:44:50 段句柄=E:\RMAN_BACKUP\ARCH_ORA11G_4275029574_14_1VQ803I1_1_1_20150527.BAK 标记=BK_ARC_20150527 注释=NONE 通道 c1: 备份集已完成, 经过时间:00:00:01 通道 c1: 正在删除归档日志 归档日志文件名=F:\APP\ORACLE\FLASH_RECOVERY_AREA\ORA11G\ARCHIVELOG\2015_05_27\O1_MF_1_14_BPBLY194_.ARC RECID=9 STAMP=880807489 通道 c2: 已完成段 1 于 2015-05-27 12:44:50 段句柄=E:\RMAN_BACKUP\ARCH_ORA11G_4275029574_15_20Q803I1_1_1_20150527.BAK 标记=BK_ARC_20150527 注释=NONE 通道 c2: 备份集已完成, 经过时间:00:00:01 通道 c2: 正在删除归档日志 归档日志文件名=F:\APP\ORACLE\FLASH_RECOVERY_AREA\ORA11G\ARCHIVELOG\2015_05_27\O1_MF_1_15_BPBLY1HZ_.ARC RECID=10 STAMP=880807489 完成 backup 于 2015-05-27 12:44:51   启动 backup 于 2015-05-27 12:44:52 通道 c1: 正在启动全部数据文件备份集 通道 c1: 正在指定备份集内的数据文件 备份集内包括当前控制文件 通道 c1: 正在启动段 1 于 2015-05-27 12:44:53 通道 c1: 已完成段 1 于 2015-05-27 12:44:54 段句柄=E:\RMAN_BACKUP\CTLFILE_ORA11G_4275029574_21Q803I4_1_1_20150527.BAK 标记=BK_CTLFILE_20150527 注释=NONE 通道 c1: 备份集已完成, 经过时间:00:00:01 完成 backup 于 2015-05-27 12:44:54   启动 backup 于 2015-05-27 12:44:54 通道 c1: 正在启动全部数据文件备份集 通道 c1: 正在指定备份集内的数据文件 备份集内包括当前的 SPFILE 通道 c1: 正在启动段 1 于 2015-05-27 12:44:54 通道 c1: 已完成段 1 于 2015-05-27 12:44:55 段句柄=E:\RMAN_BACKUP\SPFILE_ORA11G_4275029574_22Q803I6_1_1_20150527.BAK 标记=BK_SPFILE_20150527 注释=NONE 通道 c1: 备份集已完成, 经过时间:00:00:01 完成 backup 于 2015-05-27 12:44:55   启动 Control File and SPFILE Autobackup 于 2015-05-27 12:44:55 段 handle=E:\RMAN_BACKUP\CTLFILE_AUTOBACK_ORA11G_C-4275029574-20150527-06.BAK comment=NONE 完成 Control File and SPFILE Autobackup 于 2015-05-27 12:44:59   释放的通道: c1   释放的通道: c2   RMAN 保留策略将应用于该命令 将 RMAN 保留策略设置为 14 天的恢复窗口 未找到已废弃的备份   分配的通道: ORA_DISK_1 通道 ORA_DISK_1: SID=40 设备类型=DISK 说明与资料档案库中的任何数据文件副本都不匹配 说明与资料档案库中的任何控制文件副本都不匹配 说明与资料档案库中的任何归档日志都不匹配   释放的通道: ORA_DISK_1 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: SID=40 设备类型=DISK 说明与资料档案库中的任何归档日志都不匹配   RMAN 保留策略将应用于该命令 将 RMAN 保留策略设置为 14 天的恢复窗口 使用通道 ORA_DISK_1 未找到已废弃的备份   使用通道 ORA_DISK_1 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\DATAFILE_FULL_ORA11GXX_1GQ802IQ_1_1_20150527.BAK RECID=43 STAMP=880806490 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=F:\APP\ORACLE\FLASH_RECOVERY_AREA\ORA11G\BACKUPSET\2015_05_27\O1_MF_NNNDF_BK_DF_FULL_20150527_BPBKYWLF_.BKP RECID=44 STAMP=880806492 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\DATAFILE_FULL_ORA11GXX_1IQ802KI_1_1_20150527.BAK RECID=45 STAMP=880806547 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=F:\APP\ORACLE\FLASH_RECOVERY_AREA\ORA11G\BACKUPSET\2015_05_27\O1_MF_NNNDF_BK_DF_FULL_20150527_BPBL0T75_.BKP RECID=46 STAMP=880806551 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\CTLFILE_AUTOBACK_ORA11G_C-4275029574-20150527-03.BAK RECID=47 STAMP=880806585 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\ARCH_ORA11GXX_1LQ802LT_1_1_20150527.BAK RECID=48 STAMP=880806589 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\ARCH_ORA11GXX_1MQ802LT_1_1_20150527.BAK RECID=49 STAMP=880806589 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\CTLFILE_ORA11GXX_1NQ802LV_1_1_20150527.BAK RECID=50 STAMP=880806592 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\SPFILE_ORA11GXX_1OQ802M1_1_1_20150527.BAK RECID=51 STAMP=880806593 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\CTLFILE_AUTOBACK_ORA11G_C-4275029574-20150527-04.BAK RECID=52 STAMP=880806595 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\DATAFILE_FULL_ORA11G_4275029574_1QQ803ET_1_1_20150527.BAK RECID=53 STAMP=880807390 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=F:\APP\ORACLE\FLASH_RECOVERY_AREA\ORA11G\BACKUPSET\2015_05_27\O1_MF_NNNDF_BK_DF_FULL_20150527_BPBLV0NV_.BKP RECID=54 STAMP=880807392 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\DATAFILE_FULL_ORA11G_4275029574_1SQ803GL_1_1_20150527.BAK RECID=55 STAMP=880807446 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=F:\APP\ORACLE\FLASH_RECOVERY_AREA\ORA11G\BACKUPSET\2015_05_27\O1_MF_NNNDF_BK_DF_FULL_20150527_BPBLWWT7_.BKP RECID=56 STAMP=880807452 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\CTLFILE_AUTOBACK_ORA11G_C-4275029574-20150527-05.BAK RECID=57 STAMP=880807485 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\ARCH_ORA11G_4275029574_14_1VQ803I1_1_1_20150527.BAK RECID=58 STAMP=880807489 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\ARCH_ORA11G_4275029574_15_20Q803I1_1_1_20150527.BAK RECID=59 STAMP=880807489 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\CTLFILE_ORA11G_4275029574_21Q803I4_1_1_20150527.BAK RECID=60 STAMP=880807493 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\SPFILE_ORA11G_4275029574_22Q803I6_1_1_20150527.BAK RECID=61 STAMP=880807494 交叉校验备份片段: 找到为 'AVAILABLE' 备份片段句柄=E:\RMAN_BACKUP\CTLFILE_AUTOBACK_ORA11G_C-4275029574-20150527-06.BAK RECID=62 STAMP=880807496 已交叉检验的 20 对象     使用通道 ORA_DISK_1 说明与资料档案库中的任何备份都不匹配   恢复管理器完成。            

一.5  总结

  到此linux环境的全备脚本的写法稍微有点不同,但是不同的场景处理方式有很多种,比如,若数据库比较大的话我们就应该采用增量备份了,所以应该学会灵活变通。 关于
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: