zoukankan      html  css  js  c++  java
  • TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener Linux Error:

      今天是2014-06-17。遇到一个很奇怪的问题,可能之前測试改动监听的原因,导致监听启动后自己主动关闭,特此记录一下整个处理过程,
    监听配置文件信息例如以下:

    [oracle@dg1 admin]$ more listener.ora 
    # listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
    # Generated by Oracle configuration tools.
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.181)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    
    ADR_BASE_LISTENER = /u01/app/oracle
    SID_LIST_LISTENER=  
      (SID_LIST=  
          (SID_DESC=  
             (GLOBAL_DBNAME=dg1)  
             (ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)  
            (SID_NAME=dg1)  
       )  
      )


    启动监听之后3秒自己主动关闭。例如以下:

    [oracle@dg1 admin]$ lsnrctl start
    
    LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 17-JUN-2014 22:54:06
    
    Copyright (c) 1991, 2013, Oracle.  All rights reserved.
    
    Starting /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...
    
    TNSLSNR for Linux: Version 11.2.0.4.0 - Production
    System parameter file is /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
    Log messages written to /u01/app/oracle/diag/tnslsnr/dg1/listener/alert/log.xml
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.4.181)(PORT=1521)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.4.181)(PORT=1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
    Start Date                17-JUN-2014 22:54:08
    Uptime                    0 days 0 hr. 0 min. 0 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
    Listener Log File         /u01/app/oracle/diag/tnslsnr/dg1/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.4.181)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    Services Summary...
    Service "dg1" has 1 instance(s).
      Instance "dg1", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully
    [oracle@dg1 admin]$ 
    [oracle@dg1 admin]$ lsnrctl status
    
    LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 17-JUN-2014 22:55:44
    
    Copyright (c) 1991, 2013, Oracle.  All rights reserved.
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.4.181)(PORT=1521)))
    TNS-12541: TNS:no listener
     TNS-12560: TNS:protocol adapter error
      TNS-00511: No listener
       Linux Error: 111: Connection refused
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    TNS-12541: TNS:no listener
     TNS-12560: TNS:protocol adapter error
      TNS-00511: No listener
       Linux Error: 111: Connection refused
    [oracle@dg1 admin]$ 


    查看日志例如以下:

    Started with pid=1750
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.4.181)(PORT=1521)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    Listener completed notification to CRS on start
    
    TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
    WARNING: Subscription for node down event still pending
    17-JUN-2014 22:50:15 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=dg1)(USER=oracle))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=186647552)) * status * 0
    WARNING: Subscription for node down event still pending
    17-JUN-2014 22:50:18 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=dg1)(USER=oracle))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=186647552)) * status * 0
    Tue Jun 17 22:54:08 2014
    System parameter file is /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
    Log messages written to /u01/app/oracle/diag/tnslsnr/dg1/listener/alert/log.xml
    Trace information written to /u01/app/oracle/diag/tnslsnr/dg1/listener/trace/ora_1774_140208538629888.trc
    Trace level is currently 0
    
    Started with pid=1774
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.4.181)(PORT=1521)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    Listener completed notification to CRS on start
    
    TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
    WARNING: Subscription for node down event still pending
    17-JUN-2014 22:54:08 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=dg1)(USER=oracle))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=186647552)) * status * 0


    查看日志没有发现什么问题。查看一下mos:
    问题原因:

    1. There is possibly an incorrect IP Address specified for the host in the /etc/hosts file.
    For example:
    192.168.101.101 prod1.us.oracle.com prod1
    Whereas the actual ip address for the host "prod1.us.oracle.com" is 192.168.101.110
     
    2. Also, the localhost reference may be incorrect or missing from the /etc/hosts file.
     
    3. Oracle may not have read access to /etc/nsswitch.conf file.

    问题解决的方法:

    To implement the solution, please execute the following steps:

    1. Correct the mapping in the /etc/hosts file by adding/correcting the IP address and/or hostname reference for the Unix/Linux Server (both long and short host names).
    For example:

    # Add or edit the /etc/hosts file to include a valid entry for the Server:
    192.168.101.110     prod1.us.oracle.com     prod1

    2. Check that the localhost loopback name and address are correct (both long and short host names).
    An example of a correct localhost entry would be as follows:

    127.0.0.1     localhost.localdomain    localhost

    3. Remember to save the /etc/hosts file and then start the listener.
     
    4. Check permissions on /etc/nsswitch.conf file to ensure group and other have read access.

       - If necessary change permisions on /etc/nsswitch.conf as follows:

              chmod 644 /etc/nsswitch.conf

    将主机配置文件/etc/hosts改动过后问题就可以解决:

    127.0.0.1       localhost.localdomain      localhost     dg1
    ::1     localhost.localdomain           dg1
    192.168.4.181 dg1
    192.168.4.182 dg2


    ####################343295.1######################

  • 相关阅读:
    蓝桥杯-最大子阵
    蓝桥杯-四平方和问题
    蓝桥杯-生日蜡烛
    蓝桥杯-三羊献瑞
    蓝桥杯-李白喝酒
    使用SSH远程管理时本地文件被修改了
    Total Commander基本配置及使用(整理)
    Linux下自己和自己用各种方法进行文件的上传下载
    idea搭建springcloud微服务框架
    将tomcat注册成服务(windows)、linux安装svn、docker、nginx、zipkin以及rabbitMQ教程
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5057107.html
Copyright © 2011-2022 走看看