zoukankan      html  css  js  c++  java
  • RMAN01009: 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了。

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

    版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

    Skype:    tianlesoftware

    QQ:       tianlesoftware@gmail.com

    Email:    tianlesoftware@gmail.com

    Blog:     http://blog.csdn.net/tianlesoftware

    Weibo:    http://weibo.com/tianlesoftware

    Twitter:  http://twitter.com/tianlesoftware

    Facebook: http://www.facebook.com/tianlesoftware

    Linkedin: http://cn.linkedin.com/in/tianlesoftware


    道森Oracle,国内最早、最大的网络语音培训机构,我们提供专业、优质的Oracle技术培训和服务! 我们的官方网站:http://www.daosenoracle.com 官方淘宝店:http://daosenpx.taobao.com/
  • 相关阅读:
    如何打造“万人同屏”高并发实时互动小程序
    当小程序遇见物联网IoT,几行代码搞定智能插座控制
    数据存储(1):从数据存储看人类文明-数据存储器发展历程
    JPEG/Exif/TIFF格式解读(1):JEPG图片压缩与存储原理分析
    从中国农民与美国农民比对漫谈工业革命与工程化—反思996
    扯扯Java中的锁
    强化学习 5 —— SARSA 和 Q-Learning算法代码实现
    强化学习 4 —— 时序差分法(TD)解决无模型预测与控制问题
    强化学习 3—— 使用蒙特卡洛采样法(MC)解决无模型预测与控制问题
    强化学习 2—— 用动态规划求解 MDP (Policy Iteration and Value Iteration)
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3609092.html
Copyright © 2011-2022 走看看