The two lines that have the string XA.Error are providing
the same information. One is the numeric version of the XA error code, the
other is the text equivalent. So for the two lines below, XAER_RMERR has a
numeric value of -3.
The.XA.Error.is............:.-3
The.XA.Error.message.is....:.A.resource.manager.error.has.occured.in.the.transaction.branch.
You can look up the XA Error for Oracle. Here is a link that documents
the XAException
error codes and gives a short description of each of these error
codes, javax.transaction.xa
Class XAException
Looking up the Oracle ORA-nnnnn message
The lines that contain Oracle.Error.code show the numeric message
number and indicate to what message the number maps. You can search for
this message number on the internet. To search an Oracle error, look for
ORA-nnnnn, where nnnnn is a five-digit
number.
For this example, the message you look up is ORA-02051.
The.Oracle.Error.code.is...:.2051
The.Oracle.Error.message.is:.Internal.XA.Error in bundle
IBMDataStoreAdapterNLS
Looking for exceptions in the ffdc logs
Examine the serverName_exception.log in the
install_root/WebSphere/AppServer/logs/ffdc
directory. Search for the time stamp of the error which uses the format
yy.mm.dd hh:mm:ss.
For this example, search for 03.12.11 10:45:48. You are looking for all
exceptions logged in the ffdc log at [12/11/03 10:45:48:071 CST].
In this example, the following exceptions were logged at this time:
+16 1 03.12.11 10:45:48:113 CST
oracle.jdbc.xa.OracleXAException com.ibm.ejs.j2c.XATransactionWrapper.end
417
+17 1 03.12.11 10:45:48:280 CST
oracle.jdbc.xa.OracleXAException
com.ibm.ejs.jts.jta.WSResourceImplBase.end 336
+18 1 03.12.11 10:45:48:342 CST
com.ibm.ejs.jts.jta.TransactionDisassociationException
com.ibm.ejs.jts.jta.WSResourceImplBase.completionPreinvoke 435
+19 1 03.12.11 10:45:48:471 CST
org.omg.CORBA.TRANSACTION_ROLLEDBACK
com.ibm.ejs.jts.jts.ResourceVector.deliverOutcomeWork 689
+20 1 03.12.11 10:45:48:844 CST
com.ibm.ejs.jts.jta.IllegalResourceStateException
com.ibm.ejs.jts.jta.WSResourceImplBase.completionPreinvoke 435
+21 1 03.12.11 10:45:48:925 CST
java.sql.SQLException
com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.destroy 1024
Now look for the complete exception in one of the ffdc files with names
like:
serverName_49bed2_03.12.11_09.10.18_1.txt. This search finds the full
exception with the Java™ stack trace.
Determining what action the transaction is performing when the error
occurs
Other important information to gather is the exception that is thrown
when this error occurs. With this you can determine what the transaction
was doing when the exception occurred, and you can determine how to
interpret the error.
The ffdc errors above indicate that the call
to com.ibm.ejs.j2c.XATransactionWrapper.end is
causing the exception to be thrown.
Another source of information is the exception that is thrown when the
problem occurs. There are three places you might find this:
- The systemOut.log or systemErr.log, if it displays the full exception
- The ffdc files that list the full exception information
- A JTS trace. Refer to this technote for information on how to enable
the trace, MustGather:
Java Transaction Service (JTS) problems in version 5.0, 5.1 and
6.0
|