ORA-02049: timeout: distributed transaction waiting for lock

You can get ” ORA-02049: timeout: distributed transaction waiting for lock ” error during the drop any user.

 

ORA-02049: timeout: distributed transaction waiting for lock

 

Details of error are as follows.

ORA-02049: timeout: distributed transaction waiting for lock
Cause: exceeded INIT.ORA distributed_lock_timeout seconds waiting for lock.
Action: treat as a deadlock

ERROR at line 1:

ORA-02049: timeout: distributed transaction waiting for lock

ORA-02063: preceding line from TABLE_NAME
  

ORA-02049

To solve this error, You can increase the distributed_lock_timeout parameter as follows.

SQL> show parameter distributed_lock_timeout
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------
distributed_lock_timeout             integer     60

SQL> alter system set distributed_lock_timeout=600 scope=spfile sid='*';

 

 

timeout: distributed transaction waiting for lock

And Sometimes this error is got because of open_links , so To solve this error, You should increase the open_links parameter as follows.

alter system set open_links=20 scope=spfile sid='*';
alter system set open_links_per_instance=20 scope=spfile sid='*';

Then restart database to activate these parameter as follows.

 

shutdown immediate;
startup;

 

If you don’t want to increase open_links because of restart database, then you can close the existing database links as follows.

 

SQL> exec DBMS_SESSION.CLOSE_DATABASE_LINK (Database_Link_Name);

SQL> alter session close database link Database_Link_Name;

 

 

 

Or you can identify which database links in doubt transactions waiting for manual rollback or commit on Remote database.

SQL> SELECT LOCAL_TRAN_ID, GLOBAL_TRAN_ID, STATE, MIXED, COMMIT# FROM DBA_2PC_PENDING;

132.71.1435859     CORE.0d9f9683.882.14.323447  forced   rollback  no  40514891501

 

You can run manual rollback or commit as follows.

ROLLBACK FORCE '132.71.1435859';


OR


COMMIT FORCE '132.71.1435859';

 

 

 

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

Oracle Database Tutorials for Beginners ( Junior Oracle DBA )

About Mehmet Salih Deveci

I am Founder of SysDBASoft IT and IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience.I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource.I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks.I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients.If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress [email protected].-                                                                                                                                                                                                                                                 -Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  [email protected] a mail atabilirsiniz.

Leave a Reply

Your email address will not be published. Required fields are marked *