SV: please, locks are at block or row level.?

  • From: Jesper Haure Norrevang <jhn.aida@xxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Tue, 05 Oct 2004 08:27:01 +0200

Juan,

Mark has made a very good answer.

A few comments regarding the overhead of locking at row level and not =
the
entire block:

Each row has one lock byte. If it is zero, the row is not locked. It it =
is
non-zero, then it it pointing to the corresponding ITL slot in the same
block. I.e. there is an overhead of one byte in each row.

The number of ITLs in the block is determined by the INITRANS and =
MAXTRANS
parameters. The number of ITLs determines how many concurrent =
transactions
you can have in the same block. IIRC the size of an ITL is OS dependent =
-
typically 22 bytes. I.e. an overhead of 22 bytes (that are never
deallocated) for each concurrent transaction in the block.

Regards
Jesper Haure

-----Oprindelig meddelelse-----
Fra: oracle-l-bounce@xxxxxxxxxxxxx =
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] P=E5
vegne af Juan Carlos Reyes Pacheco
Sendt: 4. oktober 2004 17:50
Til: oracle-l@xxxxxxxxxxxxx
Emne: please, locks are at block or row level.?


Hi 3 questions please, if you can lend me your time one moment,
1. I have a confusion, locks are at block level or row level
2. Where is the overhead if they are in the same block, and I lock at =
the
same time all rows in the same block?
3. how can I know in which block is a row?

Thanks :)
=20
=20
Juan Carlos Reyes Pacheco
OCP
--
//www.freelists.org/webpage/oracle-l

--
//www.freelists.org/webpage/oracle-l

Other related posts:

  • » SV: please, locks are at block or row level.?