ODP -1000 Error And ORA-03113 Intermittent Connection Request Timed Out Errors (Doc ID 1445761.1)

Last updated on JULY 05, 2017

Applies to:

Oracle Data Provider for .NET - Version 11.2.0.2 and later
Microsoft Windows (32-bit)
***Checked for relevance on 06-Feb-2015***

Symptoms

On : 11.2.0.2 version, Oracle Data Provider for .NET
IIS 7.5

Problem:
Intermittent "Connection Request Timed Out" Errors in the Application which uses ODP.NET.

When trying to use the application they are getting a ORA-03113 end-of-file on communications channel disconnects randomly. Oracle Net client traces showed the disconnect was due to an underlying network transport timeout when the application tried to reuse a socket connect that had gone unused for some 5+ hours.

Since the upgrade the error message returned has now changed to "Connection Request Timed Out", but the underlying condition is the same in that the Application tries to use a stale connection from the pool and Oracle Net client traces show the connection reports a timeout disconnect.

Error Stack They are seeing:

***EXCEPTION***
-SOURCE-
Oracle Data Provider for .NET
-MESSAGE-
Connection request timed out
-STACKTRACE-
at AgentWebPortal_DAL.MultiStateAgentPolicyDAL.HandleOracleException(OracleException oEx, String callingProc)
at AgentWebPortal_DAL.MultiStateAgentPolicyDAL.GetMultiStatePolicy(DataSet& dsPolicyCCTrans, Int64 callerId, Int64 agentId, Int32 PolicyID)
at AgentWebPortal_BLL.MultistatePolicy.MultistatePolicySearch.GetPolicyCCTransactionsForPolicy(DataSet& dsPolicyCCTrans, Int32 PolicyID)
-TARGETSITE-
AgentWebPortal_Util.Exception.SLIPException HandleOracleException(Oracle.DataAccess.Client.OracleException, System.String)
-HELPLINK-
AgentWebPortal_Util.Exception.SLIPException HandleOracleException(Oracle.DataAccess.Client.OracleException, System.String)


Here is how it looks in the ODP traces:

TIME:2012/02/22-11:58:53:890 TID: f98 (ENTRY) OpsConCheckConStatus(): (45a45e0)=73024992 <----------------------- Here we go to check the validity of the connection because validate connection=true
TIME:2012/02/22-11:59:15:437 TID: f98 (EXIT) OpsConCheckConStatus(): RetCode=0 Line=2891 (45a45e0)=73024992 <----------------- It takes more then the default 15 seconds to get a response from the DB that the conn is invalid so we close it and the original open req fails with ODP-1000
TIME:2012/02/22-11:59:15:437 TID: f98 (VALID) Dead connection
TIME:2012/02/22-11:59:15:453 TID: f98 (ENTRY) OpsConClose(): (45a45e0)=73024992
TIME:2012/02/22-11:59:15:453 TID: f98 (ENTRY) OpsPrmFreeOpoPrmCtx()
TIME:2012/02/22-11:59:15:453 TID: f98 (ENTRY) OpsPrmResetOpoPrmCtx()
TIME:2012/02/22-11:59:15:453 TID: f98 (EXIT) OpsPrmResetOpoPrmCtx(): RetCode=0 Line=434
TIME:2012/02/22-11:59:15:453 TID: f98 (ENTRY) OpsConRelRef(): (45a45e0)=73024992
TIME:2012/02/22-11:59:15:453 TID: f98 (EXIT) OpsConRelRef(): RefCount=1 RetCode=0 Line=3496 (0)=0
TIME:2012/02/22-11:59:15:453 TID: f98 (EXIT) OpsPrmFreeOpoPrmCtx(): RetCode=0 Line=623
TIME:2012/02/22-11:59:15:453 TID: f98 (ENTRY) OpsConRelRef(): (45a45e0)=73024992
TIME:2012/02/22-11:59:15:453 TID: f98 (ENTRY) OpsErrFreeCtx()
TIME:2012/02/22-11:59:15:453 TID: f98 (EXIT) OpsErrFreeCtx(): RetCode=0 Line=224
TIME:2012/02/22-11:59:15:453 TID: f98 (EXIT) OpsConRelRef(): RefCount=0 RetCode=0 Line=3496 (0)=0
TIME:2012/02/22-11:59:15:453 TID: f98 (EXIT) OpsConClose(): RetCode=0 Line=1293 (45a45e0)=73024992
TIME:2012/02/22-11:59:15:453 TID: f98 (ENTRY) OpsConDispose(): (0)=0
TIME:2012/02/22-11:59:15:453 TID: f98 (EXIT) OpsConDispose(): RetCode=0 Line=1371
TIME:2012/02/22-11:59:15:453 TID: f98 (POOL) Total number of connections for pool (id: 773137331) : 0
TIME:2012/02/22-11:59:15:484 TID: f98 (ERROR) ODP error code=-1000; ODP message=Connection request timed out
TIME:2012/02/22-11:59:15:546 TID: f98 (ENTRY) OracleConnection::Close()
TIME:2012/02/22-11:59:15:546 TID: f98 (EXIT) OracleConnection::Close()
TIME:2012/02/22-12:07:36:421 TID: f98 (POOL) Total number of connections for pool (id: 773137331) : 4

Changes

They were allowing the sqlnet connection to sit idle for several hours before trying to re-use it.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms