Re: Oracle Keep Pool

From: Charles Hooper <>
Date: Wed, 25 Nov 2009 04:47:08 -0800 (PST)
Message-ID: <>

On Nov 24, 8:51 pm, Mike <> wrote:
> Hi,
> We're on 10g.  We're playing with the Keep Pool.  If the Keep Pool is
> meant to keep frequently used blocks/tables in cache, well, if they we
> frequently used, wouldn't they be in the cache anyhow??
> So, what is the purpose of the Keep Pool??

From: "Keep pool: This pool is intended for blocks that were accessed frequently, but which aged out of the default pool because of lack of space. The goal of the keep buffer pool is to retain objects in memory, thus avoiding I/O operations."

The KEEP pool, RECYCLE pool, and DEFAULT pool utilize different goals (algorithms) for keeping blocks in memory. Any table or index block read into the KEEP buffer cache is intended to remain in the KEEP buffer cache until the database is shutdown, including blocks read by full table scan. Thus, the KEEP buffer cache needs to be large enough to contain all of the blocks accessed from the various objects assigned to the KEEP buffer pool.

You might also want to take a look at the following discussion on Asktom:

Charles Hooper
Co-author of "Expert Oracle Practices: Oracle Database Administration from the Oak Table"
IT Manager/Oracle DBA
K&M Machine-Fabricating, Inc. Received on Wed Nov 25 2009 - 06:47:08 CST

Original text of this message