【RMAN】RMAN脚本中使用替换变量--windows 下rman全备脚本

【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出了一个新特性,在RMAN脚本中使用替换变量,这是一个非常有用的特点,找到这么一篇文章:

Creating Dynamic Command Files
Problem
You want to create dynamic command files that can be used for multiple jobs by passing substitution variables.
Solution
You can create dynamic shell scripts by using substitution variables in the RMAN command
files inside the shell scripts. You can specify values for use in substitution variables through
the new using clause when calling an RMAN command file. You use the &integer syntax (&1,
&2, and so on) to indicate to which variable your substitution values should be assigned, just
as in SQL*Plus.
Let’s review an example that shows how to create a dynamic backup shell script.
1. Create the RMAN command file that uses two substitution variables:
#backup.cmd
connect target sys/@prod1
run {
backup database
tag &1
format &2
}
exit;
The command file shown here will back up the database using two substitution variables (&1 and &2), one for the backup tag and the other for the string value in the
format specification.
2. Create the shell script to run the backup command file you created in step 1:
#!/bin/tcsh
# script name: nightly_backup.sh
set tag=$argv(1)
set format=$argv[2]
rman @backup.cmd using $tag $format
3. Now that you have created a dynamic shell script, you can specify the arguments for
the tag and format variables on the command line, thus being able to modify them for
different jobs. Here’s an example:
$ nightly_backup.sh longterm_backup back0420
The example shows how to execute the shell script nightly_backup.sh with two dynamic
parameters, longterm_backup (tag) and back0420 (format string).

How It Works
The ability to use substitution variables in RMAN scripts is new in Oracle Database 11g. The
use of substitution variables in RMAN scripts is similar to the way you specify substitution
variables in operating system and SQL*Plus scripts. Specifying substitution variables lets you
use the same command file by modifying it appropriately for different backup tasks, thus
making the command file dynamic.

 

 

一.3  相关知识点扫盲

 

都是很基础的内容,没啥说的,直接贴我的脚本:

 

一.3.1  我的windows环境下rman全备脚本

Windows 下RMAN备份脚本,比较简单。

 

 

 1、创建文件 call_full_backup.sql ,内容如下

 

 

run{

        CONFIGURE CONTROLFILE AUTOBACKUP ON;

        CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'e:\rman_backup\ctlfile_autoback_%d_%F.bak';

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;

allocate channel c1 type disk;   

allocate channel c2 type disk; 

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_&1' ; 

sql 'alter system archive log current';  

backup archivelog all format 'e:\rman_backup\arch_%d_%I_%e_%U_%T.bak'  tag='bk_arc_&1'  skip inaccessible not  backed up 1 times  delete all input;  

backup current controlfile format 'e:\rman_backup\ctlfile_%d_%I_%U_%T.bak'  tag='bk_ctlfile_&1' ;

backup spfile  format='e:\rman_backup\spfile_%d_%I_%U_%T.bak' tag='bk_spfile_&1';

release channel c1;  

release channel c2; 

report obsolete;

crosscheck copy;

crosscheck archivelog all;

delete noprompt obsolete;

crosscheck backup;

delete noprompt expired backup;

}

 

 

2、新建bat文件full_backup.bat,内容如下:

 

SET ORACLE_SID=ORA11G

SET ORACLE_HOME=F:\app\oracle\product

SET PATH=%ORACLE_HOME%\BIN

set MYDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%

SET NLS_DATE_FORMAT=YYYY-MM-DD HH24:mi:ss

 

rman target / cmdfile='f:\rman_backup\call_full_backup.sql' log='e:\rman_backup\log\rman_full_backup_%MYDATE%.log' using %MYDATE%

 

 

3、把上述创建的两个文件存放在相对应的路径,然后在系统新建计划任务执行full_backup.bat文件即可。

 

4、windows下创建定时任务

XP下在:

 

 

 

 

下边设置时间即可,需要启用如下服务方可,不然可能报错:

 

选用任务计划,添加任务计划,下一步,选择程序,下一步,执行任务的周期,下一步,下一步,输入密码,下一步,完成。问题就出在这里,它弹出一个对话框“已创建新任务,但可能不能运行,因为无法设置账户信息,指定的错误是:0x80041315:任务计划程序服务没有运行” 

 

 

 

我的电脑->右键->属性->管理->服务和应用程序->服务->Task Scheduler->启用该服务然后应该就可以添加任务计划了吧!

 

 

 

 

一.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  总结

 

到此windows环境下的全备脚本已经处理完毕,至于linux环境的全备脚本的写法稍微有点不同,但是不同的场景处理方式有很多种,比如,若数据库比较大的话我们就应该采用增量备份了,所以应该学会灵活变通。

关于rman备份时的脚本写法有很多注意的地方,参考博森瑞老师的视频讲解: http://yunpan.cn/QCwUAI9bn7g7w  提取码:af2d 

 

 

 

一.6  about me

 

...........................................................................................................................................................................................

本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

ITPUB BLOG:http://blog.itpub.net/26736162

本文地址:http://blog.itpub.net/26736162/viewspace-1673725/

本文pdf版:http://yunpan.cn/QCwUAI9bn7g7w  提取码:af2d

QQ:642808185 若加QQ请注明你所正在读的文章标题

创作时间地点:2015-05-27 10:00~ 2015-05-27 15:00 于外汇交易中心

...........................................................................................................................................................................................

 

 

时间: 2024-09-22 07:49:44

【RMAN】RMAN脚本中使用替换变量--windows 下rman全备脚本的相关文章

在Oracle 9i isqlplus中使用替换变量

oracle|变量 通过替换变量可以方便地达到创建通用脚本地目的,看看如下代码:INSERT INTO Employees(emp_name, emp_age, emp_dept) VALUES ('&empname', &empage, &empdept)通过"&"加标识符代表地即为替换变量,注意如果列的数据类型为字符或日期型,则应用单引号括起替换变量.当执行时isqlplus会询问三个替换变量地值,如果将此语句保存为脚本,便可提高工作效率.

Windows下bat批处理脚本使用telnet批量检测远程端口小记_DOS/BAT

多年没写过批处理了,来新公司的第一个case却是需要写一个bat脚本,批量更新采集agent的配置文件,其中就涉及到远程IP的端口检测. 本以为会和Linux一样可以简单判断: 复制代码 代码如下: echo q|telnet -e 'q' $ip $port && echo "$ip:port 通"||echo "$ip:port 不通" 结果发现Windows下面telnet退出并没有执行结果的返回值: 一.借助工具 于是我优先开启懒人法则,找其

深入理解Python中的ThreadLocal变量(下)

在上篇我们看到了 ThreadLocal 变量的简单使用,中篇对python中 ThreadLocal 的实现进行了分析,但故事还没有结束.本篇我们一起来看下Werkzeug中ThreadLocal的设计. Werkzeug 作为一个 WSGI 工具库,由于一些方面的考虑,并没有直接使用python内置的ThreadLocal类,而是自己实现了一系列Local类.包括简单的Local,以及在此基础上实现的LocalStack,LocalManager 和 LocalProxy.接下来我们一起来看

linux脚本-linux同时执行一个目录下的所有脚本。

问题描述 linux同时执行一个目录下的所有脚本. linux同时执行一个目录下的所有脚本,我使用的是下面的命令: #!/system/bin/sh for file in ls /data/misc/scripttest/*.sh do $file done 这样的话可以执行所有的脚本,但是他是等前面一个脚本执行完成之后才执行后面一个的,怎么样写才能让这个目录下的所有脚本同时被执行呢?谢谢 解决方案 linux中,命令后面加上取地址符'&',表示此条命令在当前登录用户中转入后台执行.如果当前登

php中preg_replace替换变量指定字符例子

preg_replace字符替换例子 这里介绍三种常用方法.  代码如下 复制代码 方法一: <?php $str = preg_quote('(银子)'); $txt = '我的呢称(银子)'; echo preg_replace("/($str)/","<span style='color:#f00;'>$1</span>",$txt); ?> 方法二: <?php $str = quotemeta('(银子)'); $

Windows下编写批处理脚本来启动和重置Oracle数据库_oracle

cmd启动Oracle数据库新建一个bat文件,复制内容进去,双击即可启动. @echo off net start OracleXETNSListener 2>nul net start OracleServiceXE 2>nul @oradim -startup -sid XE -starttype inst > nul 2>&1 Oracle重置数据库命令新建bat文件,复制以下内容,然后执行. @echo off REM REM The script assumes

Shell脚本中调用、引用、包含另外一个脚本文件的两种方法_linux shell

脚本 first (测试示例1) 复制代码 代码如下: #!/bin/bash echo 'your are in first file'  问)在当前脚本文件中调用另外一个脚本文件? 方法一: 使用 source 脚本 second (测试示例2) 复制代码 代码如下: #!/bin/bash echo 'your are in second file' source first 方法二: 使用 . 脚本 second (测试示例3) 复制代码 代码如下: #!/bin/bash echo '

如何在shell脚本中使用变量

如何在shell脚本中使用变量 在每种编程语言中,变量都扮演了一个重要的角色.在Linux shell脚本编程中,我们使用两种类型的变量:系统定义的变量和用户定义的变量. shell脚本中的变量是用来调用一个数值或者字符值的手段.与正规的编程语言不同的是,shell脚本不要求你去为变量声明一个类型. 在本文中,我们将讨论shell脚本编程中的变量及其类型,以及如何设置和使用这些变量. 系统定义的变量: 这些变量由操作系统(Linux)自身创建并维护,通常它们以大写字母定义,我们可以通过命令"$

Visual Studio 2008 、 Windows 环境变量介绍 和 如何在文件中引用环境变量 .

Visual Studio 2008  和 Windows 环境变量对设置 相对路径很重要,这样便于代码的移植,即使换一台计算机,代码不用更改配置,直接就能用. 可以在项目的"工具""属性页"对话框中任何接受字符串的位置使用这些宏.这些宏不区分大小写.  关于如何自己定义环境变量详见我的另一文章:http://blog.csdn.net/jtop0/article/details/7574139     宏 说明 $(RemoteMachine) 在"调试