Reading Blocks – NomenclaturePosted: March 21, 2009
Looking at the time statistics the database collects , I often get confused between the different terms and what exactly they mean and measure. For my convinience (and hopefully yours), here are the terms used to describe block reads and what they mean.
LIO = Logical IO. Logical IO is any attempt by the database to read a block of data. This can be done from the buffer cache or from the disk.
PIO = Physical IO. Those are reads that cannot be satisfied from the buffer cache. Note that we still don’t know whether the disk is actually involved, operating systems and storage have cache too.
DB Block Get = current mode get. Attempt to read the most current image of a block. DML operations need to get the current image (no point in updating historical images).
Consistent Gets = consistent reads (sometimes abbreviated as CR). Attempt to read a consistent image of the block. Consistent means the version that was current when the statement began. This may require applying undo information and to roll back changes that occured after the statement began.
If you have RAC, you’ll also see “gc current block” and “gc CR” events. These are the same as consistent reads and current gets, except that they were satisfied from the buffer cache of a remote node.