WebSphere : Problème dans les transactions Oracle

Dans un environnement ITIM, qui utilise une base Oracle, on a parfois des messages d'erreurs dans le  fichier WebSphere SystemOut.log :

[4/10/14 13:50:15:672 MSD] 0000000a WSRdbXaResour E   DSRA0304E:  XAException occurred. XAException contents and details are: The cause is               : null.
[4/10/14 13:50:15:673 MSD] 0000000a WSRdbXaResour E   DSRA0302E:  XAException occurred.  Error code is: XAER_RMERR (-3).  Exception is: <null>
[4/10/14 13:50:15:674 MSD] 0000000a XARminst      E   WTRN0037W: The transaction service encountered an error on an xa_recover operation. The resource was com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl@1c1b1c1b. The error code was XAER_RMERR. The exception stack trace follows: javax.transaction.xa.XAException

Une méthode de résolution est de supprimer le répertoire de transactions.

Attention : ceci fait perdre toutes les transactions en cours. Il faut donc faire cela en dernier recours...

  • La démarche est la suivante :
  • Arrêter WebSphere
  • Chercher le répertoire transaction dans l'arborescence WebSpshere
  • Supprimer le répertoire
  • Relancer WebSphere

Par exemple :

cd /opt/websphere/V7.0/AppServer/profiles/AppSrv01
find . -name transaction
./tranlog/lnxApp01Node01Cell/node01/server1/transaction
cd
./tranlog/lnxApp01Node01Cell/node01/server1/transaction
rm -r tranlog patnerlog

Puis redémarrer WebSphere.

Il faut également que l'utilisateur possède les droits corrects sur la base, comme expliqué ici :
http://www.vincentliefooghe.net/node/35

Catégorie
Tag