你好,游客 登录 注册 搜索
背景:
阅读新闻

TNS-01201: Listener cannot find executablen 错误解决

[日期:2014-06-11] 来源:Linux社区  作者:leshami [字体: ]

最近在启动监听器的时候收到了TNS-01201: Listener cannot find executable...的错误提示。这个错误还真是一个一直没有碰到过的错误。咋一看还真不明白是怎么一回事呢。下面是错误的具体描述与解决方案。

1、故障描述
#在启动监听器时收到了TNS-01201错误,监听器无法找到可执行文件
Oracle@DevDB02:~> lsnrctl start LISTENER_USBO2                       

LSNRCTL for Linux: Version 10.2.0.3.0 - Production on 06-JUN-2014 17:06:37

Copyright (c) 1991, 2006, Oracle.  All rights reserved.

Starting /home/oracle/OraHome10g/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.3.0 - Production
System parameter file is /home/oracle/OraHome10g/network/admin/listener.ora
Log messages written to /home/oracle/OraHome10g/network/log/listener_usbo2.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.202)(PORT=1403)))
TNS-01201: Listener cannot find executable /users/oracle/OraHome10g/bin/oracle for SID USBO2

Listener failed to start. See the error message(s) above...

 

2、故障分析
#Meatlink上给出了关于这个问题的描述(Doc ID 22060.1)
#需要检查ORACLE_HOME环境变量是否指向了一个有效位置
Error:  TNS 1201
Text:  Listener cannot find executable %s for SID %s
-------------------------------------------------------------------------------
Cause:  The executable for the Oracle dedicated server process cannot be
        found.
Action: Check the appropriate SID_DESC in LISTENER.ORA to make sure that
        the ORACLE_HOME component is pointing to a valid location.
 If this component is not set, then check the value of the ORACLE_HOME
 environment variable.
Comment:This error is reported only on UNIX platforms.

 

3、故障解决
#原来监听器中配置的oracle_home不同于当前的ORACLE_HOME
oracle@DevDB02:~> more $ORACLE_HOME/network/admin/listener.ora
LISTENER_USBO2 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.202)(PORT = 1403))
      )
    )
  )

SID_LIST_LISTENER_USBO2 =
  (SID_LIST =
    (SID_DESC =
        (sid_name=USBO2)
        (oracle_home = /users/oracle/OraHome10g)
    )
  )

oracle@DevDB02:~> echo $ORACLE_HOME
/home/oracle/OraHome10g

#由于直接从另外一台机器复制了listener配置内容,新机器与旧机器使用了不同的ORACLE_HOME
#于是收到了上面的错误提示,下面是更正后的内容,再次重启正常
oracle@DevDB02:~> grep home $ORACLE_HOME/network/admin/listener.ora
        (oracle_home = /home/oracle/OraHome10g) 

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址http://www.linuxidc.com/Linux/2014-06/103013.htm

linux
相关资讯       TNS-01201 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款