This discussion is archived
4 Replies Latest reply: Dec 10, 2012 10:20 PM by robinsc RSS

flash_cache vs cell_fash_cache in dba_tables

Soumyajit Haldar Newbie
Currently Being Moderated
Hi All,

There are two columns in DBA_TABLES in 11gR2 : FLASH_CACHE and CELL_FLASH_CACHE.

For both the values permitted are NONE, DEFAULT and KEEP.

Can you please explain what is the purpose of these two columns, as if I understand correctly, in Exadata, CELL_FLASH_CACHE is relevant related to smart flash cache technology.

I tried to google my query, but couldn't found any satisfactory explanation for the same.

Regards,
Soumyajit
  • 1. Re: flash_cache vs cell_fash_cache in dba_tables
    tychos Expert
    Currently Being Moderated
    Hi Soumyajit,
    The FLASH_CACHE value is related to caching on the node where the instance runs (in a none Exadata setup).
    You need to have the flash card(s) setup on your database server and set the following instance parameters.
    db_flash_cache_file
    db_flash_cache_size
    The CELL_FLASH_CACHE is related to Exadata storage cell flesh cache.
    Regards,
    Tycho
  • 2. Re: flash_cache vs cell_fash_cache in dba_tables
    Marc Fielding Journeyer
    Currently Being Moderated
    Hello Soumyajit,

    CELL_FLASH_CACHE and FLASH_CACHE are indeed confusingly named, and refer to two different concepts.

    CELL_FLASH_CACHE = Exadata Smart Flash Cache. Whitepaper URL: http://www.oracle.com/technetwork/server-storage/engineered-systems/exadata/exadata-smart-flash-cache-366203.pdf

    FLASH_CACHE = Oracle Database Smart Flash Cache. Whitepaper URL: http://www.oracle.com/technetwork/articles/systems-hardware-architecture/oracle-db-smart-flash-cache-175588.pdf

    Marc
  • 3. Re: flash_cache vs cell_fash_cache in dba_tables
    sagargole Newbie
    Currently Being Moderated
    Hi Soumyajit,

    The FLASH_CACHE column in the DBA_TABLES refers to the database flash cache which is an extension of the buffer cache on the database server. Exadata smart flash cache is disk cache on the Exadata storate server. Exadata will automatically store frequently queried data in the Smart Flash Cache. However, if you specifically want to store any object in the ESFC then you can use the following command.

    alter table <table_name> storage (cell_flash_cache keep)

    The ESFC can prove handy in an OLTP environment. Smart Scans will ignore objects in the ESFC unless the object is specifically pinned into it.

    You can use the following query to check the cell flash cache read hits.

    select name, value from v$mystat s, v$statname n where n.statistic# = s.statistic# and name like '%cell flash%' order by 1
  • 4. Re: flash_cache vs cell_fash_cache in dba_tables
    robinsc Explorer
    Currently Being Moderated
    Basically the Database smart flash cache resides on your database server and is nand flash either ssd or pci card. If in exadata they had added flash cache to the compute nodes that would be utilized as database smart flash cache. This is similar to using a ram disk for buffer cache etc but it is Nand flash aware and so will try to spread out reads and writes in order to preserve the life of your flash memory ( wear levelling friendly).

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points