a.When data blocks are involved in a transaction, there are locking info created in the block.
b.This info should be cleaned out when the transaction ends.
c.They can be cleaned out immediately when the transaction ends, but not definitely.
—- There are cleaned out on commitment, only if the blocks needed to be cleaned account for less than the 10% of the all the blocks in the cache.
d.So, if Oracle doesn’t do the cleansing while commitement, the blocks will be cleaned on the next operation, "select" for example.
e.Cleaning out the blocks in "select" also creates Redo Log.
—So, the first select after a large-scale DML may be very time-consuming.