consistent gets
The number of blocks requested in consistent mode. Blocks are requested in consistent mode for consistent read operations. When a block is requested in consistent mode, if any changes have been committed or made to that block since the requesting statement (or transaction) began, then they must be rolled back for the purposes of the read, to give a consistent view of the data at that time.db block getsNote, however, that due to a long-standing Oracle bug the consistent gets statistics actually overstates the number of consistent gets very significantly. For this reason, it is better to use the sum of no work - consistent read gets, cleanouts only - consistent read gets, rollbacks only - consistent read gets and cleanouts and rollbacks - consistent read gets at this point.
The number of blocks requested in current mode. Blocks must be requested in current mode in order to be changed. Also certain classes of blocks, like segment header blocks are always requested in current mode.physical reads
The number of database blocks which the database instance has requested the operating system to read from disk. This is typically greater than the actual number of disk read operations performed, because of multiblock reads and because some read requests may be satisfied from the operating system buffer cache.Each consistent get or db block get represents a logical read. Each logical read for which there was no corresponding physical read, represents a cache hit. That is, the requested block was already present in the database buffer cache, and so no physical read request was issued. The cache hit rate is the ratio of cache hits to logical block reads, normally expressed as a percentage.
Direct reads are performed for parallel scans, and reads from temporary tablespaces. Blocks are read directly into private buffers in the PGA, rather than into the database buffer cache in the SGA. There are no cache hits, because blocks are not searched for in the cache before being read. And there are no subsequent cache hits, because the blocks are just discarded after use, rather than cached. However, this is no great loss. The possibility of getting enough cache hits in equivalent cached operations to actually save disk reads is almost negligible, while the possibility of losing cache hits because of the additional load on the cache is quite significant. So, direct reads actually improve the cache hit rate. They also improve block access concurrency by removing a significant load from the buffer cache latches.
Incidentally, direct reads can also be obtained for serial scans using the _serial_direct_read parameter in 8.1, or event 10355 in earlier releases.
Because cache hits are rare for serial long table scans, and impossible for direct reads, it is reasonable to assume that the cache miss rate can only be reduced by avoiding single block reads. That is, that cache misses associated with multiblock reads are not tunable. Therefore, the tunable cache miss rate can be estimated as the number of single block reads (taken from V$SYSTEM_EVENT) over the number of logical reads minus the number of blocks read for multiblock reads. The APT script tunable_cache_miss_rate.sql calculates this statistic.
| Copyright © Ixora Pty Ltd |
|