2009-12-16 7 views
2

En utilisant CFMX7 et Oracle 10g ent sur un site Web actif et consommateur de requêtes, j'ai un problème avec le fait que certaines connexions Oracle de mon pool de connexions au serveur Web accumulent des curseurs ouverts. (Dans le langage JDBC cela pourrait être appelé une fuite d'objet ResultSet.)Y a-t-il une fuite Oracle Open Cursor (ORA-01000) dans ColdFusion?

Ceci est une situation confuse dans Oracle; lisez ici pour une explication. De toute façon, il n'est pas mis en cache PreparedStatements qui fuient, c'est en fait ResultSets. Mes DBA ont défini le paramètre OPEN_CURSORS à 500 par connexion.

Assez fréquemment, mes connexions atteignent 450+, ce qui déclenche une alarme DBA (parce que nous espérons éviter de claquer des utilisateurs d'applications Web avec des erreurs d'épuisement du curseur ORA-01000).

Est-ce que quelqu'un sait s'il y a un bug dans ColdFusion (MX7) qui cause ce problème? Est-il possible d'utiliser CF de manière programmatique pour générer une fuite d'objet ResultSet (appelée une fuite de cfquery dans CF)? Aucune suggestion?

Répondre