Skip Headers
Oracle® Database Administrator's Guide
11g Release 2 (11.2)

Part Number E17120-05
Go to Documentation Home
Go to Book List
Book List
Go to Table of Contents
Go to Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Go to next page
View PDF

Configuring Database Smart Flash Cache

This section contains the following topics on configuring Database Smart Flash Cache (the flash cache):

See Also:

"Memory Architecture Overview" for a description of the flash cache

When to Configure the Flash Cache

Consider adding the flash cache when all of the following are true:

  • Your database is running on the Solaris or Oracle Enterprise Linux operating systems. The flash cache is supported on these operating systems only.

  • The Buffer Pool Advisory section of your Automatic Workload Repository (AWR) report or STATSPACK report indicates that doubling the size of the buffer cache would be beneficial.

  • db file sequential read is a top wait event.

  • You have spare CPU.


You cannot share the flash cache among multiple instances.

Sizing the Flash Cache

As a general rule, size the flash cache to be between 2 times and 10 times the size of the buffer cache. Any multiplier less than two would not provide any benefit. If you are using automatic shared memory management, make the flash cache between 2 times and 10 times the size of SGA_TARGET. Using 80% of the size of SGA_TARGET instead of the full size would also suffice for this calculation.

Tuning Memory for the Flash Cache

For each database block moved from the buffer cache to the flash cache, a small amount of metadata about the block is kept in the buffer cache. For a single instance database, the metadata consumes approximately 100 bytes. For an Oracle Real Application Clusters (Oracle RAC) database, it is closer to 200 bytes. You must therefore take this extra memory requirement into account when adding the flash cache.

  • If you are managing memory manually, increase the size of the buffer cache by an amount approximately equal to the number of database blocks that fit into the flash cache multiplied by 100 (or 200 for Oracle RAC).

  • If you are using automatic memory management, increase the size of MEMORY_TARGET using the algorithm described above. You may first have to increase the size of MEMORY_MAX_TARGET.

  • If you are using automatic shared memory management, increase the size of SGA_TARGET.


You can choose to not increase the buffer cache size to account for the flash cache. In this case, the effective size of the buffer cache is reduced. However, you can offset this loss by using a larger flash cache.

Flash Cache Initialization Parameters

Table 6-3 describes the initialization parameters that you use to configure the flash cache.

Table 6-3 Flash Cache Initialization Parameters

Parameter Description


Specifies the path and file name for the file to contain the flash cache, in either the operating system file system or an Oracle Automatic Storage Management disk group. If the file does not exist, the database creates it during startup. The file must reside on a flash disk device. If you configure the flash cache on a disk drive (spindle), performance may suffer.

The following is an example of a valid value for db_flash_cache_file:



Specifies the size of the flash cache. Must be less than or equal to the physical memory size of the flash disk device. Expressed as nG, indicating the number of gigabytes (GB). For example, to specify a 16 GB flash cache, set db_flash_cache_size to 16G.

You can use ALTER SYSTEM to set db_flash_cache_size to zero to disable the flash cache. You can also use ALTER SYSTEM to set the flash cache back to its original size to reenable it. However, dynamically changing the size of the flash cache is not supported.

Flash Cache in an Oracle Real Applications Clusters Environment

You must configure a flash cache on either all or none of the instances in an Oracle Real Application Clusters environment.