IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Wildfly/JBoss Java Discussion :

Jboss crée des sessions Oracle (nls_instance_parameters ORA-04031)


Sujet :

Wildfly/JBoss Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut Jboss crée des sessions Oracle (nls_instance_parameters ORA-04031)
    Bonjour,
    J'utilise Jboss avec Oracle 10G.
    Pour une raison que j'igonre, Jboss a commencé envoyer des requêtes
    SELECT value
    FROM nls_instance_parameters
    WHERE parameter = 'NLS_DATE_FORMAT'
    et à ouvrir des sessions Oracle qui ne se ferment pas mais qui restent inactives. ça finit par saturer la base oracle, du coup Jboss n'arrive plus à ouvrir de session.

    org.jboss.util.NestedSQLException: Could not create connection; - nested throwable: (java.sql.SQLException: ORA-04031: unable to allocate 1568 bytes of shared memory ("shared pool","unknown object","sga heap(1,1)","parameter handle") ); - nested throwable: (org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: ORA-04031: unable to allocate 1568 bytes of shared memory ("shared pool","unknown object","sga heap(1,1)","parameter handle")
    )) .


    Est ce que quelqu'un a déjà rencontré ce problème et comment faire pour le résoudre ?

    Merci beaucoup

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    t'as pas un stacktrace avec ton exception, avec le stacktrace on pourrait savoir d'ou viens la tentative de connection.

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut
    Merci pour ta réponse.
    Je n'ai pas de stacktrace.
    L'origine de mon problème, c'est que du jour au lendemain, sur l'un des pools JDBC, Jboss s'est mis à envoyer des requêtes sur la table nls_instance_parameters, sans les fermer correctement, ce qui sature la base Oracle, parce que le nombre maximum de sessions simultanées est atteint.

    Toute tentative de connexion à Oracle, par mon application via JDBC ou même par SQL Plus à la ligne de comande se solde par la même erreur ORA-04031.

    Le problème étant critique, j'ai même essayé de passer Jboss 4 à Jboss 5, mais j'ai le même comportement.

    Merci d'avance pour ton aide.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Les requêtes en question ne proviennent pas de ton code ?
    Ne s'agit il pas d'une connexion pas fermée dans ton code d'accès à la base de données ?

  5. #5
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut
    Non, la requête que je vois par la console Oracle n'est pas dans mon code
    SELECT value
    FROM nls_instance_parameters
    WHERE parameter = 'NLS_DATE_FORMAT'

    Dans mon code, je passe par les Pool JNDI de Jboss pour me connecter à Oracle.

    Je suppose que cette requête est utilisé par JDBC pour mapper correctement le type Date des colonnes des tables Oracle avec mes objets java.sql.Date ou java.sql.Timestamp avant d'exécuter mes requêtes SQL.

  6. #6
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut
    J'ai fait des recherches dans google et j'ai trouvé une personne qui a eu le même problème.
    http://www.orafaq.com/forum/t/44410/0/
    Deux personnes lui ont répondu mais les réponses ne sont pas vraiment satisfaisantes. Pas rassurant tout ça

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Jboss] nombre des sessions
    Par AmineDev9 dans le forum Wildfly/JBoss
    Réponses: 3
    Dernier message: 29/04/2009, 17h09
  2. Erreur oracle ORA-04031
    Par Invité dans le forum JDBC
    Réponses: 0
    Dernier message: 03/03/2009, 12h52
  3. jboss seam gestion des sessions d'utilisateur
    Par soussou126 dans le forum Wildfly/JBoss
    Réponses: 0
    Dernier message: 31/12/2008, 11h04
  4. Refaire l'ecran des sessions oracle de DBA studio en PHP
    Par Jonathan.b dans le forum Oracle
    Réponses: 13
    Dernier message: 14/01/2008, 17h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo