数据库连接 ORA-12170 TNS connect timeout occurred

时间:2024-10-22 07:29:04

数据库连接出现:

ORA-12170 TNS connect timeout occurred这个错误

解决思路:首先连接内网数据库,要排除是不是网络的问题,如果不是网络的问题,再去检查监听是否出现配置错误或其他错误。

跟踪路由会有连接超时的现象,这时候我果断选择了查看路由表,果然,路由表中存在问题,只要把路由清空,重配内网IP即可连接远程数据库了。

现总结一下:

一tns的配置文件不对

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

二服务器的防火墙开了

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

三路由的配置问题

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

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

 

带有消息“发生 TNS 连接超时”的 SQL 错误 12170 ORA-12170 通常表示由于网络问题,与远程 Oracle 数据库的连接失败。当数据库服务器未响应客户端的请求时,或者存在阻止客户端与服务器之间通信的网络问题时,可能会发生此错误。

若要解决此错误,可以尝试对客户端和服务器之间的网络连接进行故障排除。您可以通过 ping 服务器的 IP 地址或检查客户端的网络连接设置来检查服务器是否可访问。此外,您可以尝试增加连接设置的超时值,以留出更多时间来建立连接。

如果错误仍然存在,您可能需要让数据库管理员参与进来,该管理员将能够诊断问题并进行必要的配置来解决问题。

不知道你解决了没