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

Websphere Java Discussion :

Erreur Oracle XA avec le WAS


Sujet :

Websphere Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut Erreur Oracle XA avec le WAS
    Bonjour,

    Je développe sous RAD6.

    Au démarrage de mon RAD, j'obtiens cette stacktrace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    [09/03/11 09:41:13:417 CET] 0000001c WSRdbXaResour E   DSRA0304E:  L'exception XAException a été générée. Le contenu et les détails de l'exception XAException sont les suivants : The cause is               : null.
    [09/03/11 09:41:13:417 CET] 0000001c WSRdbXaResour E   DSRA0302E: Erreur XAException.  Le code d'erreur est : XAER_RMERR (-3).  L'exception est : <null>
    [09/03/11 09:41:13:417 CET] 0000001c XARminst      E   WTRN0037W: Le service de transaction a rencontré une erreur sur une opération xa_recover. La ressource était com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl@2edc2edc. Le code d'erreur était XAER_RMERR. Trace de pile d'exceptions: javax.transaction.xa.XAException
    	at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:526)
    	at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.recover(WSRdbXaResourceImpl.java:1067)
    	at com.ibm.ws.Transaction.JTA.XARminst.recover(XARminst.java:137)
    	at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:648)
    	at com.ibm.ws.Transaction.JTA.PartnerLogTable.recover(PartnerLogTable.java:512)
    	at com.ibm.ws.Transaction.JTA.RecoveryManager.resync(RecoveryManager.java:1844)
    	at com.ibm.ws.Transaction.JTA.RecoveryManager.run(RecoveryManager.java:2352)
    	at java.lang.Thread.run(Thread.java:816)
    En ayant fait des recherches sur le net, j'ai trouvé ce lien qui explique mon pb :

    http://publib.boulder.ibm.com/infoce...dsaccess2.html

    Or j'ai demandé au dba d'exécuter ces 4 requêtes décrit par le doc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    grant select on pending_trans$ to public;
    grant select on dba_2pc_pending to public;
    grant select on dba_pending_transactions to public;
    grant execute on dbms_system to <utilisateur;
    Rien y fait, j'ai tjs le même souci.....

    Il faut savoir que j'arrive bien à accéder à la base de donnée tout de même car je peux naviguer dans l'application, mais j'ai cette erreur qui m'enerve....

    Si vous avez la moindre idée, elle serait la bienvenue !!

    Merci d'avance.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    je pense que cela signifie que le gestionnaire de transactions n'a pas pu effectuer une opération de restauration XA de sorte qu'Oracle a renvoyé une erreur XAER_RMERR pour indiquer que WebSphere n'a pas correctement fermé sa connexion avec Oracle. Lorsque le serveur d'applications WebSphere tente de rétablir la connexion, Oracle doit annuler toutes les transactions en cours, mais l'utilisateur Oracle qu'utilise WebSphere pour se connecter à la base de données ne peut pas effectuer d'opération de restauration.

    Apparemment en supprimant les fichiers Logs suivants le problème sera réglé:

    C:\IBM\WebSphere\ID\6.0\pf\wps\tranlog\widCell\widNode\server1\transaction\tranlog

    C:\IBM\WebSphere\ID\6.0\pf\wps\tranlog\widCell\widNode\server1\transaction\partnerlog

    (tu fera l’équivalence entre ces chemins et le chemin où t'as installé ton serveur)

    j'espère que ça a marché ^^

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut
    Merci c'est génial !!
    c'était bien ça :-) !!!

    Bon par contre, j'obtiens tjs une autre erreur :

    MQJMS2000: Impossible de fermer la file d'attente MQ.

    Je vais faire des recherches sur ça, mais en tout cas le pb sur le XA est résolu...
    Merci beaucoup !

    good job

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut
    Par contre, pourrais-tu m'expliquer pourquoi en supprimant ces logs ça a permis de résoudre le souci ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Content que le problème a était résolu

    Bon, concernant ta deuxième erreur, c'est en fait JMS tente de fermer une file d'attente WebSphere MQ, mais a rencontré une erreur. La file d'attente peut-être déjà fermé (et c'est souvent le cas), ou bien même ça pourrait être un autre thread qui est en cours d'exécution pendant que la fonction close() est appelée ( la fonction qui ferme le file d'attente).

    Pour cela (vu les différentes causes possibles), il faut repérer le lien qui cause cette erreur (normalement en cliquant sur le lien ), ainsi tu pourra effectuer un close().

    desolé, mais je pense que cette fois ci je n'étais pas d'une grande aide pour toi.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Et comme explication de la première erreur, c'est en fait les données sont écrites dans les fichiers dans le répertoire "tranlog", mais les données déjà existants ne changent pas.Du coup, il semble que les fichiers journaux tranlog et partenlog ne sont pas mis à jour, d'où l'erreur.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut
    Merci pour ta réponse.

    Concernant l'erreur JMS, je suis dépité....

    je comprends rien, je sais pas pourquoi ça plante ... !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    [09/03/11 18:04:01:474 CET] 00000046 ConnectionEve A   J2CA0056I: Le gestionnaire de connexions a reçu une erreur fatale de connexion de l'adaptateur de ressources pour la ressource JMS$XAE_CF$JMSManagedConnection@1930851094.  L'exception reçue est javax.jms.JMSException: MQJMS2007: Impossible de transmettre un message à la file d'attente MQ.
    [09/03/11 18:04:01:474 CET] 00000046 ConnectionEve A   J2CA0056I: Le gestionnaire de connexions a reçu une erreur fatale de connexion de l'adaptateur de ressources pour la ressource jms/XAE_CF.  L'exception reçue est javax.jms.JMSException: MQJMS2007: Impossible de transmettre un message à la file d'attente MQ.
    [09/03/11 18:04:29:942 CET] 00000046 ConnectionEve A   J2CA0056I: Le gestionnaire de connexions a reçu une erreur fatale de connexion de l'adaptateur de ressources pour la ressource JMS$XAE_CF$JMSManagedConnection@1930851094.  L'exception reçue est javax.jms.JMSException: MQJMS2000: Impossible de fermer la file d'attente MQ.
    [09/03/11 18:04:32:411 CET] 00000046 SystemOut    : MQJMS2000: Impossible de fermer la file d'attente MQ.
    [09/03/11 18:04:32:411 CET] 00000046 SystemOut    : MQJE001 : Code achèvement 2, raison 2019
    [09/03/11 18:05:54:458 CET] 00000039 TimeoutManage I   WTRN0006W: Transaction 0000012E9B93225A00000001000000209D498E92E9D8B5008D228DC252D62D23294F04C60000012E9B93225A00000001000000209D498E92E9D8B5008D228DC252D62D23294F04C600000001 en dépassement de délai après 120 secondes.
    [09/03/11 18:05:57:989 CET] 00000046 SystemOut     O ERROR - 09/03/2011 18:05:57.958 error - Erreur lors de la demande d'envoi des commandes échuesjavax.jms.JMSException: MQJMS2000: Impossible de fermer la file d'attente MQ.javax.jms.JMSException: MQJMS2000: Impossible de fermer la file d'attente MQ.
    javax.jms.JMSException: MQJMS2000: Impossible de fermer la file d'attente MQ.
    	at traiterException

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Tu peux accéder aux fichiers MQ error Log ??? ils contient souvent plus de détails à propos de l'erreur ...
    autre chose, d'après ce que j'ai compris, tu essayes d'envoyer un msg au JMS n'es ce pas ??? si oui , il est de quelle taille ? ....

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut
    non je n'ai pas accès aux logs malheureusmenet, le message c'est juste "A".

    Mon collègue a monté un environnement de dev RAD6, avec la même config, ça fonctionne.

    Moi non...

    Je me dis, que c'est peut être encore une erreur bizarre (comme les pb avec XA que tu as résolus et que lui n'avait pas)....

    C'est vraiment étrange cette histoire

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Oui ... toujours y a des erreurs de ce genre qui ns brûlent la tête ... en plus, le paramétrage de l'environnement est toujours la tâche la plus difficile à réaliser ... une fois que ça marche, c presque la moitié du chemin ...

    l'erreur 2007, càd le fait que le message ne peut pas être transmis à la file d'attente, je pense que c'est soit :
    - la file d'attente n'existe pas ( :-)... )
    - la taille du message est plus grande que la taille de la file (alors dans ce cas faut changer le paramètre depth si je me rappelle bien )
    - la file est pleine ( cela arrive souvent, a force d'y mettre des messages sans les utiliser après ) donc tu dois la vider

    essaye de voir ces points là ! .... Courage

    PS : j'ai trouvé cela dans un pdf que j'ai gardé précieusement ^^ :
    Pour modifier l'attribut de longueur de message pour la file d'attente, le
    gestionnaire de files d'attente et le canal :
    1. Accédez aux propriétés du gestionnaire de files d'attente Websphere MQ
    Explorer.
    2. Cliquez sur l'onglet Etendu et définissez l'attribut de longueur maximale de
    message sur une valeur supérieure à la taille du message.
    3. Accédez aux propriétés du canal.
    4. Cliquez sur l'onglet Etendu et définissez l'attribut de longueur maximale de
    message sur une valeur supérieure à la taille du message.
    5. Accédez aux propriétés de la file d'attente spécifiée lors de la création de la
    passerelle.
    6. Cliquez sur l'onglet Etendu et définissez l'attribut de longueur maximale de
    message sur une valeur supérieure à la taille du message.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Essaye également de vérifier si dans les paramètres de :
    - Connection pool
    - Session pools
    tu as la variable Purge Policy à EntirePool;
    si non, met la à EntirePool et redémarre le serveur.

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut
    oui je l'avais déjà fait mais sans succès.....

    y a des choses que je pige vraiment rien...

    J'ai vraiment la même config de A à Z !!!! et ça plante.............

Discussions similaires

  1. Erreur Oracle ORA-12154 avec 10g et odp .NET
    Par Xaar dans le forum Connexions aux bases de données
    Réponses: 2
    Dernier message: 27/03/2008, 10h12
  2. Erreur 04030, Oracle 8i avec assez de RAM
    Par julien20vt dans le forum Administration
    Réponses: 5
    Dernier message: 08/02/2008, 17h04
  3. Erreur oracle avec BLOB
    Par identifiant_bidon dans le forum SQL
    Réponses: 5
    Dernier message: 05/11/2007, 21h56
  4. Erreur adaptateur SRDemo avec Oracle
    Par mihaestii dans le forum JDeveloper
    Réponses: 7
    Dernier message: 16/08/2007, 13h21
  5. [C#] Erreur Oracle avec une requete paramétrée
    Par gael.mases dans le forum C#
    Réponses: 1
    Dernier message: 02/12/2005, 10h39

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