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 !