Wednesday, December 2, 2015

Will be big size read and writeoperations cached in Exadata Smart Flash Cache ?


As we know, there are 2 Flash Cache modes in Exadata: WhiteThrough and WriteBack.

The WhiteThrough mode is obvious: the FC content is read from hard disk, so temporary content (temporary tables, sorts, hash join temporary data) cannot be written to FC in this mode.

In order to improve Write-performance for user processes we usually enable WriteBack mode the cells. In this mode FC is opened for writes from database level. And some time ago I asked the question in Oracle Community and community experts said that "FC will cache temporary content".

But real life have to have some doubts in expert statement.
Look at AWR report for our last test.
It is easy to distinct the temporary tablespace (BIG16K_TMP%) and other tablespaces by the name.
Look at the read and write time column (ms) and compare values:

 You can see the big difference in read and write time for TEMP and not TEMP datafiles.
50-60-70 ms - it cannot be a flash latency, it is definitely a HDD latency.

Let look into the Express:

We clearly see the 0-1 ms latency for Flash and 10+ ms latency for HDD.

So, who is right? Is temporary content cached in Flash Cache or not ?

What we found:
Oracle divide the IO into 2 classes: Large IO and Small IO.
Large IOs are > 128K
Small IOs are <= 128K.

(Oracle Exadata Storage Server Software User's Guide, page 7-2: 
small means less than or equal to 128 KB, and large means more than 128 KB).

So, now we understand :
Large IOs go to the HDD 
Small IOs go to Flash Cache. -applyRU ERROR: The home is not clean. This home cannot be used since there was a failed OPatch execution in this home. Use a different home to proceed.

I plan to install RAC VM on my notebook. I created new VM from Oracle Linux 7.7 and unzipped 19.3 Grid home and need to apply 19.7 RU. Duri...