Call for Oracle support & training (800) 766-1884
Free Oracle Tips

Corporate Oracle Training
Custom Oracle Training
Oracle New Features Training
Advanced Oracle DBA Classes
Oracle Tuning Courses
Oracle Tips & Tricks
Oracle Training Links
Oracle Training Links
Oracle Training Links

We are top for USA Oracle Training Clients


Free Oracle Tips


Free Oracle App Server Tips


Oracle support

Oracle training

Oracle tuning


Remote Oracle

Custom Oracle Training

Donald K. Burleson

Oracle Tips

Oracle Advice on the data Buffer Cache

The old rule of thumb said that if the buffer cache hit ratios were depressed (typically below 90%), you should increase the db_block_buffer/db_cache_size parameter until the ratio improved.  We have already mentioned that this practice may not yield better overall performance (it will not help excessive logical I/O caused by inefficient SQL calls), but we hasten to add that increasing the cache memory can indeed improve response times for many databases suffering from improper cache sizes.

Of course, memory should be added to Oracle intelligently, which means keeping an eye on server page and swap activity.  However, how will you know the amount of extra memory that the cache needs?  If the truth were known, most DBAs simply begin edging the memory setting higher with no rhyme or reason, and hope to stop the dial on just the right amount. 

With Oracle9i and above, you can use the db_cache_advice parameter to help predict the benefit of adding additional memory to the buffer/data cache.  Setting this value to ON tells Oracle to begin collecting I/O statistics that can be used to assist you in intelligently assigning additional RAM to Oracle, while not giving more than is actually needed.  The technique generally involves setting the db_cache_advice parameter to ON during a time that represents the normal workload for the database. 

Predict oracle cache use

Once the database has been stressed, you can examine the prediction results by using the cacheadvice.sql script:

See Code depot for complete script


. . .

       name = 'DEFAULT'and
. . .


Figure 5.5 – Examining Oracle’s prediction for adding or subtracting RAM from the data cache

In the above example, Oracle is telling us that for this small 9.2 instance, anything above 16MB for the buffer cache will be wasted RAM. 

As a general guideline, all memory available on the host should be tuned, and the db_cache_size should be allocating RAM resources up to the point of diminishing returns (Figure 5.6).  This is the point where additional buffer blocks do not significantly improve the buffer hit ratio.

Figure 5.6- The optimal size of the RAM data buffer

The new v$db_cache_advice view is similar to an Oracle7 utility that also predicted the benefit of adding data buffers.  The Oracle7 utility used the x$kcbrbh view to track buffer hits and the x$kcbcbh view to track buffer misses.

The above is an excerpt from Oracle Performance Troubleshooting by Robin Schumacher.

It's only $19.95 and you can order it and get instant access to the Oracle scripts here:





Oracle performance tuning book



Oracle performance tuning software

Oracle performance tuning software
Oracle performance Tuning 10g reference poster
Oracle training in Linux commands
Oracle training Excel
email BC:

Copyright © 1996 -  2014 by Burleson Inc. All rights reserved.

Oracle® is the registered trademark of Oracle Corporation.