|Table of Contents|
How/why/when did the project get started ?
BTM tries to recover all resources during startup. If it fails on one of them, it will refuse to start and throw this exception:
Caused by: bitronix.tm.recovery.RecoveryException: error running recovery on resource myResourceUniqueName (XAER_RMERR) at bitronix.tm.recovery.Recoverer.recoverAllResources(Recoverer.java:168) at bitronix.tm.recovery.Recoverer.run(Recoverer.java:106) at bitronix.tm.BitronixTransactionManager.<init>(BitronixTransactionManager.java:47) ... 28 more Caused by: javax.transaction.xa.XAException at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:715) at bitronix.tm.recovery.Recoverer.recover(Recoverer.java:231) at bitronix.tm.recovery.Recoverer.recover(Recoverer.java:194) at bitronix.tm.recovery.Recoverer.recoverAllResources(Recoverer.java:164)
Oracle resources can only be recovered when the configured user has these privileges:
grant select on sys.dba_pending_transactions to myUser; grant select on sys.pending_trans$ to myUser; grant select on sys.dba_2pc_pending to myUser; grant execute on sys.dbms_system to myUser;
Yes. Oracle 11g release 1 does not require this privilege anymore. It seems that Oracle also has a patch to backport this functionality to previous versions of the database (bug 5945463). Details about which versions can be fixed by this patch hasn't been disclosed and it is also not possible to freely download it, you have to contact Oracle support to get your hands on it.
Can BTM run in a cluster ?