【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环境的全备脚本的写法稍微有点不同,但是不同的场景处理方式有很多种,比如,若数据库比较大的话我们就应该采用增量备份了,所以应该学会灵活变通。 关于相关文章推荐
- 【RMAN】RMAN脚本中使用替换变量
- Oracle11g新特性:RMAN脚本中使用替换变量
- shell脚本之sed使用----替换、变量、转义字符
- sed替换中使用变量
- Linux Shell脚本系列教程(四):使用函数添加环境变量
- sed使用变量,替换掉第一行。
- bash脚本中变量的使用
- sed当中使用变量替换以及执行外部命令
- 犀牛脚本:使用正则替换指定目录下的文件名
- 使用内部变量,删除,替换,UNSET,等字符操作
- C#开发Unity游戏教程之使用脚本变量
- Linux Shell脚本应用——使用变量
- 提升python程序效率:使用局部变量替换模块变量
- 使用脚本创建环境变量
- 《使用shell位置变量进行目录文件的备份小脚本》
- BW Query替换路径变量的使用
- Linux命令行与shell脚本(13)--在函数中使用普通变量
- linux命令行与shell脚本大全_第五章_使用环境变量
- Python中可选的环境变量设置,Python中如何使用pdb调试脚本
- shell脚本学习第四天——bash内部变量,变量主串,变量替换