Les connexions Oracle de ne pas fermer

Nous avons ASP.NET application qui se connecte à la base de données oracle avec odp.net.

Dernièrement, nous avons commencé à connu quelques problèmes de performances. Il semble que les connexions Oracle ne fermez pas et finit par s'accumuler jusqu'à ce qu'il crash de notre site web.

Comme une première étape, nous avons fait une revue de code et nous avons fait en sorte qu'on ferme toutes les connexions ouvertes après l'exécution.

OracleConnection cn = Helpers.ConnectToDB();
    try
    {

        cn.Open();
        //do somtehing
    }
    catch (Exception ex)
    {
        //log error
    }
    finally
    {
        cn.Close();
        cn.Dispose();
    }

mais cela n'a pas aidé, toutes les quelques heures, les connexions s'accumulent dans le crash de notre site web.

Voici les connexions journal d'hier:

TO_CHAR(DATE_TIME,'DD/MM/YYYY   MACHINE STATUS  CONNECTIONS 
19/01/2012 14:40:03 WORKGROUP\OTH-IIS-1 ACTIVE  1   
19/01/2012 14:38:00 WORKGROUP\OTH-IIS-1 ACTIVE  2   
19/01/2012 14:35:57 WORKGROUP\OTH-IIS-1 ACTIVE  2   
19/01/2012 14:34:55 WORKGROUP\OTH-IIS-1 ACTIVE  28  
19/01/2012 14:33:54 WORKGROUP\OTH-IIS-1 ACTIVE  26  
19/01/2012 14:31:51 WORKGROUP\OTH-IIS-1 ACTIVE  34  
19/01/2012 14:30:49 WORKGROUP\OTH-IIS-1 ACTIVE  96  
19/01/2012 14:29:47 WORKGROUP\OTH-IIS-1 ACTIVE  73  
19/01/2012 14:28:46 WORKGROUP\OTH-IIS-1 ACTIVE  119 
19/01/2012 14:27:44 WORKGROUP\OTH-IIS-1 ACTIVE  161 
19/01/2012 14:26:43 WORKGROUP\OTH-IIS-1 ACTIVE  152 
19/01/2012 14:25:41 WORKGROUP\OTH-IIS-1 ACTIVE  109 
19/01/2012 14:24:40 WORKGROUP\OTH-IIS-1 ACTIVE  74  
19/01/2012 14:23:38 WORKGROUP\OTH-IIS-1 ACTIVE  26  
19/01/2012 14:22:36 WORKGROUP\OTH-IIS-1 ACTIVE  2   
19/01/2012 14:21:35 WORKGROUP\OTH-IIS-1 ACTIVE  2

Crash point eu lieu à 14:27:44 et après le redémarrage de l'application des connexions commencé à tomber.

la chaîne de connexion à utiliser est:

<add name="OracleRead" connectionString="Data Source=xxx;User Id=yyy;Password=zzz;Max Pool Size=250;Connection Timeout=160;" providerName="Oracle.DataAccess"/>

Alors quel est le problème ici?

Faire nous avons besoin de définir ou de modifier l'une de ces propriétés:

Connection Lifetime, Decr Pool Size, Max Pool Size, Min Pool Size?

Qu'est-ce que les paramètres recommandés dans cette situation?

vous de connexion n'ont pas réellement de "mise en commun=True;", est-il donc même en utilisant le regroupement de connexion? avez-vous essayé avec "la Mutualisation=True;" dans la chaîne de connexion.
Mise en commun=True (valeur par défaut)
Avez-vous réussi à résoudre ce problème?
Viens avec un mi-chemin de la solution, fondamentalement, efface les autres séances, voir ma réponse.

OriginalL'auteur baba-dev | 2012-01-20