We are facing some strange behavior in calling stored procedure from java. We are using plain JDBC connection in our stand alone application to invoke some stored procedure which is taking more than 1 hour to finish.
Problem is that when we are after the stored procedure finishes executing, we are not getting any response in java code. Java code seems to be stuck but after the Socket is getting timed out, we are getting readTimedOut exception in java. This happens only on 1 instance of our database, on other instance it works fine

Is the firewall between the servers may cause the problem. Or there is some parameter in oracle that is causing the connection to be terminated. Is there some parameter in JDBC driver. We are using jdbc.odbc.OracleDrive

Are you committing the transaction? If you're using straight JDBC, by calling java.sql.Connection.commit() on the Connection.
–
tjg184Nov 20 '12 at 17:12

1

you need to set Time-To-Live Connection Timeout which allows borrowed connections to remain borrowed for a specific amount of time before the connection is reclaimed by the pool. This timeout feature helps maximize connection reuse and helps conserve systems resources that are otherwise lost on maintaining connections longer than their expected usage.
–
Subhrajyoti MajumderNov 20 '12 at 17:18