登录  /  注册
ORA-12170:TNS:连接超时解决一例
php中文网
发布: 2016-06-07 17:24:07
原创
1457人浏览过

前几天在机房连接数据库服务器时,报了rdquo;ORA-12170:TNS:连接超时rdquo;。这个错误费了我两天的时间才把问题解决掉,现在总

前几天在机房连接数据库服务器时,报了”ORA-12170:TNS:连接超时”。这个错误费了我两天的时间才把问题解决掉,现在总结下,希望大家少走些弯路

从错误的信息上看,是肯定是本地的客户端和服务器没有连接好,两个机器的Oracle直接不能通信。这个问题就多了,现总结一下:

一tns的配置文件不对

这个问题是最基本的,这是连接的基础。这个我建议直接从服务器上拷贝,就不会出错了。我见过的就是因为服务器名后有空格,导致了服务器无法解析。

二服务器的防火墙开了

防火墙会组织tns直接的连接,验证可以把服务器的防火墙关了试试看。

三路由的配置问题

这是我今天想说的,也是花了我两天的时间弄明白的地方。对于那些既要用外网上网收发邮件,又要用内网连接服务器的用户,这点尤其重要。

我在机房时,用无线连接外网做上网用,用有线连接内网做连接数据库用。正常情况下,是不能同时实现外网和内网的同时访问的,必须先把路由表的信息设置下,使外网和内网的网关不在同一个子网掩码上。可以在控制台下用 route print 查看本地的路由信息。

大家可能没有看没明白,我举例说明。下面这张图是我连不上服务器时的路由信息,重点是前面的两行,可以明显的看到我的外网的网关(192.168.1.1)和内网的网关(132.77.124.129)在同一网络掩码(0.0.0.0)内,这样路由就无法解析了。

ORA-12170:TNS:连接超时解决一例

这时可以把外网的无线网络断掉,这样内网就可以连接上了。我正是看到了这点,才明白是网络的原因,不是tns的原因。接下来,,我就该看怎样实现内网和外网的同时访问了。

我用了以下的命令:

route delete 0.0.0.0

route add 0.0.0.0 mask 0.0.0.0 192.168.1.1

route add 132.77.0.0 mask 255.255.0.0 132.77.124.129

route add 132.78.0.0 mask 255.255.0.0 132.77.124.129

route add 10.193.0.0 mask 255.255.0.0 132.77.124.129

可以逐条的在控制台下输入,也可以做成bat文件的形式直接的手工执行。运行完后,我的路由信息如下图所示

ORA-12170:TNS:连接超时解决一例

同样可以明显的看到我的外网的网关(192.168.1.1)和内网的网关(132.77.124.129)不在同一个网络掩码内了,这样路由就可以解析了。

总结一下,出现这个问题不要慌,要一步步的去找问题的原因。

linux

来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学