点击(此处)折叠或打开
-
run{
-
allocate channel d1 device type disk;
-
allocate channel d2 device type disk;
-
backup as compressed backupset DATABASE include CURRENT controlfile;
-
delete noprompt obsolete redundancy 1;
-
release channel d1;
-
release channel d2;
- }
可是在9i 中运行报错
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of delete command at 12/30/2013 13:51:36
RMAN-06091: no channel allocated for maintenance (of an appropriate type)
没有可用的维护通道,于是加入 ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk;
总是提示:
RMAN-00558: error encountered while parsing input commands
RMAN-01005: syntax error: found "for": expecting one of: "channel_id, double-quoted-string, identifier, single-quoted-string"
RMAN-01007: at line 5 column 18 file: standard input
查询官方文档明确指出: ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk; 是不包含在RUN块中的
-
Execute this command only at the RMAN prompt. This command cannot be used within a RUN block.
但是又不想写2个脚本。多次尝试,
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk; 这个放在RUN块之外,最底层,问题解决了
正确的脚本:
点击(此处)折叠或打开
-
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk;
-
run{
-
allocate channel d1 device type disk;
-
allocate channel d2 device type disk;
-
backup as compressed backupset DATABASE include CURRENT controlfile;
-
delete noprompt obsolete redundancy 1;
-
release channel d1;
-
release channel d2;
- }