ORA-12170:TNS:连接超时(解决一例:转载)

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

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

一tns的配置文件不对

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

二服务器的防火墙开了

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

三路由的配置问题

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

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

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

这时可以把外网的无线网络断掉,这样内网就可以连接上了。我正是看到了这点,才明白是网络的原因,不是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文件的形式直接的手工执行。运行完后,我的路由信息如下图所示


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

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

本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-12/76115.htm

时间: 2024-10-02 23:51:54

ORA-12170:TNS:连接超时(解决一例:转载)的相关文章

oracle用cmd货plsql登录oracle实例提示“ORA :12170”TNS:连接超时

1,cmd ------ ping ip地址:查看网络问题,能否ping通ip地址 2,cmd ------ tnsping ip地址(或服务器的实例名SID)“ ①如果出现"TNS-12535:操作超时" 提示,可能是服务器端防火墙没有关闭,关闭防火墙即可: ②如果出现下图显示,则证明没有问题: ” 3,cmd ------ netstat - na 查看1521端口是否关闭 ①如果显示关闭,则需要在防火墙设置中将1521端口设为例外: ②如果出现下图显示,则证明没有问题: 4,cm

解决“ORA-12170: TNS: 连接超时”的问题

虚拟机上可以正常访问数据库,但是在物理机上连接数据库时出现"ORA-12170:TNS:连接超时"时,可以用以下思路解决问题. 一.检查网络 1.ping ip地址 查看网络问题,看能否ping通: 2.tnsping  ip地址(或者是服务器的实例名SID)如果报"TNS-12535:操作超时",可能是服务器端防火墙,没有关闭: 3.netstat -na 查看1521端口是否关闭 4.lsnrctl status   lsnrctl是listener-contr

一次“ora-12170 tns 连接超时”的经历

win7    64位系统 oracle  10g   64位 plsql之前连接是好使的,突然连接不上,提示错误“ora-12170 tns 连接超时” 1.ping IP    没有问题 2.netstat –na 查看1521端口,端口是没有问题的 3.防火墙没问题 4.lsnrctl status   发现  snmp off 解决方法 首先:dba用户登录系统,无法shutdown   报:ora-00106错误: 修改 由于不是rac  是单机,之前的   tnsnames中serv

ORA-12170 TNS 连接超时!

最近突然有段时间通过plsql连接本地oracle数据库的时候报:ORA-12170 TNS 连接超时! 现象是:开机的时候没有连上网络,然后可以通过plsql连接oracle,但是通过无线网卡连接无线Unicom,然后通过360免费wifi分享网络hswf,就不能通过plsql连接oracle,同时eclipse中项目数据库配置成<jdbcurl>jdbc:oracle:thin:@127.0.0.1:1521:orcl</jdbcurl>也不能连接数据库了. 真心狠奇怪,在网上

Linux Vsftpd 连接超时解决方法

Linux Vsftpd 连接超时解决方法 2013-11-13 10:58:34|  分类: 默认分类|举报|字号 订阅 解决方法(http://www.lingdus.com/thread-8189-1-1.html) 在服务端配置被动模式就可以从根源上解决这问题.1.编辑 Vsftpd  配置文件 vi /etc/vsftpd/vsftpd.conf 复制代码 2.在最下面添加以下信息 pasv_enable=YES #开启被动模式 pasv_min_port=4000  #随机最小端口

修改tnsnames.ora文件中配置内容中的连接别名后,连接超时解决办法

1.tnsnames.ora文件中配置内容中的连接别名:由upaydb修改为IP地址 2.连接超时 定位原因: PLSQL登录界面的数据库列表就是读的tnsname.ora中连接的别名,这个文件中连接别名修改后,那么你PLSQL登录数据库时也要选择对应的连接别名:

mysql 远程连接超时解决办法

设置mysql远程连接root权限 在远程连接mysql的时候应该都碰到过,root用户无法远程连接mysql,只可以本地连,对外拒绝连接. 需要建立一个允许远程登录的数据库帐户,这样才可以进行在远程操作数据库. 方法如下: 默认情况下MYSQL数据库的系统数据库mysql系统表user内用户权限只提供localhost本机登陆: 需要更改权限才能实现远程连接MYSQL数据库. 可以通过以下方式来确认: root#mysql -h localhost -uroot -p Enter passwo

ora-12170:tns:连接超时

在虚拟机里面安装了一个oracle每次换一个网络,plsql连接就不好使了,整了好几次才搞定记录下来: 1.开始----程序-----oracle------配置和移植工具-----Net Manager----本地----服务命名---ora11(这个是我的专用服务器) 把右边下面的主机名改成192.168.1.1022.开始----程序-----oracle------配置和移植工具-----Net Manager----本地----监听程序---同样把右边下面的主机名改成192.168.1

记:mysql 连接超时解决办法

错误描述:Timeout in IO operation 原连接字符串为:Server=182.180.50.118;port=3306;Database=test;Uid=root;Pwd=123; 发现ConnectionTimeout = 15 连接字符串改为:Server=182.180.50.118;port=3306;Database=test;Uid=root;Pwd=123;Connect Timeout=600; 发现ConnectionTimeout = 600 mysql默