Oracle
 sql >> Base de données >  >> RDS >> Oracle

Fermer ou ne pas fermer une connexion Oracle ?

Voici un jeu de diapositives contenant les meilleures pratiques recommandées par Oracle :

http://www.oracle .com/technetwork/topics/dotnet/ow2011-bp-performance-deploy-dotnet-518050.pdf

Vous obtenez automatiquement un pool de connexions lorsque vous créez une connexion OracleConnection. Pour la plupart des applications de niveau intermédiaire, vous voudrez en tirer parti. Vous souhaiterez également régler votre pool pour une charge de travail réaliste en activant les compteurs de performances dans le registre.

Veuillez consulter l'aide en ligne d'ODP.NET pour plus de détails sur le regroupement de connexions. Les paramètres du pool sont ajoutés à la chaîne de connexion.

Un autre problème que les gens rencontrent souvent avec OracleConnections est que le ramasse-miettes ne réalise pas à quel point ils consomment beaucoup de ressources et ne les nettoie pas rapidement. Ceci est aggravé par le fait qu'ODP.NET n'est pas entièrement géré et que certaines ressources sont donc cachées au ramasse-miettes. Par conséquent, la meilleure pratique consiste à Close() ET Dispose() tous les objets Oracle ODP.NET (y compris OracleConnection) pour forcer leur nettoyage.

Ce problème particulier sera atténué dans le fournisseur entièrement géré d'Oracle (une version bêta sera bientôt disponible)

(EDIT :ODP.NET, le pilote géré est maintenant disponible.)

Christian Shay

Oracle