ODP.NET Application hangs without any Exception (maybe clob problem)
581637Jul 16 2009 — edited May 20 2010We have the following situation:
• RDBMS Oracle 9.2.0.5.0
• Application developed with the framework 2.0 using the Oracle Data Provider for .NET 2.102.2.20.
The application starts a thread that makes a set of operations on the database. After the thread sleeps during 2 minutes and then it starts again.
These are the operations the thread makes:
• 3 SELECT sentences to get a number of documents.
• For each document selected, we make an UPDATE sentence that updates a CLOB field.
• Finally a UPDATE sentence is made. This last sentence updates a number of records equal to the number of documents.
Foe example, if we process 50 documents in each thread’s iteration, we make the following sentences:
• 3 SELECT
• 50 UPDATE over clob’s field.
• 1 UPDATE that updates 50 records but don’t use a clob field.
Actually we process 150 documents each 2 minutes. CLOB data is heavily used in our application (select and update).
After 2 hours of process, the application developed (over .NET framework) hangs. If we pause the process on Visual Studio, we see that the application is on the method Close() of the objet OracleConnection. Basically the application stays like a paused state; don’t go on with the process but neither thows an exception. On each operation, we free all the reosurces properly (OracleClob, OracleDataReader y OracleConnection). If we analyze the database side, oracle session’s are inactive and waiting for more data from the client (SQL *NET waiting fot more data from client). The last operation made by the application is done (committed is done).
There are a lot of free resources on the database so Oracle is not overloaded at all.
Two months ago we used the application over framework 1.1 using Oracle Data Provider for .NET 9.2.0.7 and everything was correct. We think the problem is caused by some kind of incompatibilty between versions of the ODP.Net and the Oracle database. Any idea about this problem?
Thank you and best regards.