【Bug】ORA-12170:TNS:连接超时!错误解决方法

【Bug】ORA-12170:TNS:连接超时!错误解决方法,第1张

1、也可能是IP地址变化了,要修改一下listener.ora和tnsname.ora文件中的IP地址。

2、打开Oracle的Net Manager,将监听程序的主机名改为计算机名

tnsnames.ora IP地址修改成你本机现在的IP地址,并重启监听服务,等一会儿-等的时间会比较长估计得要几分钟的样子。

TNS协议是ORACLE服务端和客户端通讯的协议。TNS协议传输可以使用TCP/IP协议、使用SSL的TCP/IP协议、命名管道和IPC协议传输,其中TCP/IP协议传输是使用明文传送。这里我们只分析基于TCP/IP协议上的TNS数据。

ORACLE网络通讯协议TNS有许多版本,并且大部分向下兼容,我们主要oracle 9.2.0.1.0客户和服务间的传输协议,他的协议版本号为312,其兼容到300。

TNS协议有一个通用的头,通用头包含一个请求数据类型。不同的服务请求和数据传输使用不同的请求数据类型。对于通常意义的查询 *** 作一般使用数据类型,当出现错误或其他情况时可能使用其他类型。在分析过程中发现以下类型数据:

1. 查询语句出错会用标记(marker)类型

2. 客户端向服务器请求失败(如不存在的服务ID),服务器会发送拒绝(refuse)类型

3. 客户机登陆会发送连接类型,而服务器返回一个重定向类型数据

4. 当重定向端口连接完成后客户端重现发送连接类型数据,服务器返回接受类型数据,然后能够正常通讯。

1.开始----程序-----oracle------配置和移植工具-----Net Manager----本地----服务命名---ora11(这个是我的专用服务器) 把右边下面的主机名改成192.168.1.102

2.开始----程序-----oracle------配置和移植工具-----Net Manager----本地----监听程序---同样把右边下面的主机名改成192.168.1.102

重新连接又报了另一个错误

ora-12541:TNS:没有监听器

1.cmd---services.msc----以Oracle开头TNListener结尾的服务启动它

2.如果还没有启动,修改注册表cmd--regedit

找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/OracleTnsListener

添加一个字符串imagepath值为TNSLSNR.exe的路径

我的是D:/Oracle/Administrator/product/11.1.0/db_1/BIN/TNSLSNR

终于可以连接上了,高兴!

如果在本机可以正常使用,可是到局域网中的其他机器就出现“ORA-12170:TNS:连接超时

解决方法:

1.cmd-----ping ip地址 查看网络问题,看能否ping通

2.cmd-----tnsping ip地址(或者是服务器的实例名SID)如果报“TNS-12535: *** 作超时”,可能是服务器端防火墙没有关闭

3.cmd----netstat -na 查看1521端口是否关闭,如果关闭Windows XP中的防火墙设置中将1521端口设为例外

4.cmd----lsnrctl status lsnrctl是listener-control 监听器的缩写,查看监听的状态


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11785891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存