Oracle的TNS-12502错误原因及解决

文章作者 100test 发表时间 2007:03:14 13:50:48
来源 100Test.Com百考试题网


前几天收到一位读者朋友的来信,询问以下问题:

在我的监听日志中出现错误TNS-12502: TNS:listener received no CONNECT_DATA from client

经过查找资料了解到这种错误应该是客户端tnsnames.ora中没有写 CONNECT_DATA的原因,我检查过客户端的机器没有发现问题。

目前的现象:

1、每几分钟出现一次该错误(见附件),即使是在凌晨的时候也是,这段时间我们没有开发人员在凌晨时候使用Oracle。

2、到目前为止也没有发现客户端机器不能正常连接数据库的情况。

今天才有时间研究一下,对于TNS-12502错误,Oracle的解释如下:

Error: ORA-12502 / TNS-12502

Text: TNS:listener received no CONNECT_DATA from client

Cause: No CONNECT_DATA was passed to the listener.

Action: Check that the service name resolved from TNSNAMES.ORA has the

CONNECT_DATA component of the connect descriptor.

也就是说只有在TNSNAMES.ORA文件中不包含CONNECT_DATA时会出现此问题。

那么当通过一些网络工具或HA工具等检测监听器端口时,日志中就可能记录如上错误。我们可以简单模拟一下,在客户端通过telnet数据库服务器的1521端口测试连通性:

C:>telnet 172.16.30.11 1521

此时在日志中就会记录如下信息:

TNS-12502: 

TNS:listener received no CONNECT_DATA from client

09-AUG-2006 16:21:03 * 12502

TNS-12502: TNS:listener received no CONNECT_DATA from client

09-AUG-2006 16:21:13 * 12502

TNS-12502: TNS:listener received no CONNECT_DATA from client

09-AUG-2006 16:21:22 * 12502

TNS-12502: TNS:listener received no CONNECT_DATA from client

如果客户端都正常的话,此类错误并不会影响应用,当然也可以彻底检查找出根本原因。



相关文章


有关OracleIndex的三个问题(一)
ORACLE与SQLSERVER语言比较
OracleMetalink帐号重要更改策略
Eclipse是如何连接Oracle数据库的
Oracle的TNS-12502错误原因及解决
入门基础——Oracle快速入门
OracleSQL内置函数大全之二
Oracle9i数据库WITH查询语法小议
如何选择知识管理系统的数据库平台(1)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛