不关oracle配置的事,如果A机能ping通C机,那么A机肯定能连到C机上.
因此请检查:
 1 A能ping通C吗?(从你写的情况看,TNS超时,A应不能通C)
 2 如果AC真的不通,你可以把A机的网关设为:10.5.205.12,再ping
  
如果ping通了,那么恭喜你,A就能连到C的ORACLE了.

解决方案 »

  1.   

    谢谢,A直接PING C 的地址是不通的,按照B的设置也是不可能通的。打个比方,一般单位上网时内部用的地址都是10 或192开头的私有IP,向外发包时,通过代理或其它有NAT(地址翻译)功能的设备,将地址变成合法的IP。内部接收包时,代理再将那个合法的IP翻译成内部的一个地址。
    在内部可以PING通外部的地址如ping www.sohu.com,可以通,但是外部却是不可能ping 通我的私有IP 的。
    “把A机的网关设为:10.5.205.12”是没有道理的,因为A不能让10.5.205.12来给自己路由,10.5.205.12也没有路由的功能。
      

  2.   

    与防火墙无关
    只要确保能PING通
    配置TNSNAMES.ORA就可以了
      

  3.   

    肯定与防火墙有关,是不是过滤了A。
    所有要解决A ping C通的问题。
      

  4.   

    是防火墙的问题。
    ping通并不表示数据库能连接成功,因为数据库连接的时候,要开启很多未知随机端口,但防火墙一般是把这些端口给禁了,所以肯定是连接不到数据库了。
    你需要在防火墙设置那里开启A<-->C的所有端口。否则不行
      

  5.   

    数据库访问的机制是
    客户端通过1521(默认端口)向数据库server发动一个连接请求,然后server收到这个请求后,数据库server会与客户端重新建立一个连接,这个连接的端口是随机的,绝对不是1521。
    你可以通过nt的命令netstat来查看这个端口
      

  6.   

    不要把问题说的这么复杂假设服务器有a,c
    c在防火墙内部ip为Cip1
    a能访问c的ip为Cip2则在c上的listener的host,设置为  host = 主机名
    其实主机名也可以是随意的一个名字,不过为了内部同网段的访问方便而已就设置成主机名了因为a并不认识该主机名,于是在a的hosts下增加解析该主机名为 Cip2
    在a的tnsnames.ora 中host也为Cip2
    windows机器下  C:\WINNT\system32\drivers\etc  这个目录下的hosts文件
    修改一下就可以了我以前遇见和你一样的问题
    就这么解决的
    坚信一个原则,能ping 通就能tnsping通,能tnsping通就应该能连接上数据库。除非端口有限制
      

  7.   

    虽然还没试验,但觉得penitent(只取一瓢) 和 biti_rainy(biti_rainy) 二位说得有道理,很受启发。
      

  8.   

    现在已经开启了A<-->C的所有端口,
    tnsping 10.5.205.12 通,但net8连数据库仍然报错:正在连接...ORA-12535: TNS: 操作超时
    测试未成功。这是为什么?ORA-12535这个错误可能有什么原因引起呢?
    我知道如果ping 不通是会报这个错误的。
      

  9.   

    呵呵,最近正在搞vpn,来得早不如来得巧。
    是这样的,假设a为外部网络,c为内部网络,b是中间防火墙,因此c是能ping通a,但a不能ping通c。
    biti_rainy(biti_rainy)说的对:能ping 通就能tnsping通,能tnsping通就应该能连接上数据库。除非端口有限制。
    你现在tnsping 10.5.205.12 是没有用的,因为还是ping不同10.5.169.2。
    现在有个技术叫vpn,就是进入企业局域网内,像在内部网一样访问局域网机器,同样也可以ping通局域网内任何一台机器。
    windows2000就可以装vpn,装起来很简单。在路由和远程访问中设置。在网上查查相关资料吧。
      

  10.   

    老兄,我只是想连个数据库,有必要顺带搞VPN这样的大动作吗,这不是把问题越折腾越大了!!
    昨天一个前辈高手告诉我,我这种用法没问题,他也这样做过,问题是,它怎么就会超时呢?
      

  11.   

    ORA-12495 multi-threaded server cannot be used with Trusted Oracle
    Cause: The MTS_DISPATCHERS parameter is set in the initialization file, which initiated the configuration of the multi-threaded server. Action: Remove the MTS_DISPATCHERS parameter from the initialization file and restart the instance 11 
      

  12.   

    其实用win2000的vpn很简单的。基本上和iis差不多。当然功能有限了。
    你现在a地能ping通10.5.169.2(c地)吗?
      

  13.   

    to tlbbqf(为伊消的人憔悴) :
    从A不能直接PING通C.
     TNSPING B的包实际上是C 接收的。下面是listener.log日志文件的一部分:
    --这是在C本机连接的记录
    25-7月 -2002 11:27:47 * (CONNECT_DATA=(SERVICE_NAME=yjy.world)(CID=(PROGRAM=D:\Program Files\Oracle\jre\1.1.7\bin\jrew.exe)(HOST=YJY)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.5.169.2)(PORT=3750)) * establish * yjy.world * 0
    --这是A到C 发起的连接
    25-7月 -2002 11:38:09 * (CONNECT_DATA=(SERVICE_NAME=yjy.world)(CID=(PROGRAM=C:\Program Files\Oracle\jre\1.1.7\bin\jrew.exe)(HOST=HRMS)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.5.13.194)(PORT=4852)) * establish * yjy.world * 0
    --这是TNSPING测试
    25-7月 -2002 11:38:53 * ping * 0
    25-7月 -2002 11:39:16 * ping * 0
    25-7月 -2002 11:39:19 * ping * 025-7月 -2002 11:39:28 * (CONNECT_DATA=(SERVICE_NAME=yjy.world)(CID=(PROGRAM=C:\Program Files\Oracle\jre\1.1.7\bin\jrew.exe)(HOST=HRMS)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.5.13.194)(PORT=4858)) * establish * yjy.world * 0
                   ~~~~~~~
          establish是不是表明已经连接上了?  
    25-7月 -2002 11:46:12 * ping * 0
    25-7月 -2002 11:46:17 * ping * 0
    25-7月 -2002 11:47:06 * ping * 0
    25-7月 -2002 11:47:35 * ping * 0
      

  14.   

    对了,你在防火墙上设置时,有没有把端口映射上,也就是a访问b的某个端口,也是访问c的某个端口。网管如果只是80了等端口映射,也会如此。
    您不愿意采用vpn这种又方便又实用的技术真是可惜。不过也可以尝试其他方法。
    gz。
      

  15.   

    如果你的init文件中设置了mts
    请把 mts_dispatchers注释掉!!或者把其中host按照listener中一样的进行设置
      

  16.   

    试试设个dns?
    或者,索性,把a地的网关设成b地址
      

  17.   

    我估计和验证有关系
    即tns的NA层上的验证没有通过,结果使连接disable了。
      

  18.   

    虽然问题还没有解决,我还是把帖子结了吧,谢谢各位!
    to jiezhi(相逢何必曾相识) :
    看到了你的帖子,问题解决了拜托给告诉我一下!!!
    [email protected]