RE: oracle 10g and db_keep_cache_size obsolete ?

  • From: "Bobak, Mark" <Mark.Bobak@xxxxxxxxxxxx>
  • To: "ric.van.dyke@xxxxxxxxxx" <ric.van.dyke@xxxxxxxxxx>, "Jon.Crisler@xxxxxxx" <Jon.Crisler@xxxxxxx>, ORACLE-L <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 29 Jul 2009 13:34:45 -0400

I agree with Ric.  I have used both keep and recycle to good effect, and still 
do, on 10g, by staying away from auto memory management.

My philosophy is to try to fill KEEP up to the brim, mostly with heavily used 
small indexes, but very not to over-allocate it too much, while assigning the 
really huge objects with lots of small randomized reads to RECYCLE.  The idea 
being that for the small indexes, you want them cached all the time, if not the 
entire index, then at least the root and first level branch blocks.  In the 
case of the giant, way-too-big-to-cache segments, heap 'em in RECYCLE, and at 
least you limit the damage to those objects themselves, which would otherwise 
totally thrash the default cache.

Having never used it, I'm no expert on automatic memory management (call me a 
typical DBA w/ control freak tendencies, I don't want Oracle deciding to move 
stuff around on me!), but I think a good DBA, with a solid understanding of the 
application, can use KEEP and RECYCLE and beat the performance of Oracle's 
automated memory management algorithms.  The DBA simply has more information 
about the application and how it works, and expected usage patterns of various 
segments.

-Mark


-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On 
Behalf Of Ric Van Dyke
Sent: Wednesday, July 29, 2009 1:10 PM
To: Jon.Crisler@xxxxxxx; ORACLE-L
Subject: RE: oracle 10g and db_keep_cache_size obsolete ?

* Would you consider db_keep_cache_size old-school and unneeded for 10g
if your doing auto memory management? *

Yes, however to say its obsolete is likely a stretch.  The most common
problem I run into is folks really don't understand what is going on in
the KEEP pool. They load it up thinking that it will all "magically"
stay in cache. Putting too much in there (as it sounds like you have run
across) will make it act like the default pool, and likely worse since
as I recall there are fewer latches allocated to the KEEP pool.  Used
very specifically it can be of some benefit. Same for the RECYCLE pool
as well.

Ric Van Dyke
Hotsos Enterprises, Ltd.  
 

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Crisler, Jon
Sent: Wednesday, July 29, 2009 12:55 PM
To: ORACLE-L
Subject: oracle 10g and db_keep_cache_size obsolete ?

Looking for opinions- would you consider db_keep_cache_size old-school
and unneeded for 10g if your doing auto memory management ?  We rarely
do this but ran across an app that has a lot of tables set to use the
KEEP pool, and I am having a difficult time finding enough memory to
satisfy the keep tables and a reasonable db_cache as well.  My feeling
is to just get rid of it since I wind up starving the rest of the
database for tables with a DEFAULT pool.
--
//www.freelists.org/webpage/oracle-l


--
//www.freelists.org/webpage/oracle-l




--
//www.freelists.org/webpage/oracle-l


Other related posts: