RMAN-01009: syntax error: found "dot" 解决办法

简介: RMAN-01009: syntax error: found "dot" 解决方法  今天调试一个RMAN 的备份脚本,这个脚本以前也用过很多次,并没有什么问题,今天执行时,就是过不去。
RMAN-01009: syntax error: found "dot" 解决方法

  今天调试一个RMAN 的备份脚本,这个脚本以前也用过很多次,并没有什么问题,今天执行时,就是过不去。

  操作系统:Redhat 5.8

  数据库:11.2.0.3

  错误如下:

  RMAN-00571:===========================================================

  RMAN-00569: =============== ERROR MESSAGESTACK FOLLOWS ===============

  RMAN-00571:===========================================================

  RMAN-00552: syntax error in command linearguments

  RMAN-01009: syntax error:found "dot": expecting one of: "double-quoted-string,identifier, single-quoted-string, "

  RMAN-01007: at line 2 column 1 file:command line arguments

  这个错误,提示在第二行有问题。

  根据MOS 文档[ID427224.1]的说明:

  How to check for correct RMAN syntax [ID427224.1]

  我们也可以使用rman checksyntax 命令检查RMAN 脚本的语法问题。

  如下:

  [oracle@rac1 scripts]$ rman checksyntaxrman.sh

  Argument    Value          Description

  -----------------------------------------

  target      quoted-string  connect-string fortarget database

  catalog     quoted-string  connect-string forrecovery catalog

  nocatalog   none           if specified, thenno recovery catalog

  cmdfile     quoted-string  name of inputcommand file

  log         quoted-string  name of outputmessage log file

  trace       quoted-string  name of outputdebugging message log file

  append      none           if specified, logis opened in append mode

  debug       optional-args  activate debugging

  msgno       none           show RMAN-nnnnprefix for all messages

  send        quoted-string  send a command tothe media manager

  pipe        string         building block forpipe names

  timeout     integer        number of secondsto wait for pipe input

  checksyntax none           check the commandfile for syntax errors

  -----------------------------------------

  Both single and double quotes (' or ")are accepted for a quoted-string.

  Quotes are not required unless the stringcontains embedded white-space.

  RMAN-00571:===========================================================

  RMAN-00569: =============== ERROR MESSAGESTACK FOLLOWS ===============

  RMAN-00571:===========================================================

  RMAN-00552: syntax error in command linearguments

  RMAN-01009: syntax error: found"rman": expecting one of: "append, auxiliary, catalog,checksyntax, cmdfile, log, msgno, nocatalog, pipe, script, send, target,timeout, using, @, ;"

  RMAN-01007: at line 2 column 1 file:command line arguments

  RMAN 脚本的开始一段内容如下:

  #!/bin/ksh

  export LANG=en_US

  BACKUP_DATE=`date +%d`

  RMAN_LOG_FILE=${0}.out

  TODAY=`date`

  USER=`id|cut -d "(" -f2|cut -d")" -f1`

  echo"-----------------$TODAY-------------------">$RMAN_LOG_FILE

  ORACLE_HOME=/u01/app/oracle/11.2.0/db_1

  export ORACLE_HOME

  RMAN=$ORACLE_HOME/bin/rman

  export RMAN

  错误提示的第二行也只是一个大概范围,我们这里报错,是因为$RMAN_LOG_FILE变量来自shell变量$0,使用了相对路径,而有些版本rman不支持相对路径,因此执行时报错。

  解决方法是给$RMAN_LOG_FILE予绝对路径:

  将:

  RMAN_LOG_FILE=${0}.out

  修改成:

  RMAN_LOG_FILE=`pwd`/${0}.out

  再次执行就ok了。

目录
相关文章
|
10月前
error C2449: found ‘{‘ at file scope (missing function header?)和error C2059: syntax error : ‘}‘
error C2449: found ‘{‘ at file scope (missing function header?)和error C2059: syntax error : ‘}‘
72 0
|
10月前
openmv出现File corrupted,out of memery,invalid syntax等其他问题解决方法
openmv出现File corrupted,out of memery,invalid syntax等其他问题解决方法
74 0
|
12月前
|
数据库
ORA-06553: PLS-801: internal error 的解决办法
搜索了一下,原来是把32位的数据库恢复到64位的数据库了。找到解决方案如下
解决办法:configure: error: You requested SRTP (requires libsrtp) but not found...die
解决办法:configure: error: You requested SRTP (requires libsrtp) but not found...die
116 0
configure: line syntax error near unexpected token `win32-dll'
configure: line syntax error near unexpected token `win32-dll'
260 0
|
Java Android开发
is not allowed for source level below 1.7 的解决办法
is not allowed for source level below 1.7 的解决办法
126 0
|
移动开发 Linux Shell
$‘\r‘: command not found的解决方法
在Linux系统中,运行Shell脚本,出现了如下错误: one-more.sh: line 1: $'\r': command not found 1 出现这样的错误,是因为Shell脚本在Windows系统编写时,每行结尾是\r\n,而在Linux系统中行每行结尾是\n,所以在Linux系统中运行脚本时,会认为\r是一个字符,导致运行错误。
1227 0
[swscaler] Warning: data is not aligned! This can lead to a speedloss 的解决方法【FFmpeg】
[swscaler] Warning: data is not aligned! This can lead to a speedloss 的解决方法【FFmpeg】
631 0
[swscaler] Warning: data is not aligned! This can lead to a speedloss 的解决方法【FFmpeg】
如何处理错误消息Unable to install breakpoint due to missing line number attributes
如何处理错误消息Unable to install breakpoint due to missing line number attributes
158 0
如何处理错误消息Unable to install breakpoint due to missing line number attributes