1.76 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).

Property Description

Parameter type

Big integer

Syntax

DB_CACHE_SIZE = integer [K | M | G]

Default value

If SGA_TARGET is set: If the parameter is not specified, then the default is 0 (internally determined by the Oracle Database). If the parameter is specified, then the user-specified value indicates a minimum value for the memory pool.

If SGA_TARGET is not set, then the default is either 48 MB or 4 MB * number of CPUs, whichever is greater

Modifiable

ALTER SYSTEM

Modifiable in a PDB

Yes

Basic

No

The value must be at least 4M * number of cpus (smaller values are automatically rounded up to this value). A user-specified value larger than this is rounded up to the nearest granule size. A value of zero is illegal because it is needed for the DEFAULT memory pool of the primary block size, which is the block size for the SYSTEM tablespace.

Note:

This parameter is optional for pluggable databases (PDBs). When this parameter is set for a PDB, it specifies the guaranteed buffer cache size for the PDB.

To be able to use Resource Manager in a CDB to control the amount of memory each PDB can use:

  • The NONCDB_COMPATIBLE initialization parameter must be set to FALSE at the CDB level (in the root of the CDB).

  • The MEMORY_TARGET initialization parameter must not be set at the CDB level.

  • If the SGA_TARGET initialization parameter is not set, but the DB_CACHE_SIZE initialization parameter is set at the CDB level, then the following requirements must be met:

    • The value of DB_CACHE_SIZE set in a PDB must be less than or equal to 50% of the DB_CACHE_SIZE value at the CDB level.

    • The sum of the DB_CACHE_SIZE values across all the PDBs in the CDB must be less than or equal to 50% of the DB_CACHE_SIZE value at the CDB level.

    When you set DB_CACHE_SIZE in a PDB to a value that does not meet these requirements, you receive an error. If these requirements are violated after the PDB’s parameter is set (for example, if the DB_CACHE_SIZE value is changed at the CDB level, Oracle will adjust the PDB’s value to meet these requirements.

If SGA_TARGET is set at the CDB level, these requirements must be met:

  • The values of DB_CACHE_SIZE plus SHARED_POOL_SIZE in a PDB must be less than or equal to 50% of the PDB’s SGA_TARGET value.

  • The values of DB_CACHE_SIZE plus SHARED_POOL_SIZE in a PDB must be less than or equal to 50% of the SGA_TARGET value at the CDB level.

  • The sum of DB_CACHE_SIZE plus SHARED_POOL_SIZE across all the PDBs in a CDB must be less than or equal to 50% of the SGA_TARGET value at the CDB level.

If any of these three requirements above are not met, you will receive an error.

See Also: