写了一个备份脚本:其中备份完之后,删除过期备份,保证空间可用。
原本 在 oracle 10g下运行良好。
可是在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块中的
但是又不想写2个脚本。多次尝试,
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk; 这个放在RUN块之外,最底层,问题解决了
正确的脚本:
点击(此处)折叠或打开
-
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;
- }
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/501889/viewspace-1065726/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/501889/viewspace-1065726/
本文介绍了一种在Oracle数据库中进行备份并自动删除过期备份的方法。通过正确配置RMAN命令,确保了磁盘空间得到有效利用。文章解决了在Oracle 9i环境下因通道分配不当导致的错误,并提供了一份经过验证的备份脚本。
4015

被折叠的 条评论
为什么被折叠?



