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: how to test locks

Re: how to test locks

From: Mladen Gogala <mgogala_at_earthlink.net>
Date: Wed, 23 Jan 2002 08:00:36 GMT
Message-ID: <pan.2002.01.23.03.00.36.167637.1171@earthlink.net>


On Wed, 23 Jan 2002 02:15:26 -0500, Thomas wrote:

> Hi everybody,
>
> I have a simple question. How can i test weather a record in a table is
> locked by another user without causing another lock.
>
> regards
> thomas

That is very simple and I'm sure that the most of us here do that every day: you find the database block for that record (rowid contains file and block id), dump the block from oradebug and see whether the row header contains the pointer to a valid ITL in that block. The very first byte of the row header is the offset into the ITL table. ITLs are 23 bytes in size and contain a XID of the transaction that is interested in the block. After you do that, ask yourself whether the obtained information was worth the trouble. Oh yes, and exact descriptions on the database blocks can be obtained only in the Scott Gosset's "top gun" class. Oh, did I forget to mention that you have to check whether the block is in SGA (v$bh) and if it is, then you have to look there. ITLs in the disk block may contain invalid information and be scheduled for "delayed cleanup". It's a very simple thing indeed. Received on Wed Jan 23 2002 - 02:00:36 CST

Original text of this message

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