OracleXAException or XAER_RMERR occurs with Version 4 data source in WebSphere Application Server
 Technote (troubleshooting)
 
Problem(Abstract)
When a Version 4 data source is used to connect to an Oracle database in WebSphere® Application Server V5 and V6, the following exception might be issued when Oracle is enlisted in an XA transaction:


Encountered an XA resource error during an XA end operation: {0} {1}
-3
oracle.jdbc.xa.OracleXAException
at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:659)
at oracle.jdbc.xa.client.OracleXAResource.end(OracleXAResource.java:301)
at com.ibm.ejs.jts.jta.XARminst.endAssociation(XARminst.java:365)
...

You may also see XA resource manager errors, XAER_RMERR, in the logs and traces. The XA exceptions would cause the transaction to roll back, so you would also see TransactionRolledbackExceptions.
 
Cause
The problem is caused by tight coupling of transaction branches in the Oracle JDBC driver. The problem occurs with the Oracle JDBC driver V8.1.7.4 and below and V9.2.0.2 and below.
 
Resolving the problem
The following steps should resolve the problem:
  1. The Oracle client and server must both be upgraded.
    • For Oracle V8.1.7.4, patch 2511780 (available from Oracle Corporation) must be installed. If you are using Oracle 8i at a level below V8.1.7.4, you must first upgrade to V8.1.7.4.
    • For Oracle V9.2.0.2, you can either install patch 2511780 or upgrade to Oracle V9.2.0.3 (which includes the patch) or higher. The latest available maintenance is preferable.
    • You can also upgrade to Oracle 10g.
  2. On WebSphere Application Server, the data source that is used to connect to the Oracle database must be configured with a custom property named transactionBranchesLooselyCoupled set to true.

When the transactionBranchesLooselyCoupled property is set correctly, the following message will appear in the SystemOut.log for the application server:

CONM6021W: A Java Database Connectivity (JDBC) provider property (TransactionBranchesLooselyCoupled) is set in Oracle. Oracle patch 2511780 must be applied before setting this property.

This message will appear even if patch 2511780 is applied or the JDBC driver is at a level that includes the patch. If it is applied, the message can be ignored.

 
 
Cross Reference information
Segment Product Component Platform Version Edition
Application Servers Runtimes for Java Technology Java SDK
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > DB Connections/Connection Pooling
Operating system(s): Windows
Software version: 6.1
Software edition:
Reference #: 1109954
IBM Group: Software Group
Modified date: Mar 28, 2007