I will explain Smart Flash cache feature of Oracle Exadata in this article.
Read previous articles before this.
Smart Flash Cache Logging
Redo logs are written to the disk and flash (memory) at the same time via Smart flash cache logging feature after Exadata Software 188.8.131.52 version. It is a very important for the database to write a redo log very quickly in the database which excessive commit is run.
Exadata will be able to get a quick response from the disk or flash when it wants to get a confirmation for a write operation. This feature is similar to the multiplication of redo logs. The only advantage here is that the copy of the redo log is also written in the Flash.
The Flash cache logging features a Flash area of 512MB by default and 32MB on the cell server and is designed to be equal and sufficient for most applications.
You can query Flash Cache logging feature as follows.
Configuring [re] Smart Flash Cache
The following commands are used to configure the smart flash cache.
CellCLI> DROP FLASHCACHE CellCLI> CREATE FLASHLOG ALL CellCLI> CREATE FLASHCACHE ALL
You may use the following commands to prioritize or authorize this feature for a specific table like following.
SQL> CREATE TABLE emp (ENO NUMBER, ENAME VARCHAR2(50)) STORAGE (CELL_FLASH_CACHE KEEP); SQL> ALTER TABLE emp STORAGE (CELL_FLASH_CACHE NONE);
Flash Cache Compression
The main purpose of compression technologies is to save from storage space by compressing existing data. In addition to the Exadata Hybrid columnar compression feature, Flash Cache also supports compression, so we can perform double compression and reduce disk access. In order for Flash Cache compression to be active, the following requirements must be met.
- Exadata >=X3-2
- Exadata software >=184.108.40.206
- Oracle Advanced Compression option
Flash Cache Compression Activation
Flash Cache is enabled on a Cell Server with the following steps
CellCLI> ALTER FLASHCACHE ALL FLUSH
If the flash cache is not in write back mode, the following error is taken.
Flash cache flush on FD_00_usdwi20 failed because flash cache is not in write back mode. Flash cache flush on FD_01_usdwi20 failed because flash cache is not in write back mode.
CellCLI> DROP FLASH CACHE ALL
CellCLI> DROP FLASHLOG ALL
CellCLI> DROP CELLDISK ALL FLASHDISK
CellCLI> ALTER CELL flashCacheCompress=true
CellCLI> CREATE CELLDISK all flashdisk
CellCLI> CREATE FLASHLOG ALL
CellCLI> CREATE FLASHCACHE ALL
If you want to disable Flash Cache in step 5, the flashCacheCompress parameter is set to false instead of true.
You can learn Flash Cache compression is active or not with following command
CellCLI> list cell attributes flashcachecompress CellCLI> list flashcache attributes name,size CellCLI> list metriccurrent fc_by_used
When Flash Cache Compression is active, uncompressed tables are more advantageous than compressed tables with HCC. Compression and uncompression are performed automatically in the flash area.
You can query flashcache attributes and features like following.