TNS-12502: TNS:listener received no CONNECT_DATA from client
L'errore indica che il Listener non ha ricevuto l'informazione completa della stringa di connessione, manca la sezione CONNECT_DATA.
Aprire il listener.log e controllare l’errore TNS-12502. Se il messaggio si ripete con frequenza costante andiamo a vedere quali processi interrogano il listener.
[root@oradbt04 ~]# ps -ef | grep tns
oracle 14991 1 0 10:57 pts/3 00:00:06 /u01/app/oracle/product/9.2.0/bin/tnslsnr LISTENER -inherit
root 31774 30867 0 14:52 pts/1 00:00:00 grep tns
[root@oradbt04 ~]# strace -p 14991
oppure
strace -p 26124 | grep accept | grep sin_addr
Troviamo de indirizzi più frequenti: "10.aaa.bbb.ccc"
Accediamo alla macchina con ip 10.aaa.bbb.ccc.
10.aaa.ddd.eee è invece l'ip della server che contiene il db.
[root@orafm28 ~]# netstat -nap | grep 10.aaa.ddd.eee
tcp 0 0 10.aaa.bbb.ccc:63440 10.aaa.ddd.eee:1521 ESTABLISHED 14942/perl
tcp 0 0 10.aaa.bbb.ccc:63438 10.aaa.ddd.eee:1521 ESTABLISHED 14938/perl
tcp 0 0 10.aaa.bbb.ccc:63483 10.aaa.ddd.eee:1521 ESTABLISHED 14937/perl
tcp 0 0 10.aaa.bbb.ccc:16684 10.aaa.ddd.eee:1521 TIME_WAIT -
tcp 0 0 10.aaa.bbb.ccc:16685 10.aaa.ddd.eee:1521 TIME_WAIT -
tcp 0 0 10.aaa.bbb.ccc:16683 10.aaa.ddd.eee:1521 TIME_WAIT -
tcp 0 0 10.aaa.bbb.ccc:16690 10.aaa.ddd.eee:1521 TIME_WAIT -
tcp 0 0 10.aaa.bbb.ccc:16691 10.aaa.ddd.eee:1521 TIME_WAIT -
Risaliamo al processo in perl.
[root@orafm06 ~]# ps -ef | grep 14942
root 2092 2002 0 18:32 pts/2 00:00:00 grep 14942
oraas10g 14942 14829 0 2018 ? 03:24:36 /usr/bin/perl AWSKRunp.pl -P_PIDPD 14829 -P_CFGPATH /app/ascotweb/etc -P_ALIAS asi_test
[root@orafm28 ~]# locate AWSKRunp.pl
warning: locate: warning: database /var/lib/slocate/slocate.db' is more than 8 days old
/app/areaconv/A00/sch/AWSKRunp.pl
/app/areaconv/A00.old/sch/AWSKRunp.pl
/app/ascotweb/sch/AWSKRunp.pl
Si scopre che il programma in perl è uno schedulatore che continuamente interroga il db.