We have Windows 2k3 EE SP2 with Oracle 11.2.0.1.0 DB installed. The DB is used by different applications (including web-apps and services). From time to time, we have some problems with the web application that causes unexpected behavior in it, e.g. slow or not fully loaded pages, strange redirects. Restarting the Tomcat and Oracle services fixes the issue.
Once when the problem showed up again, I looked at the tomcat logs and noticed an exception:
java.sql.SQLException: Io exception: The Network Adapter could not establish the connection It occurred to me that the database server may be busy, overloaded or something, so I examined network activity (with CurrPorts). There were dozens of connections hanging with status of "Last Ack" that originated from the Oracle TNSLSNR.exe process, requesting for local port 1521 (which, as we know, is the port that the process itself "Listens" to).
The CurrPorts software has the option "Close selected TCP connections" when right-clicking, so I used it for all these dead connections. It immediately fixed the connection issues that the web-app experienced. The worst thing is, this situation recurs, as one or two times an hour a new connection stuck at Last ack appears.
All this means that every couple of days, I have to close these connections manually, as I have neither idea why they happen, nor a solution for now.
So, I am wondering what may the cause be for this?