Oracle: lock held by in-doubt distributed transaction
This article describes the error message triggered as a result of a locked resource in a pending transaction as well as the solution.
"ORA-01591: lock held by in-doubt distributed transaction"
An attempt was made to access resource that is locked by a dead two-phase commit transaction that is in prepared state.
Warning: Please consider that the solution provided below requires a complete domain restart!
- Stop all COO-services of the affected domain.
Note: Before stopping the COO-services ensure that all kernel instances have been stopped.
- Check if there are any pending transactions left on the Oracle database.
select * from sys.dba_pending_transactions select * from dba_2pc_pending
- If there are any transactions left, execute a rollback according to http://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_txnman005.htm#A...
- Restart all stopped COO-services
- Restart the stopped kernel instances and thoroughly test the domain
- Fabasoft Folio (all versions)
- Fabasoft eGov-suite (all versions)
while using an Oracle database