RE: please, locks are at block or row level.?  TX locks take
locks against rows, not blocks. When you execute DML against a
table, a TX enqueue (or lock) is implicitly allocated for the
duration of your transaction. That transaction points to a
rollback segment header, which in turn will point to space in
the rollback segment where=20 the before images of the data
affected by your transaction will be recorded.  Now, as
particular data blocks are affected, an ITL xlot in the data
block's transaction layer is allocated and pointed to that
rollback segment slot.  So, now we know that this transaction is
"showing an interest" in this data block. Finally, as a
particular row in the data block is updated, the entry in the
block's row table is updated to point to that particular ITL
slot.  So, in this way, locks can be enforced at the row-level.
Note some important points about this model: 1.)  There is no
"master list" of locked rows.  This is good, because it's a key
Oracle's ability to scale, and to not have to