DB_CACHE_SIZE

DB_CACHE_SIZE specifies the size of the DEFAULT buffer pool for buffers with the primary block size (the block size defined by the DB_BLOCK_SIZE initialization parameter).

If SGA_TARGET is set, the user-specified DB_CACHE_SIZE indicates a minimum size requested for the DEFAULT buffer pool. The actual buffer pool size may be larger due to automatic SGA sizing and internal minimum requirements.

Note: Oracle recommends against setting this parameter in a PDB. The only shared memory sizing parameter that should be set in a PDB is SGA_TARGET, which specifies the maximum SGA that the PDB can use at any time.

Property Description
Parameter type Big integer
Syntax

DB_CACHE_SIZE = integer [K | M | G]

Default value

If SGA_TARGET is set:

If DB_CACHE_SIZE is not specified, its default value is 0 and the buffer pool size is determined internally by Oracle AI Database.

If SGA_TARGET is not set:

If DB_CACHE_SIZE is not specified, its default is usually 16 MB multiplied by the number of CPUs. The actual default may be larger depending on the system configuration.

Modifiable ALTER SYSTEM
Modifiable in a PDB Yes
Range of values

Minimum value when SGA_TARGET is set:

Starting with Oracle AI Database 26ai, RU 23.26.3, for standard production database configurations, the minimum size of the DEFAULT buffer pool is at least the greater of the following values:

  • 128 MB multiplied by the number of CPUs (64 MB multiplied by the number of CPUs on AIX)
  • 5% of SGA_TARGET

The actual minimum buffer pool size may be larger depending on the system configuration and other memory requirements. The 5% requirement is a lower bound on the buffer pool size.

For Oracle AI Database 26ai, RU 23.26.2 and earlier, the minimum buffer pool size is usually 16 MB multiplied by the number of CPUs.

The increased minimum requirements introduced in RU 23.26.3 do not apply to Oracle AI Database Free or Developer's Instance user PDBs. Autonomous Database Serverless uses separate service-specific memory sizing rules.

Minimum value when SGA_TARGET is not set:

For manually managed SGA configurations, the minimum user-specified DB_CACHE_SIZE is one SGA granule, which is at least 4 MB. Smaller positive values are rounded up to one granule. A value of zero is invalid because the DEFAULT buffer pool is required for the primary block size used by the SYSTEM tablespace.

The minimum accepted value does not necessarily represent a recommended buffer cache size. A larger buffer cache may be needed for normal database operations or additional features, such as Database Smart Flash Cache.

A granule is a unit of SGA memory allocation. Its size depends on the instance configuration and can be determined from the Granule Size entry in V$SGAINFO.

Maximum value (regardless of SGA_TARGET setting): 4,294,967,295 * default block size

Basic No

See Also: