We have a Java application that uses a connection pool with Oracle database, during the week these conections are frequently refreshed (closed and opened again), the problem is at some point (after two or three days) the application is unable to acquire new connections, it get stuck on that line:
Runner004" prio=10 tid=0x00007f4b2c119800 nid=0x12b6 runnable [0x00007f4b00151000]
java.lang.Thread.State: RUNNABLE
at oracle.jdbc.driver.T2CConnection.t2cCreateState(Native Method)
at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:530)
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:662)
at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:54)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:560)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at TesteDB.getConnection(TesteDB.java:238)
at TesteDB$Runner.run(TesteDB.java:285)
Version information:
- Oracle Instant Client 12.1.0.2.0 on Linux.
- The database version is 11.2.0 or 10.2.0.
Troubleshooting we did, when the database stopped to respond:
- Connect through SQLPLUS doesn't respond anything. It just waits forever.
- TNSPING doesn't respond anything.
- lsnrctl status doesn't respond anything.
- Nothing on alert.log
- We rebooted the listener, same problem.
- We rebooted the database service, it started to work.
We have absolutely no idea what we should look into, any suggestions?