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
Solved

ORA-02049

Posted on 2003-11-10
5
3,355 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
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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

Suggested Solutions

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…
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

791 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