RMANのUSING句をいじっていますが、機能しないようです。これが私のRMANコマンドです:
rman target username/password @${RMAN_DIR}/backup.rman using "db1"
それを実行すると(二重引用符、一重引用符、引用符なし、パラメーターを使用)、以下のエラーが発生します。
Linux上のOracle11.2.0.4を使用しています。
Argument Value Description
-----------------------------------------------------------------------------
target quoted-string connect-string for target database
catalog quoted-string connect-string for recovery catalog
nocatalog none if specified, then no recovery catalog
cmdfile quoted-string name of input command file
log quoted-string name of output message log file
trace quoted-string name of output debugging message log file
append none if specified, log is opened in append mode
debug optional-args activate debugging
msgno none show RMAN-nnnn prefix for all messages
send quoted-string send a command to the media manager
pipe string building block for pipe names
timeout integer number of seconds to wait for pipe input
checksyntax none check the command file for syntax errors
-----------------------------------------------------------------------------
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 "db1": expecting one of: "double-quoted-string, identifier, integer, single-quoted-string"
RMAN-01007: at line 2 column 1 file: command line arguments
コマンドがrman
に到達する前に、Linuxシェルが二重引用符を解釈している必要があります。二重引用符をエスケープします。
rman target username/password @${RMAN_DIR}/backup.rman using \"db1\"
または、コマンドを一重引用符で囲んで、シェルがコマンドを混乱させないようにします。
rman target username/password @${RMAN_DIR}'/backup.rman using "db1"'
後者の場合、シェルに拡張させたいので、引用符で囲まれたコマンドの外に環境変数を残す必要がありますdo。