As mentioned earlier, inline methods are always executed because the JVM does not know / does not care about them.
Oracle drivers on the client side do not have a socket timeout by default. This means that if you have problems with the network, the client low-level socket can get stuck there forever, resulting in a maxxed out connection pool. You can also check network traffic to the Oracle server to make sure that it even sends data or not.
When using the thin client, you can install oracle.jdbc.ReadTimeout
, but I do not know how to do this for the thick (oci) client that you use, I am not familiar with it.
What to do? Learn how you can specify a read wait time for the ojdbc thick driver and watch out for connection timeout exceptions that will clearly signal network problems. If you can change the source, you can wrap the calls and repeat the session when you catch the SQLExceptions associated with the timeout.
To fix the problem quickly, terminate the connection on the Oracle server manually.
It is worth checking the conflict of the session, perhaps this request blocks these sessions. If you find it, you will see which database object is causing the problem.
Koshinae
source share