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