TNS-12518: TNS:listener could not hand off client connection | TNS-12547: TNS:lost contact
July 18, 2019 Leave a comment
Problem:
In two-node cluster, client was not able to connect to the second node, but connection to the first node was successful.
Connection from SQL developer threw error: Status: Failure - Test failed: IO Error: Got minus one from a read call, connect lapse 16ms, Authentication lapse 0ms

Connection from sqlplus using TNS string showed:
[oracle@rac02 ~]$ sqlplus "sys@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac02.example.com)(PORT=1522))(CONNECT_DATA=(SERVICE_NAME=orcl)))" as sysdba ORA-12537: TNS:connection closed
Listener.log showed:
2019-07-18T11:19:23.568231+00:00 TNS-12518: TNS:listener could not hand off client connection TNS-12547: TNS:lost contact TNS-12560: TNS:protocol adapter error TNS-00517: Lost contact Linux Error: 32: Broken pipe
Solution:
This problem can happen in other cases (entries in sqlnet.ora .. in our case it was ok) and we could think about network problem, because initially we were trying to connect from the application sever and from the SQL developer remotely. But after getting ORA-12537: TNS:connection closed
error while trying to connect via sqlplus from the local server, we could only think about local non-network related problem.
The reason of this problem was that setuid bit was not set on /u01/app/oracle/product/12.2.0/dbhome_1/bin/oracle
binary:
Problematic node:
[root@rac02 ~]# ll /u01/app/oracle/product/12.2.0/dbhome_1/bin/oracle -rwxr-s--x 1 oracle asmadmin 408607040 Apr 4 19:51 /u01/app/oracle/product/12.2.0/dbhome_1/bin/oracle
Healthy node:
[oracle@rac01 ~]$ ll /u01/app/oracle/product/12.2.0/dbhome_1/bin/oracle -rwsr-s--x 1 oracle asmadmin 408607040 Apr 4 19:48 /u01/app/oracle/product/12.2.0/dbhome_1/bin/oracle
We have set setuid bit on oracle binary in RDBMS home:
[root@rac02 ~]# chmod u+s /u01/app/oracle/product/12.2.0/dbhome_1/bin/oracle [root@rac02 ~]# ll /u01/app/oracle/product/12.2.0/dbhome_1/bin/oracle -rwsr-s--x 1 oracle asmadmin 408607040 Apr 4 19:51 /u01/app/oracle/product/12.2.0/dbhome_1/bin/oracle
The problem was resolved without restarting the database instance, so clients were able to connect to the 2nd node. But because of it was staging cluster – I still restarted the database, I just made sure that database was started with the correct binary.