Private buffers allow a read-intensive user to isolate a portion of the buffer pool. Up to 25 percent of buffers can be allocated as private buffers. Private buffers work as follows:
1. The user requests a number of buffers to be allocated as private.
2. As the user reads records, if the corresponding buffers are not already in the buffer pool, the records are read into these buffers.
3. Instead of following the rules for buffer eviction, the user only evicts buffers that are in their private buffers. By default, the least recently used buffer is evicted. Private buffers are maintained on their own chain and are evicted by the user who brought them into memory.
4. If a user wants a buffer that is currently in another user's private buffers, this buffer is "transferred" from the private buffers to the general buffer pool. The transfer is a process of removing the buffer from the user's private buffer list and adding it to the general buffer list. The buffer itself is not moved.