Oracle 11g新特性:RMAN脚本中使用替换变量


Oracle 11g出了一个新特性,在RMAN脚本中使用替换变量。今天我在服务器端做了个小实验,尝试了下这个特性,虽然出了一些错,不过都解决啦!感觉这个特性还是不错的,下面进入正题。
 
1.创建放脚本和备份文件的目录
 
$cd /u01
 
$mkdir -p oraclescripts/backup/dynamic
 
$mkdir /u01/backupfiles
 
2.创建相关脚本
 
$cd /u01/oraclescripts/backup/dynamic
 
$vi backup.cmd
 
加入下面命令: 

#backup.cmd
connect target /
run{
backup datafile 5
tag=&1
format '&2';
}
exit;

这是一个RMAN命令,一会用shell脚本来调用它,下面创建shell脚本:

$vi nightly_backup.sh
 
加入下面命令:

#!/bin/bash

tag=$1
format=$2
rman @backup.cmd using $tag $format

OK,我们去执行这个shell脚本,

$sh nightly_backup.sh testtag \'/u01/backupfiles/file5.bk\'
 
我用两个参数,第一个是Tag,第二个是要备份的路径。shell脚本取到两个参数后,在执行@backup.cmd时,把这两个参数传入到&1和&2,我这个实验是备份5号数据文件,大家可以自定义备份策略。
 
这个实验虽小,可我做得也是困难重重,google了好几遍,比如传参时,要用\转义,tag后要加=号等等,总之,实验虽小,但学到了很多,这里我分享给大家,希望对新手有帮助。我的参考资料是《RMAN Recipes for Oracle Database 11g》中的第四章第10节。

RMAN Recipes for Oracle Database 11g pdf下载见

相关内容