I am playing around with the smart flash cache on Oracle Enterprise Linux
I have set up flash cache
SQL> select name, value from v$parameter where name like 'db_flash_cache%';
NAME
--------------------------------------------------------------------------------
VALUE
------------------------------------------------------------------------------------------
db_flash_cache_file
/dev/sda, /dev/sdb, /dev/sdc, /dev/sdd, /dev/sde, /dev/sdf
db_flash_cache_size
799937658880, 799937658880, 799937658880, 799937658880, 799937658880, 799937658880
, filled my buffer cache and still reading some big tables, expecting that blocks will be transferred from 1st level buffer cache into second level flash cache.
However, this does not seem to happen at all for hours:
SQL> select name, value from v$sysstat where name like 'flash cache%' order by 2 desc;
NAME VALUE
---------------------------------------------------------------- ----------
flash cache insert skip: DBWR overloaded 210766864
flash cache insert skip: not useful 15922
flash cache insert skip: not current 422
flash cache eviction: aged out 0
flash cache insert skip: corrupt 0
flash cache eviction: invalidated 0
flash cache insert skip: exists 0
flash cache inserts 0
flash cache insert skip: modification 0
flash cache eviction: buffer pinned 0
This seems to say to me that DBWR is all the time too busy with writing dirty blocks to disk and cannot afford spending time to transfer blocks from L1-cache onto L2-cache, however no write activity is ongoing at all.
So L2-cache isn't used at all.
How can I fix that ?
Thanks