Weblogic source des données JDBC donne “Pas de ressources actuellement disponibles dans la piscine” avec 1 connexion active
Je suis à l'aide de weblogic source des données JDBC et ma DB, Oracle 10g, ci-dessous la configuration.
Ça marchait bien, mais, soudain, il a commencé à donner de problème, veuillez voir ci-dessous exception.
Weblogic JDBC
source de données,java.sql.SQLException:
Ne peut pas obtenir XAConnection
weblogic.commun.resourcepool.ResourceLimitException:
Pas de ressources actuellement disponibles dans
piscine<?xml version="1.0" encoding="UTF-8"?> <jdbc-data-source
xmlns="http://www.bea.com/ns/weblogic/90"
xmlns:s="http://www.bea.com/ns/weblogic/90/security"
xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/920
http://www.bea.com/ns/weblogic/920.xsd">
XL-Référence-DSjdbc:oracle:oci:@abc.COM
oracle.jdbc.le pilote.OracleDriverl'utilisateur
DEV_260908mot de passe
mot de passedll
ocijdbc10protocole
becoracle.jdbc.V8Compatible
vraibaseDriverClass
oracle.jdbc.le pilote.OracleDriver1
100
1
vrai
SQL SELECT 1 FROM DUALDataJndi
OnePhaseCommit
Cette exception est à venir sur l'environnement de dev, où l'utilisateur connecté n'est qu'un.
Je sais que c'est lié à la piscine max taille mais je pense aussi que cela pourrait être dû à Oracle, peuvent être Oracle n'est pas en mesure de créer des connexions.
Mes questions:
- Est-il un debug/enregistrement de paramètre pour activer la source de données de journalisation afin que je puisse vérifier le nombre de connexions acquis, libéré, non utilisés et dans les journaux?
- Comment puis-je vérifier oracle limite de connexion pour un utilisateur particulier?
OriginalL'auteur carnot | 2010-04-20
Vous devez vous connecter pour publier un commentaire.
Il sonne comme quelque chose qui est progressivement fuite de connexions, comme vous semblez le suspect, et vous êtes finalement atteindre le JDBC max de la taille du pool. Je ne pense pas que vous êtes frapper l'Oracle des limites de la première que vous obtiendrez un ORA exception, et également ne pas être en mesure de se connecter à la base de données directement.
Vous pouvez configurer la source de données pour recueillir des informations de profil à partir de la console WebLogic; à partir de la structure du domaine de menu, allez à services->JDBC->sources de données, choisissez votre connexion, et allez à l'onglet diagnostics en vertu de configuration. Mais vous pourriez être en mesure d'obtenir une idée approximative de la base de données statistiques de la piscine; aller à l'environnement->serveurs, choisissez votre serveur, et de regarder le JDBC onglet sous surveillance. Qui montre les connexions actives et de la marque des hautes eaux. Si l'un est le même que celui de votre max poole taille alors que c'est une assez bonne indication que vous êtes à la fuite.
De l'Oracle côté, vous pouvez regarder le nombre de sessions autorisées avec
show parameters sessions
, mais aussi besoin de vérifier lashow parameters processes
qui peuvent limiter davantage (et certains de ceux-ci sont nécessaires par les internes de processus commepmon
). Vous pouvez voir le nombre de connexions ouvertes que vous avez avec quelque chose commeselect count(*) from v$session where username = 'DEV_260908';
. Basé sur l'erreur que je ne m'attends pas que d'être très proches de la session/les limites des processus, mais doit correspondre à la connexion active compter à partir de la console.OriginalL'auteur Alex Poole
Weblogic server est impossible de récupérer une connexion.
Cela peut se produire si vous êtes à la fermeture d'un objet de connexion et essayez d'utiliser la même connexion de l'objet à nouveau.
Espère que cela aide !
OriginalL'auteur
Permettre WebLogic ServerTransactionTimeout.
OriginalL'auteur Lokesh Mudipalli