As we all know EXADATA comes with inbuilt flash cache. I just did some search on how to achieve the same in non EXADATA boxes.
Starting from 11gR2 oracle introduced database smart flash cache which is available only on Linux and Solaris operating systems.
Using flash cache the size of buffer cache can be increased without adding more memory.
Until oracle 11gR1 , the buffers in buffer cache are overwritten using LRU list. so if the buffer is needed again then a physical read is performed (ie) the data blocks are fetched from disk and placed in the buffer cache. With flash cache, the buffers are written from buffer cache to flash cache where the buffers are not overwritten. So when these buffers are needed, the data blocks are fetched from flaSH cache directly.
To implement this we need to set two parameters in out init.ora file :
• db_flash_cache_file
• db_flash_cache_size
The db_flash_cache_file takes a value of a filename with its path. This file acts as memory space. The DB_FLASH_CACHE_FILE parameter can point to a raw device (including a logical volume), afile, or an ASM disk group
The parameter db_flash_cache_size is the size of flash cache.
Note : If we do not have the onboard flash_cache on host and we try to enable the flash cache, we get this error message:
ORA-00439: feature not enabled: Server Flash Cache
ORA-01078: failure in processing system parameters
.
A typical sizing of the Database Smart Flash Cache is two to ten times the size of SGA memory buffers. Note that header information is stored in the SGA for each flash cache buffer - 100 bytes perbuffer in exclusive mode, 200 bytes per buffer in RAC mode - so the number of available SGA buffers is reduced as the Database Smart Flash Cache size increases, and the SGA size should be increased accordingly.
Running RAC database on flash cache will remove bandwidth saturation at the cache fusion layer as a source of contention. Database Smart Flash Cache is not shared across RAC nodes; it is private to each RAC instance. For that reason, each RAC instance must define its own local flash cache file path. When the flash cache is managed by ASM, a separate diskgroup is needed for the flash cache of each instance.
This feature is good for read mostly or read only databases so that we can get maximum performance benefits.
Wednesday, October 16, 2013
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment