Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> ORA 2049 error

ORA 2049 error

From: SaintHill <kinjaluck_at_gmail.com>
Date: 28 Sep 2005 15:18:01 -0700
Message-ID: <1127945881.658948.200120@g49g2000cwa.googlegroups.com>

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 really appreciated. Received on Wed Sep 28 2005 - 17:18:01 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US