16.3.2 存储脚本的用法
在对数据库进行备份或恢复时,往往需要执行多条命令,而且每次备份可能都需要执行同样的命令。为了减少输入命令的工作量,同时为了减少输入的错误,我们可以把这些命令组合为一个存储脚本。存储脚本的功能类似于数据库中的存储过程,它存储在CATALOG数据库中,可以被反复调用。为了使用存储脚本,首先需要在RMAN中创建它。例如,下面的代码是创建存储脚本的例子,这个脚本的功能是利用磁盘通道对数据库进行0级备份。
RMAN>CREATE SCRIPT db_0_backup
{
allocate channel ch1 device type disk;
backup incremental level 0 database format'/home/oracle/%t_%s';
sql'alter system archive log current';
release channel ch1;
}
以后只要对数据库进行0级备份,就可以调用这个存储脚本。调用的格式如下:
RMAN>RUN{
execute script db_0_backup;
}
在创建存储脚本时,也可以把CREATE命令中一对花括号之间的命令放在一个操作系统的文本文件中,然后在CREATE命令中指定这个文本文件。例如:
RMAN>CREATE SCRIPT db_0_backup
FROM FILE'/tmp/my_script.txt';
存储脚本的名称和代码都存储在CATALOG数据库中。通过LIST命令,可以列出所有存储脚本的名称。例如:
RMAN>LIST SCRIPT NAMES;
RMAN>LIST ALL SCRIPT NAMES;
通过PRINT命令可以查看存储脚本的代码,还可以把存储脚本的代码重定向到操作系统的文本文件中。例如:
RMAN>PRINT SCRIPT db_0_backup;
RMAN>PRINT SCRIPT db_0_backup TO FILE'/home/oracle/my_script.txt';
通过DELETE命令,可以删除不再使用的存储脚本。例如:
RMAN>DELETE SCRIPT db_0_backup;