| From: | Steve Adams |
| Date: | 30-Jan-2001 22:48 |
| Subject: | How many additional buffers? |
|
|
There were several problems with those parameters. Under Oracle8 the results were dubious if multiple buffer pools were in use. They also had a significant performance impact when used. However, I suspect that the real reason for their disappearance under Oracle8i is the change in the LRU algorithm introduced with that release. Because the heating and cooling of buffers is now based on a touch count, which is in turn dependent on cache retention, the hypothetical number of hits that could be gained from additional buffers (or lost with fewer buffers) cannot be measured by simply extending the buffer header data structures lest the operation of the LRU algorithm itself be distorted. Two completely separate sets of data structures would have been needed, and cost of maintaining all that would just not have been warranted. Nevertheless, you can do a similar thing under Oracle8i without needing those parameters. Have a look at the APT script ideal_cache_size.sql. If that script consistently reports an "ideal" size that differs by more than 20% from the current size, then I would suggest that you change that buffer pool size accordingly.
|
![]() |
In versions before 8i, two initialization parameters db_block_lru_extended_statistics and db_block_lru_statistics allow us to estimate how many buffers we need to add or to remove, to obtain the right cache hit ratio. Now, these parameters don't exist, why?
|