12 Replies Latest reply on Apr 28, 2008 7:19 AM by Mark Little

    Distributed Transactions: what to do when coordinator crasch



      I have several participants of distributed transaction and a coordinator. I use transaction bridging (done by Halliday), so each participant is JTA transaction.

      I don't know what to do when coordinator crashes (or some participant crasches). I would like to rollback the distributed transaction manually by some database command. It is surely database question to database forum (I use Oracle), but maybe somebody knows solution hear.

      I can see global transaction in view v$global_transaction and I can see participants in view v$transaction. But I don't know how to rollback/kill them.

      The only workaround is to shutdown database:-). After this action the views are empty and oracle inserts one row into DBA_2PC_PENDING. This row describes the distributed transaction. The transaction is in state PREPARED. I can see global_trans_id and I can issue command 'rollback force <global_trans_id>'. But as I have written, I can do that after shutting down database.

      Thank you for your help
      Pavel Kadlec