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.


  1. Till read your post I don't have any knowledge on WhiteThrough and WriteBack and I like your conclusion Large IOs go to the HDD
    Small IOs go to Flash Cache.I follow your posts to know more in my oracle exadata traaining thank you.

  2. Now they goto flash - see here :


ZDLRA. ra_install.jar. Exception in thread "main" java.sql.SQLException: ORA-28040

If you run the  Oracle Backup module ra_install.jar and got the message: Exception in thread "main" java.sql.SQLException: ORA-2...