使用双引号是不行的,HP UNIX下用的是单引号,RMAN里单独执行这段脚本是没错的
run{
allocate channel c1 type DISK connect 'sys/sys@kmer1';
allocate channel c2 type DISK connect 'sys/sys@kmer2';
delete noprompt archivelog until time 'sysdate-1';
release channel c1;
release channel c2;
}
放到SEHLL里面就出错
su - oracle -c '
rman target / <
run{
allocate channel c1 type DISK connect 'sys/sys@kmer1';
allocate channel c2 type DISK connect 'sys/sys@kmer2';
delete noprompt archivelog until time 'sysdate-1';
release channel c1;
release channel c2;
}
exit
EOF
'
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found "identifier": expecting one of: "double-quoted-string, equal, single-quoted-string"
RMAN-01008: the bad identifier was: sysdate
RMAN-01007: at line 4 column 39 file: standard input
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01006: error signalled during parse
RMAN-02001: unrecognized punctuation symbol "-"
[本帖最后由 wwwlh 于 2009-2-28 08:34 编辑]
本文探讨了在HPUNIX环境下使用RMAN进行数据库管理时遇到的问题。具体表现为RMAN脚本在直接执行时正常工作,但在shell脚本中调用时出现语法错误。文中详细记录了错误信息及可能的原因。
1208

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



