Skip to Main Content

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, Gustavo.

Asked: September 06, 2016 - 6:37 pm UTC

Last updated: September 07, 2016 - 3:10 am UTC

Version: 12.1.0.2.0

Viewed 1000+ times

You Asked

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?

and Connor said...

If your database is *totally* stuck, then you might still be able to do a hanganalyze.

Tanel has a nice write up here on that

http://tech.e2sn.com/oracle/troubleshooting/hang/how-to-log-on-even-when-sysdba-can-t-do-so

Then log a Support call and provide them that dump.

But if even lsnrctl doesn't respond, that sounds more like an OS level issue (since lsnrctl does not talk to the database). So you might be into a OS troubleshooting exercise there with something like strace or truss.

Hope this helps.

Is this answer out of date? If it is, please let us know via a Comment