Enable WriteBack Cache for Exadata

Writeback cache is a feature of cache where the blocks are written to flash first before flushing to the disk. Writethrough is the default setting for Exadata cells, where the data is written first to disk and moved to flashcache for read purpose.
Download the setWBFC.sh script from Oracle support website
[root@exatestdbadm01 ~]# dcli -g cell_group -l root “cellcli -e ‘list cell attributes flashcachemode'”
exatestceladm01: WriteThrough
exatestceladm02: WriteThrough
exatestceladm03: WriteThrough
The Flashcache mode is in WriteBack mode in the Current Setup
[root@exatestdbadm01 ~]# dcli -g cell_group -l root cellcli -e list flashcache detail
[root@exatestdbadm01 u03]# mkdir writeback
[root@exatestdbadm01 u03]# cd writeback/
[root@exatestdbadm01 writeback]# unzip setWBFC_10020_20160418.zip
Archive: setWBFC_10020_20160418.zip
inflating: setWBFC_10020_20160418/setWBFC.sh
inflating: setWBFC_10020_20160418/wbfc_FLUSH.sh
inflating: setWBFC_10020_20160418/WBFC_README.txt
[root@exatestdbadm01 writeback]# cd setWBFC_10020_20160418
[root@exatestdbadm01 setWBFC_10020_20160418]# ls -ltr
total 168
-rw-r–r– 1 root root 683 Apr 18 16:24 wbfc_FLUSH.sh
-rw-r–r– 1 root root 144383 Apr 18 16:24 setWBFC.sh
-rw-r–r– 1 root root 14574 Apr 18 20:06 WBFC_README.txt
[root@exatestdbadm01 setWBFC_10020_20160418]# cd ..
[root@exatestdbadm01 writeback]# chmod -R 777 setWBFC_10020_20160418
[root@exatestdbadm01 writeback]# cd setWBFC_10020_20160418
— To run pre-req checks for enabling write back flash cach —
[root@exatestdbadm01 setWBFC_10020_20160418]# ./setWBFC.sh -g /root/cell_group -l /tmp -m WriteBack -o rolling -p
— To run pre-req checks for disabling write back flash cache —
[root@exatestdbadm01 setWBFC_10020_20160418]# ./setWBFC.sh -g /root/cell_group -l /tmp -m WriteThrough -o rolling -p
— Now run the Actual Script to Execute and change to WriteBack mode —
[root@exatestdbadm01 setWBFC_10020_20160418]# ./setWBFC.sh -g /root/cell_group -l /tmp -m WriteBack -o rolling
2016-05-19 14:37:56
Skipping STEP 9: Waiting for grid disks to sync not required.
2016-05-19 14:37:56
Validating inventory for griddisks
2016-05-19 14:38:01
Validation of griddisk: [PASSED]
2016-05-19 14:38:01
Validating inventory for flashdisks
2016-05-19 14:38:13
Validation of flashdisk: [PASSED]
2016-05-19 14:38:13
Validating inventory for flashsize
2016-05-19 14:38:14
Validation of flashsize: [PASSED]
2016-05-19 14:38:14
Setting flash cache to WriteBack completed successfully.
— To Check the Mode of FlashCache —
[root@exatestdbadm01 ~]# dcli -g ~/cell_group -l root cellcli -e “list cell attributes flashcachemode”
exatestceladm01: WriteBack
exatestceladm02: WriteBack
exatestceladm03: WriteBack

Category: ExadataLinuxUncategorized



  1. Hi,

    Yes, it is good thing for performance improvement, but there can be side effects also.
    If the cellnode crashes and the data is still in its cache, but not written to disk, there are chances of data loss. Though Oracle provides separate batteries for flash disks, but then, we have to make sure that the cell node comes up before the batteries drain out. This puts us in a risky situation, as we do not know the time frame of these incidents.

    Saurabh Sood

    1. The data in cache is periodically flushed to disk and keeps copy of the block on disk. Ofcourse enabling writeback flashcache is based on your requirement. The size of the flashcache is reduced with writeback flash, this is to keep the ASM redundancy in check.

Leave a Reply

Article by: Shadab Mohammad