Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> TX locks
I'm having a WHOLE lot of fun trying to track down
the source of some ORA-2049 (timeout: distributed
transaction waiting for lock) in a purchased app=20
called Matrix. I have a number of questions I'm hoping=20
someone can answer.
Now, according to Metalink, this occurs when a session is=20 waiting on a TX enqueue that another session is holding AND the waiting session is performing a distributed operation via a DB link.
Also, according to Metalink (in a different document), TX enqueues are taken on particular slots in particular rollback segments.
If a new connection does, as it's first statment, a read across a DB link, is a TX enqueue aquired immediately on a local rollback=20 segment (as I think it is?)
Why would two transactions need the same TX enqueue? Is it because
they are attempting to update the same row locally (which I have been=20
unable to prove or disprove yet)? Is it because they are=20
both going after the same rows remotely? Is it a lack of available =
slots
in the rollback segments (ie, not enough rollback segments)?
None of these scenerios seem very likely in this case, but I'm=20 grasping at straws here.
![]() |
![]() |