This is a good thing, considering that there may be tablespaces in the database with block sizes
other than the default block size; tablespaces with up to five different block sizes (one block size
for the default, and up to four others) require their own buffer cache. As the processing and
transactional needs change during the day or during the week, the values of DB_CACHE_SIZE
and DB_nK_CACHE_SIZE can be dynamically changed without restarting the instance to enhance
performance for a tablespace with a given block size.
Oracle can use two additional caches with the same block size as the default (DB_CACHE_
SIZE) block size: the KEEP buffer pool and the RECYCLE buffer pool. As of Oracle9i, both of these
pools allocate memory independently of other caches in the SGA.
When a table is created, you can specify the pool where the table??™s data blocks will reside by
using the BUFFER_POOL KEEP or BUFFER_POOL_RECYCLE clause in the STORAGE clause. For
tables that you use frequently throughout the day, it would be advantageous to place this table
into the KEEP buffer pool to minimize the I/O needed to retrieve blocks in the table.
Shared Pool
The shared pool contains two major subcaches: the library cache and the data dictionary cache.
The shared pool is sized by the SHARED_POOL_SIZE initialization parameter. This is another
dynamic parameter that can be resized as long as the total SGA size is less than SGA_MAX_SIZE
or SGA_TARGET.
Pages:
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112