各位大虾,我在本机装了个oracle,客户端用sqlplus登陆的时候,如果不写主机字符串可以成功登陆,可一旦用了主机字符串就不能登陆了。后来我又装了PL/SQL developer客户端,登陆的时候也是报一样的错误(“ORA-12541:TNS:无监听程序”)在网上搜了好久,很多人遇到这个问题,我也仔细核对了可能出现问题的的地方(启动监听程序啊,net config 配置等),都没有问题。命令行测试,就出现下面的错误:请各位帮忙看看。谢谢了!C:\>lsnrctl statusLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 26-9月 -2010 10:49:42Copyright (c) 1991, 2005, Oracle.  All rights reserved.正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12541: TNS: 无监听程序
 TNS-12560: TNS: 协议适配器错误
  TNS-00511: 无监听程序
   32-bit Windows Error: 61: Unknown error

解决方案 »

  1.   


    (HOST=)??
    HOST=你的主机名或者ip    lisener 跟tns 都的改
      

  2.   

    是,我也发现HOST没有数据,但我的配置文件中的确是有数据的:
    # listener.ora Network Configuration File: F:\oracle\product\10.2.0\db_1\network\admin\listener.ora
    # Generated by Oracle configuration tools.LISTENER1 =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST =xjunhua3.asiapacific.hpqcorp.net)(PORT = 1521))
        )
      )
      

  3.   

    conn 用户名/密码@ip:1521/server-name
    用ip地址登陆,如果能登陆上的话,就是你本地配置问题,
    如果不能登陆,就是服务器的问题或网络问题
      

  4.   

    昨天在家没有网络环境的情况是可以正常登陆的,现在一开机就连上了无线网,就登陆不了了,重新配置了监听也没用。
    测试监听状态是这样的:
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xjunhua3.as
    TNS-12541: TNS: 无监听程序
     TNS-12560: TNS: 协议适配器错误
      TNS-00511: 无监听程序
       32-bit Windows Error: 61: Unknown error
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 32-bit Windows: Version 10
    启动日期                  26-9月 -2010 11:37:31
    正常运行时间              0 天 0 小时 9 分 12 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          F:\oracle\product\10.2.0\db_1\network\
    监听程序日志文件          F:\oracle\product\10.2.0\db_1\network\
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjunhua3.asiapacific
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC
    服务摘要..
    服务 "PLSExtProc" 包含 1 个例程。
      例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
      

  5.   

    把你的tns.ora 以及 lisner.ora 计算机名称全部贴上
    这个问题是出在你的ip是动态的没绑定所以这样的  你自己先在重新配置下  或者host=localhost试下 重新启动
      

  6.   

    完整的计算机名称:xjunhua3.asiapacific.hpqcorp.net
    域:asiapacific.cpqcorp.netlistener.ora
    # listener.ora Network Configuration File: F:\oracle\product\10.2.0\db_2\network\admin\listener.ora
    # Generated by Oracle configuration tools.SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = F:\oracle\product\10.2.0\db_2)
          (PROGRAM = extproc)
        )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST =xjunhua3)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
      )tnsnames.ora
    # tnsnames.ora Network Configuration File: F:\oracle\product\10.2.0\db_2\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST =xjunhua3)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )
      

  7.   

    HOST =xjunhua3.asiapacific.hpqcorp.net 大写或者LOCALHOSTS  试下看
      

  8.   

    两个都改成计算机的全称,实在不行就删了重新配置一个监听netca
      

  9.   

    这个问题貌似经常遇到,解决方法一般是:
    1、删除监听,然后重建。
    2、设置sid=现在的实例名
    3、把tns.ora和listenr.ora删除,然后重新配置监听和tns
    4、如果上述方法都不行,那就重装数据库实例吧。这个估计比你解决这个问题还快。
      

  10.   

    先看一下直接TNSPING IP是否可以通,可以的话,把SQLNET.ORA有用的首行注释掉,应该就可以解决了
      

  11.   

    sqlplus / as sysdba
    connect system/[email protected]:1521/server_name
      

  12.   

    解决了:http://user.qzone.qq.com/124690117/infocenter