代码改变世界

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

2014-12-12 21:46  潇湘隐者  阅读(5411)  评论(0编辑  收藏  举报

检查我们的一台ORACLE数据库的监听日志发现有不少TNS-12502错误信息。如下所示

clip_image001

clip_image002

TNS-12502: TNS:listener received no CONNECT_DATA from client
 
09-DEC-2014 15:47:06 * (CONNECT_DATA=(SERVICE_NAME=epps)(CID=(PROGRAM=D:\Tasks\FGIS2MES\CEG\gmt_auto.exe)(HOST=CEGWEB1)(USER=cegadmin))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.163.21.14)(PORT=2312)) * establish * epps * 0
 

$ oerr tns 12502

12502, 00000, "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导致,但是如上所示,客户端tnsnames.ora中已经包含了CONNECT_DATA数据,大部分时候正常,但是偶尔又会在listener.log里面发现该错误信息,而且完全没有规律可言,最后在Oracle的TNS-12502 错误原因及解决这篇文章中了解到,客户端通过telnet数据库服务器的1521端口测试连通性,也会出现如下错误。如下所示:

telnet 192.168.20.11 1521

查看/u01/app/oracle/product/10.2.0/db_1/network/log/listener.log 如下所示,你会看到TNS-12525错误信息。

clip_image003

12-DEC-2014 20:40:33 * <unknown connect data> * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.125.113)(PORT=52651)) * establish * <unknown sid> * 12525

TNS-12525: TNS:listener has not received client's request in time allowed

TNS-12535: TNS:operation timed out

TNS-12606: TNS: Application timeout occurred

12-DEC-2014 20:40:37 * service_update * epps * 0

但是这个跟在监听日志中发现的错误信息有所区别:TNS-12502: TNS:listener received no CONNECT_DATA from client,我统计了TNS-12502错误出现的时间点也很难发现什么规律。很奇怪的是这个错误也不影响用户的使用。到目前为止,也一直没有弄明白为什么会出现这个错误。暂且做个记录,留待以后研究解决!

 

 

参考资料:

http://www.eygle.com/archives/2006/08/oracle_tns_12502.html