Site icon IT Tutorial

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

Hi,

During table update or delete in the transaction, you can get ” ORA-01591: lock held by in-doubt distributed transaction ” error.

 

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

If you got ” ORA-01591: lock held by in-doubt distributed transaction ” error, it means there are some uncommitted transactions in the database.

We need to perform rollback or commit force for Uncommitted transactions to solve this problem.

 

 

ORA-01591

You can query uncommitted or pending transaction with following script. This script will generate rollback force command also, so you can execute the result of following command.

 

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

rollback force '72.6.1262301';

 

 

You can perform rollback related transaction with following command.

SQL> rollback force '72.6.1262301';

 

 

 

 

lock held by in-doubt distributed transaction

Following script will generate commit force command also, so you can execute the result of following command.

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

commit force '72.6.1262301';

 

You can perform force commit to related transaction with following command.

SQL> commit force '72.6.1262301';



 

Do you want to learn Oracle Database for Beginners, then read the following articles.

Oracle Tutorial | Oracle Database Tutorials for Beginners ( Junior Oracle DBA )

Exit mobile version