Solved

ORA-02049

Posted on 2003-11-10
5
3,371 Views
Last Modified: 2011-10-03
I did increased time to 150 . what should i do
The following error has occurred:
ORA-02049: timeout: distributed transaction waiting for lock
ORA-02063: preceding line from OPSWEB.US.ORACLE.CO

0
Comment
Question by:mehak
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 
LVL 9

Accepted Solution

by:
konektor earned 250 total points
ID: 9716089
check not only INIT.ORA parmater DISTRIBUTED_LOCK_TIMEOUT which defines timeout for distributed transactions, but check it's actual value in v$parameter table.
0
 
LVL 5

Assisted Solution

by:DrJekyll
DrJekyll earned 250 total points
ID: 9716972
From MetaLink

Error:  ORA 2049 Text:   timeout: distributed transaction waiting for lock
-------------------------------------------------------------------------------
Cause:  Exceeded <Parameter:DISTRIBUTED_LOCK_TIMEOUT> seconds waiting for lock.
Action: treat as a deadlock    ***
Important: The notes below are for experienced users - See [NOTE:22080.1]  Explanation:  Ignore the "Action" above - this is non-sense.        
Basically ORA 2049 is signalled if:          
a) you are waiting on another sessions TX enqueue            (Eg: usually you are waiting for a row lock)     AND  
b) you are performing a distributed operation.            
 Eg: You are using a DB link for something, even if it is only a select AND  
c) You wait for longer than 'distributed_lock_timeout'      The use of a DB Link opens you up to distributed rules of operation      even if you only READ from it.       You can either increase the timeout OR handle the ORA 2049 as a 'try again'  exception that is not fatal. This mechanism exists to prevent deadlock  so any handling of 'TRY AGAIN' should include an escape clause to prevent  deadlock.  

Another MetaLink Note:

The distributed_lock_timeout parameter was obsoleted because the default value of 60 seconds was sufficient in most applications. If this value needs to be increased, add the _distributed_lock_timeout parameter (note the leading underscore) in your INIT.ORA file. The value is still in seconds.
0
 
LVL 6

Expert Comment

by:morphman
ID: 9717348
What is managing/initiating your distributed transaction? A transaction manager?

Are you running on multiple transaction domains with multiple gateways? These are very sucseptable to deadlocks, as the gtrid(global transaction id) is not repliacted across all gateways.

0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Working with Network Access Control Lists in Oracle 11g (part 1) Part 2: http://www.e-e.com/A_9074.html So, you upgraded to a shiny new 11g database and all of a sudden every program that used UTL_MAIL, UTL_SMTP, UTL_TCP, UTL_HTTP or any oth…
Working with Network Access Control Lists in Oracle 11g (part 2) Part 1: http://www.e-e.com/A_8429.html Previously, I introduced the basics of network ACL's including how to create, delete and modify entries to allow and deny access.  For many…
This video shows syntax for various backup options while discussing how the different basic backup types work.  It explains how to take full backups, incremental level 0 backups, incremental level 1 backups in both differential and cumulative mode a…
Via a live example, show how to restore a database from backup after a simulated disk failure using RMAN.
Suggested Courses

627 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question