Skip to Main Content

ODP.NET

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Oracle.ManagedDataAccess.Client.OracleException (0xFFFFFC0C): Timeout

x0d3rOct 20 2014 — edited Oct 21 2014

Hello there, we're using Oracle.ManagedDataAccess.dll 4.121.1.0 on a Windows 64Bit machine connected to  Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production.  Our application does massive insert and array bind insert.  (Est. 340 to 4000 rows per minute)

This is the typical way our transactions are executed:

        private static string conString = "User Id=xxx;" +

                                          "password=xxxx; " +

                                          "Data Source=xxxxx; " +

                                          "Pooling=true; Min Pool Size=1; Max Pool Size=80; " +

                                          "Incr Pool Size=1; Decr Pool Size=1; " +

                                          "Connection Lifetime=30; Connection Timeout=20; " +

                                          "Enlist=false;";

        public void DoSomething()

        {

            var xon = new OracleConnection(conString);

            xon.Open();

            try

            {

                using (OracleCommand cmd = xon.CreateCommand())

                {

                    cmd.CommandText = "app_smuser.pbb_some_pkg.p_xxx_get_x";

                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.ExecuteNonQuery();

                    // Do something...

                    cmd.Dispose();                   

                }

            }

            catch (Exception ex)

            {

                cs.logger.ErrorFormat("DoSomething: {0}", ex.Message);

            }

            finally

            {

                xon.Close();

                xon.Dispose();

                xon = null;

            }

        }

   

Everything works fine but from time to time we have bottle necks on our business logic so the application starts parallel threads that does array binding insert and singles inserts too but sometimes this exception appear:

Oracle.ManagedDataAccess.Client.OracleException (0xFFFFFC0C): Timeout de solicitud de conexion agrupada

   at OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, String affinityInstanceName, Boolean bForceMatch)

   at OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, String affinityInstanceName, Boolean bForceMatch)

   at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword)

   at Oracle.ManagedDataAccess.Client.OracleConnection.Open()

The worst part is that we can't handle it, and the application slows down until our DBA's have to kill sessions until the exception stops and everything backs to normal.

As I did some research maybe there's a relation with : https://community.oracle.com/thread/2612511  and  Bug 18253856

Any clue ?

Thanks  !

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 18 2014
Added on Oct 20 2014
3 comments
10,973 views