求教关于 ORA-12541错误状况:
A机器装有oracle9i服务器端,B,C两台机器装有oracle9i客户端,
现在B机器能通过 PLSQL Developer 和Enterprise Manager Console访问oracle9i服务器端
但是C机器(可怜的我的机器阿~)只能通过Enterprise Manager Console访问oracle9i服务器端,
不能通过PLSQL Developer等其他第三方软件访问oracle9i服务器端,提示ORA-12541错误。检查结果:对服务器端的检查
1   服务器sercvice已经启动
2   3个.ora文件无错(错的话,B机器是无法访问的吧)对客户端的检查
1   tnsnames.ora  sqlnet.ora  snmp_ro.ora 文件无错(和B机器保持一致)对网络检查
1    网络无故障
2    windows自带防火墙已关
3    ABC三台机器在同一网段☆☆☆☆☆到底是什么问题导致监听器问题啊!!!☆☆☆☆☆
真的是很妖的一个问题啊~!
希望有人能帮忙解决~~

解决方案 »

  1.   

    你的C机是否安装了多个ORACLE_HOME, 要注意TNS_ADMIN这个环境变量的设置。
      

  2.   

    另外,用TNSPING等命令做个测试,看看你现在用的SQLNET.ORA是否为你所以为的那个. 以及其所用的TNSNAMES.ORA中HOST和PORT是否正确.
      

  3.   

    谢谢kurt2008,但是你的C机是否安装了多个ORACLE_HOME,   要注意TNS_ADMIN这个环境变量的设置。---〉单个oracle_home另外,用TNSPING等命令做个测试,看看你现在用的SQLNET.ORA是否为你所以为的那个.   以及其所用的TNSNAMES.ORA中HOST和PORT是否正确.
    -->测试过,HOST和PORT都正确.问题仍然没有解决,期待中= =!
      

  4.   

    要注意TNS_ADMIN这个环境变量的设置。------------〉这个环境变量的设置??怎么注意??
      

  5.   

    tnsping 正常,
    还sqlplus 可以连上否?
      

  6.   

    C:\Documents and Settings\Administrator>tnsping 192.13.12.33TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 19-FEB-20
    08 17:07:26Copyright (c) 1997 Oracle Corporation.  All rights reserved.パラメータ・ファイルを使用しました:
    D:\oracle\ora92\network\admin\sqlnet.oraエイリアスを解決するためにHOSTNAMEアダプタを使用しました。
    Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SID=*)(SERVICE_NAME=192.13.12.
    33))(ADDRESS=(PROTOCOL=TCP)(HOST=192.13.12.33)(PORT=1521)))
    TNS-12541: TNS: リスナーがありません。上面是我本地的tnsping IP的结果
    tnsping SID也是同样的错误可以看到
    在tnsping的时候就出“TNS-12541: TNS: リスナーがありません。”的问题了sqlplus   可以连上否?------------〉也是“TNS-12541: TNS: リスナーがありません。”的问题,无法连上,只有Enterprise   Manager   Console能正常连上我可以接受大家对我使用日文系统的鄙视,但是我还是希望问题得到解决。
      

  7.   

    tnsping后要的是你的TNS连接串,比如在你客户端TNSNAMES.ORA中包含abc=(DESCRIPTION....)))C:\>tnsping abc查看是否结果是否通过, 同时结果中会显示所使用的SQLNET.ORA文件,如你上例中:
    パラメータ・ファイルを使用しました: 
    D:\oracle\ora92\network\admin\sqlnet.ora最后能将你C机的的TNSNAMES.ORA,SQLNET.ORA内容粘贴出来. 
      

  8.   

    TNS_ADMIN,一般设置在WINDOWS的系统环境变量里,用于指定在多个ORACLE_HOME安装时默认的SQLNET.ORA. 如果你确定以上D:\oracle\ora92\network\admin\sqlnet.ora就是你所需要用的那个,就可以忽略这个设置了。
      

  9.   

    多谢Kurt2008 7楼我的帖子写得可能不清楚,已经写了
    “上面是我本地的tnsping   IP的结果 
      tnsping   SID也是同样的错误 ”我还是把tnsping sid的结果也发上来给您参考吧C:\Documents and Settings\Administrator>tnsping ksdTNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 20-FEB-20
    08 08:36:10Copyright (c) 1997 Oracle Corporation.  All rights reserved.パラメータ・ファイルを使用しました:
    D:\oracle\ora92\network\admin\sqlnet.ora
    エイリアスを解決するためにTNSNAMESアダプタを使用しました。
    Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
    (HOST = 192.13.12.33)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = KSD)))
    TNS-12541: TNS: リスナーがありません。
    TNSNAMES.ORA--〉# TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.KSD =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.13.12.33)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = KSD)
        )
      )SQLNET.ORA---〉# SQLNET.ORA Network Configuration File: D:\oracle\ora92\network\admin\sqlnet.ora
    # Generated by Oracle configuration tools.SQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
    麻烦您给看看,诊断下,多谢
      

  10.   

    B机和C机的设置是相同的,但是B机能正常访问,C机就不行,问题很奇怪
      

  11.   

    还有服务器端listener.ora文件内容, 以及在服务器端执行 lsnrctl status后的输出一并粘贴出来看看吧. 光看你的客户端文件内容没有问题啊.
      

  12.   

    服务器端的listener.ora没有问题,我也看过了,如果有问题的话,B机是不能正常访问的吧 lsnrctl   status 执行之后一切正常 lsnrctl   start之后,说服务已经启动。很妖的问题,到现在没有办法解决
      

  13.   

    不是listener有问题, 它当然OK了。问题是你的客户端与listener不匹配的,所以需要查看你文件内容。一般来说,listener中的地址如果用hostname, 那在client的TNSNAMES中用IP是可能出错的.还有SERVICE_NAME和LISTENER中的也要匹配一致. 有时甚至大小写都要一样. 你的服务器是不是非WINDOWS的.建议你还是把LISTNER.ORA贴出来吧...自己也在找找
      

  14.   

    在C电脑上重新配置一下A机器在C的本地实例名
      

  15.   

    既然楼主的EM可以连接到ORACLE数据库服务器的话,说明楼主所配置的(tnsnames.ora,sqlnet.ora)文件是正确的.而之所以在C机器上,PLSQL DEVELOPER这个第三方软件不能连接上ORACLE数据库服务器.只能说明,在配置这个第三方软件与ORACLE数据库服务器的连接字符串出错了.楼主应从PLSQL DEVELOPER这个软件与ORACLE数据库服务器的连接字符串上着手解决问题.
      

  16.   

    先谢谢各位的帮助。to Kurt2008 
    一般来说,listener中的地址如果用hostname-------〉地址是ip,不是Hostname
    你的服务器是不是非WINDOWS的. -----------------〉是windows的to wzjcntlqs 
    在C电脑上重新配置一下A机器在C的本地实例名--------〉不太明白您的意思。to bai_jiong 
    可能是我说的不清楚,就是说,除了EM能连上之外,其他的第三方软件都不能连。问题是,2007年的时候还好好的,2008年办公室变动之后,就出现这个问题了。以下是LISTENER.ORA内容# LISTENER.ORA Network Configuration File: D:\oracle\ora92\network\admin\listener.ora
    # Generated by Oracle configuration tools.LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.13.12.33)(PORT = 1521))
        )
      )SID_LIST_LISTENER =
      (SID_LIST =
        ...
        (SID_DESC =
          (GLOBAL_DBNAME = KSD)
          (ORACLE_HOME = D:\oracle\ora92)
          (SID_NAME = KSD)
        )
        ...
      )麻烦各位再看看了,这个问题一直很困扰我
      

  17.   

    貌似这个问题是没有办法解决了,我重新装了次 oracle 10g就把oracle 9i的问题解决了,但是重新装oracle 9i就是不行,为什么呢?
    不要问我有没有卸载干净,我每次都卸的很干净,包括注册表,包括window目录里面的那些残留尸体也不会漏掉。但是为什么呢???????完全不知道,需要有人来指点下。另外,小弟现在在研究 JA(Japan Athena),有志同道合的朋友么??这次要用mysql咯。有兴趣的联系我咯