HOME SOFTWARE CONSULTANCY TRAINING REFERENCE PARTNERS SEARCH
spacer
Latest Tips
e-business
ITIL
Linux
Management
Modeling
Oracle
SQL
UNIX
Windows
z/OS
 
 
 
spacer
 

Throughout Oracle Operations, reads and writes are made to the database buffer cache. If the information required is already stored in memory then any request for it results in a cache hit. If however the information is not, then a cache miss results and this means that the request will have to be satisfied by physical disk I/O. Data retrieval from memory is always preferable as it is quicker, but given the dynamic nature of data required at any particular time, cache misses are not likely to be absent during normal Oracle operations.

The init.ora parameter DB_BLOCK_BUFFERS is used to control the size of the buffer cache. Changes to this parameter will reflect directly on the size of the SGA. The key to tuning this area is to keep the cache hit rate as high as possible while not using too much physical memory.

To investigate the Buffer Hit Rate the following sql may be used:

select (sum(decode(name, 'consistent gets', value,0))
+ sum(decode(name, 'db block gets', value,0))
- sum(decode(name, 'physical reads', value,0)))
/ (sum(decode(name, 'consistent gets', value,0))
+ sum(decode(name, 'db block gets', value,0))) * 100 " Buffer
Hit Rate"
from v$sysstat;

A good figure to aim for in an interactive database is around 95%. This can be less for batch oriented databases, but for data warehousing you need to be approaching 100% consistently.

Next Oracle Tip