Home > Database > Mysql Tutorial > body text

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

WBOY
Release: 2016-06-07 16:49:39
Original
1401 people have browsed it

最近在启动监听器的时候收到了TNS-01201: Listener cannot find executable...的错误提示。这个错误还真是一个一直没有碰到过的错

最近在启动监听器的时候收到了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) 

本文永久更新链接地址:

linux

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!