I have problems with Oracle XA?
You have pad=true for the XidFactory in conf/jboss-service.xml (this step is not necessary when using JBossTM which is the default transaction manager from JBoss-4.2.x - it always pads the XID)
You have <track-connection-by-tx/> in your oracle-xa-ds.xml (not necessarily for JBoss-5.x where it is enabled by default and the element is deprecated)
You have <isSameRM-override-value>false</isSameRM-override-value> in your oracle-xa-ds.xml
You have <no-tx-separate-pools/> in your oracle-xa-ds.xml
That your jbosscmp-jdbc.xml is specifying the same version of oracle as the one you use.
That the oracle server you connect to has XA
Configuring Oracle Database for XA Support
You can configure Oracle database to support XA resources. This enables you to use JDBC 2.0-compliant Oracle driver. To XA-initialize Oracle database, complete the following steps:
Make sure that Oracle JServer is installed with your database. If it is not installed, you must add it using Oracle Database Configuration Assistant. Choose "Change an Existing DB" and then select the database to which you want to add Oracle JServer. Choose "Next", then "Oracle JServer" and then "Finish". If the settings you have made to your database previously, are not suitable or insufficient for the Oracle JServer installation, the system prompts you to enter additional parameters. The database configuration file ( init.ora ) is located in \oracle\admin\
Execute initxa.sql over your database. By default, this script file is located in \oracle\ora81\javavm\install . If errors occur during the execution of the file, you must execute the SQL statements from the file manually. Use DBA Studio to create a package and package body named JAVA_XA in SYS schema, and a synonym of this package (also named JAVA_XA) in PUBLIC schema.
A slightly more detailed set of instructions can be found at
Scroll down to the text
"OracleXAException: XAER_RMERR (Internal XA Error)"