Tuesday, June 24, 2014

ORA-01591: lock held by in-doubt distributed transaction

Yesterday one of my users got this error, and this is how I resolved it.

ORA-01591: lock held by in-doubt distributed transaction 10.xx.xxxxx

To read more about Distributed Transaction errors go here

Following table shows the pending transactions, You can either commit or rollback them to resolve.

select *
from DBA_2PC_PENDING
where state='prepared';


To force rollback all, generate the statements, and run them all

select 'rollback force '''||local_tran_id||''';'  sql_stmt
from DBA_2PC_PENDING
where state='prepared';


To force Commit all, generate the statements, and run them all

select 'commit force '''||local_tran_id||''';'  sql_stmt
from DBA_2PC_PENDING
where state='prepared';





No comments:

Post a Comment