|
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:
- 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.
- 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 |
|
|
|
|
|
|