Database Error Messages

Release
toggle
  • 23ai
  • 21c
  • 19c
Updated
Jun 24, 2024

OCI-02079

cannot join a committing or finalized distributed transaction

Cause

Once a transaction branch was prepared, no new transaction branch was allowed to start, nor was the prepared transaction branch allowed to be joined. Also, once a transaction was marked finalized, no new transaction branch was allowed to start, nor was the prepared transaction branch allowed to be joined. A transaction could have been marked finalized if one of the branches in the transaction was rolled back by PMON because it exceeded the transaction idle time limit.


Action

Check the application code to be sure it is not starting a new branch after doing a prepare (this is an XA protocol violation). If no prepare was done, check that the transaction idle time timeout (TransactionTimeout or SesTM) is large enough to avoid expiring before all work in the transaction is complete.