Database Smart Flash Cache on which OS (OL5, OL6, OL7)?

I got a DM from someone a couple of days ago asking me to try the Database Smart Flash Cache (DSFC) feature on a few combinations of DB version and OS version.

You are probably thinking, why bother? Both Oracle 12.1 and Oracle 12.2 are supported on a variety of Oracle Linux versions, so it works on all of them right? Wrong…

  • Oracle 12.1 : DSFC works on OL5 and OL6, but it doesn’t work on OL7.
  • Oracle 12.2 : DSFC works on OL6 and OL7. I haven’t tried it on OL5. 🙂

So if you want to use this feature in Oracle 12.1 on OL7 you are out of luck. When you start the instance you will see this.

$ sqlplus / as sysdba

SQL*Plus: Release Production on Fri Aug 11 22:43:32 2017

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORA-00439: feature not enabled: Server Flash Cache

If you check the alert log you will see this.

$ cat alert_cdb3.log
Fri Aug 11 22:43:37 2017
Starting ORACLE instance (normal) (OS id: 4842)
Fri Aug 11 22:43:37 2017
CLI notifier numLatches:3 maxDescs:519
Fri Aug 11 22:43:37 2017
Fri Aug 11 22:43:37 2017
Dump of system resources acquired for SHARED GLOBAL AREA (SGA) 

Fri Aug 11 22:43:37 2017
 Domain name: user.slice
Fri Aug 11 22:43:37 2017
 Per process system memlock (soft) limit = 128G
Fri Aug 11 22:43:37 2017
 Expected per process system memlock (soft) limit to lock
 SHARED GLOBAL AREA (SGA) into memory: 1536M
Fri Aug 11 22:43:37 2017
 Available system pagesizes:
  4K, 2048K 
Fri Aug 11 22:43:37 2017
 Supported system pagesize(s):
Fri Aug 11 22:43:37 2017
Fri Aug 11 22:43:37 2017
        4K       Configured          393219          393219        NONE
Fri Aug 11 22:43:37 2017
 Reason for not supporting certain system pagesizes: 
Fri Aug 11 22:43:37 2017
  2048K - Dynamic allocate and free memory regions
Fri Aug 11 22:43:37 2017
Initial number of CPU is 2
Number of processor cores in the system is 2
Number of processor sockets in the system is 1
Picked latch-free SCN scheme 3
db_flash_cache_file and db_flash_cache_size is not supported on this platform

This failure is consistent across multiple OL7 versions, including 7.4. It is also consistent across 12.1 versions, up to and including the July 2017 updates.

Well that’s annoying. 🙂



PS. I am aware there is a hack to make this work on other Oracle Linux versions, and even on other Linux distributions. My point is this shouldn’t be necessary if they just fixed the offending greps which are visible in the strace during startup. 🙂

Update: Kevin Closson wrote in the comments, “OEL7 support has been added after bug 19504946, which went into to but not the initial release nor PSU”.