我知道在server端肯定没问题,你在client的hosts文件中加上db server的ip试试。

解决方案 »

  1.   

    修改客户端的 tnsnames.ora 文件
      

  2.   

    或者:更改下init参数试下 
    在init文件中注释掉mts_dispatchersinit.ora - try commenting out mts e.g. #mts_dispatchers = "(protocol=TCP)" 
    the default may cause problems
      

  3.   

    libin_ftsafe(子陌红尘) ,你也跑这边混啊,呵呵lsnrctl status看看监听有没有问题?lsnrctl stop 
    lsnrctl start重启下监听看能否连上?
      

  4.   

    另外看是不是连接数超过数据库允许的最大连接数select name,value from v$parameter where name='processes';看看是不是processes太小了,可能的话改大点试试
      

  5.   

    1.在server本机能连么
    2.在server本局域网其他机器上能连么?
      

  6.   

    在server本机能连,在server本局域网其他机器能连,现在取消了防火墙
      

  7.   

    可以肯定的告诉你,如果可以ping通,就一定可以连上,请仔细检查一下各方面的配置.
      

  8.   

    在远程客户端tnsping服务名报什么异常?
      

  9.   

    在远程客户端tnsping 服务器IP 显示一切正常
      

  10.   

    tnsping 服务器IP一切正常 说明net8的底层传输机制还是好的
    本地局域网内使用正常 说明服务器端也应该是没有问题的所以我觉得应该是远程客户端出现了问题
    1)查一下客户端的tnsname.ora文件,有无出错。tnsping 客户端服务名(tnsname.ora中,不是服务器名或ip),看是否有问题
    2)oracle客户端的文件是否被改动过?
    3)如果是nt,注册表是否被改动过?如果还是没解决,把客户端的sqlnet.log文件的内容贴出来,同时还有客户端操作系统的版本等等信息,详细一点总是好的。
      

  11.   

    你将本地网络中的一个tnspnames拷到远程机器上试试,
    同时将数据库服务器中的listener全改为IP连接,
    上面的tnspnames也改为IP连接。
      

  12.   

    问题终于解决了,感谢各位帮忙!服务器是Windows2000,中过病毒,可能是哪个网络文件损坏,把硬盘挂到一台正常的2000下,拷贝了N个文件之后终于搞定,不过底层原因不明。