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