我装的Oracle 11G通过创建database link来实现同服务器的跨库查询,刚开始数据在公司服务器上运行的蛮好,但是昨天迁移到电信的服务器上,今天就报了这个错误,我在网上也查了相关的信息,都不能解决。电信的服务器的防火墙是关闭的,1521端口也可以直接访问,本地的tnsnames.ora文件也没有什么问题,请各位帮忙解决此问题,在线等急!!!

解决方案 »

  1.   

    本地不用link,可以连接远程的库吗,用username/password@servername的方式
      

  2.   

    可以远程连接数据库,我们现在连接上没问题,就是直接跨库查询 select * from t_table@gps_connect
    会出现ora-12170:TNS:连接超时 错误
      

  3.   

    这个应该和程序没有太多关系,而是和通迅质量有关系,在公司局域网(LAN)内,网络比较稳定,通迅基本不会断。移到电信服务器后,通迅变成在WLAN上了,由于各种原因,导致通迅链路断的情况是经常发生的事情,因此dblink报超时也就不足为奇。BTW,我们使用电信内部DCN网,dblink也偶尔会超时。处理建议
    ------------------------
    (1) 不用dblink,自写服务器方式进行数据交换,而且用短联接。
    (2) 如果坚持用dblink,碰到这个错误代码重新发该sql指令若干次。
      

  4.   

    问题还出在网络上?到外网那个服务器上,看看listener.log,看看请求连接的记录对不对
      

  5.   

    在你创建 db link的服务器上 的 /etc/hosts 中加入 电信服务器的 ip地址 和服务名 如:1923.168.1.111  电信servername
      

  6.   

    如果的创建 db link的机器是 windows 的 那么在 system32\drivers\ect\hosts
      

  7.   


    你首先弄明白内网和外网的差别,其实要弄明白放在A地和B地以及放在电信、移动、联通这些运营商之间的差别。一个应用程序在内网上跑得好好的,放到外网上就跑不下来,这种情况是很多的。尤其是原来通迅质量在8kbit的拨号年代。如果不相信网络延迟、路由器交互故障等等原因,那就想办法验证不是,而不是在这里认为不是。
      

  8.   

    是否可能是因为响应时间不够造成还未进行连接就报出ORA-12170连接超时错误,请教如何进行响应时间的修改?
      

  9.   

    搞不清楚是什么原因,公司重新买了个网卡安上去后就好了,没有出现过类似的情况,但是现在问题又来了,使用跨库查询出现了ORA-12154的错误,郁闷,咋解决...