Friday, May 13, 2016

double-quoted not accept in 10g rman, but not 11g

In my cold backup shell script, there is below line, which works fine in 11g.

A double quote inside single quote , to pass ORACLE_HOME path  to &1 of cold_backup.rman

${ORACLE_HOME}/bin/rman target /  cmdfile='./cold_backup.rman "/software/oraabc/product/11.2.0"' log=$logfile <>$logfile 2>&1
connect catalog rman/xxxxxx@RCAT1
EOF

But it is giving me below error , when running for 10g database.


Both single and double quotes (' or ") are accepted for a quoted-string.
Quotes are not required unless the string contains embedded white-space.

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00552: syntax error in command line arguments
RMAN-01009: syntax error: found "double-quoted-string": expecting one of: "append, at, auxiliary, catalog, cmdfile, clone, checksyntax, debug, log, msglog, mask, msgno, nocatalog, pipe, rcvcat, script, slaxdebug, send, target, timeout, trace"
RMAN-01007: at line 0 column 52 file: command line arguments
Recovery Manager: Release 10.2.0.2.0 - Production on Wed May 11 15:57:27 2016

This is a funny finding.