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 -> Re: DX Lock problem

Re: DX Lock problem

From: Mladen Gogala <mgogala.SPAM-ME_at_not-at-verizon.net>
Date: Thu, 28 Jun 2007 19:04:05 +0200 (CEST)
Message-ID: <pan.2007.06.28.16.58.56@not-at-verizon.net>


On Thu, 28 Jun 2007 09:13:59 -0700, Charles Hooper wrote:

> On Jun 28, 10:48 am, sorc..._at_gmail.com wrote:

>> Hello folks,
>>
>> does anybody know the meaning of the v$lock.id1 column for a lock of
>> type 'DX'?
>> We are facing some problems w/ this type of lock. Sometimes a session
>> hangs after acquiring a DX lock in exclusive mode serializing
>> other sessions, any queries againts views related to distributed tx
>> ([g]v$global_transaction,
>> dba_pending_transactions, ...) hang there forever. Killing the session
>> holding the lock doesn't help cause the lock is acquired with the same
>> mode
>> by another session. The only solution so far has been to shut the
>> instance.
>> I am trying to replicate the problem in our development environment
>> using a couple of
>> application witten in Pro*c but even if during some dml operation I can
>> see a DX exclsuive
>> lock, I havent't been able so far to stall the instance :(. If you guys
>> know what excatly means that column, or better if you know what Oracle
>> do
>> during an distributed (xa) transaction would be greatly valuable for my
>> debug activity.
>>
>> The production env wher i get the error is: 9iEE 9.2.0.8 (2 nodes RAC)
>> Solaris 9 64
>> Bea Web Logic Server 8.1.4 (TM)
>>
>> Thanks
>> g
> 
> Google search:
>   oracle dx lock
> or
>   oracle dx lock commit rollback
> 
> Finds this page:
>   http://www.jlcomp.demon.co.uk/faq/find_dist.html
> 
> Quoting:
> -----------------
> Whenever a distributed query or DML statement is issued from an instance
> a Distributed Transaction lock, DX, is taken on the transaction and is
> visible through v$lock:
> 
> 	ADDR             KADDR                   SID TY        ID1
> 	---------------- ---------------- ---------- -- ----------
>         070000000015CC48 070000000015CC68         16 DX         29
> 
> This entry will remain until the issuer either commits or rollbacks the
> transaction. This means that a query on a remote object is a transaction
> and it takes a rollback segment entry to support the two- phase commit
> feature (see References). But while the above query on v $lock will show
> distributed queries from this instance to a remote database it does not
> show queries from the remote instance to this instance.
> -----------------
> 
> Charles Hooper
> IT Manager/Oracle DBA
> K&M Machine-Fabricating, Inc.

Of course, the problem is probably distributed_lock_timeout. I've seen that with several WL installations: distirbuted lock expires while WL still has the transaction going and the result is "in doubt" transaction. The solution is to increase distributed_lock_timeout to 900 (15 min).

-- 
http://www.mladen-gogala.com
Received on Thu Jun 28 2007 - 12:04:05 CDT

Original text of this message

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