Home » RDBMS Server » Networking and Gateways » ORA 2049 error on Oracle 9i2 Solaris 9
ORA 2049 error on Oracle 9i2 Solaris 9 [message #139617] Wed, 28 September 2005 17:22 Go to next message
spcnlkumar
Messages: 1
Registered: September 2005
Junior Member
A process runs on a split database environment - connecting locally to the database db1 and remotely to the database db2 (via database links). It deletes a bunch of rows in a table A in database db1 for a specific account and updates another table B in the database db2 for the same account. The access to table B is via a view (with a select clause to read all the rows of the table B via the database link).

When we have 8 processes running at the same time, all of them die with the error "ORA-02049: timeout: distributed transaction waiting for lock" one after another after processing for some time.

I know that An ORA 2049 is signalled if

o you are blocked
o you are in a distributed transaction (you are using a DB link, even just to
read)
o you wait for longer than distributed lock timeout

In this case, the processes update distinct rows on the table B in the remote database db2. Also, even if only one process is run, it dies eventually with the above error after running for a long time. It seems to die immediately after the update on the table B in the remote database.

I read that this could be due to ITL shortage deadlock. But, why would the error come even when only one process is running ?

I found that the PCTFREE was 20 and INITTRANS was 1 on the table B in the remote database db2. Will increasing these values have any impact ?

Any help would be greatly appreciated.
Re: ORA 2049 error on Oracle 9i2 Solaris 9 [message #139941 is a reply to message #139617] Fri, 30 September 2005 02:34 Go to previous message
girish.rohini
Messages: 744
Registered: April 2005
Location: Delhi (India)
Senior Member
ORA-02049: time-out: distributed transaction waiting for lock

Cause: The time to wait on a lock in a distributed transaction has been exceeded. This time is specified in the initialization parameter DISTRIBUTED_LOCK_TIMEOUT.

Action: This situation is treated as a deadlock and the statement was rolled back. To set the time-out interval to a longer interval, adjust the initialization parameter DISTRIBUTED_LOCK_TIMEOUT, then shut down and restart the instance.

Also the following article may help:
http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:2106879111815

Previous Topic: ORA-12541:TNS: no listener When connecting to Server in another city
Next Topic: multiple ports, same SID
Goto Forum:
  


Current Time: Fri Nov 22 10:16:15 CST 2024