So how to turn it the option off/disabled…As a privileged database user:
- > Just don’t set the INMEMORY_SIZE parameter to a non zero value…(the default IS 0). If there is NO In-Memory Column Store / cache, the feature will not work. Also see my post Oracle Database 18.104.22.168.0 – Turning on the In-Memory Database option, on how to enable the feature.
- > To be absolutely sure, not trusting users not to use it and overruling it on session level, set INMEMORY_QUERY to the value DISABLE (the default is ENABLE).
- > To be absolutely absolutely sure, not trusting users/yourself/anyone, not to use it and overruling it on whatever level, set INMEMORY_CLAUSE_DEFAULT to the value ‘NO INMEMORY’ (the default is an empty string).There currently seems to be a bug (NR# 19308780) that wrongly tracks the feature being used, while the INMEMORY_SIZE=0 and/or even the INMEMORY_QUERY=DISABLED parameters are set.
As long as this bug exists in your database version, as usual, educate yourself/users/developers not to explicitly use the feature via DDL and patch your database version when the fix for bug 19308780 is released. Besides reading the manuals on how the In-Memory Database option / In-Memory Column Store works, also have a read here on the how, what and where and possible (initial) pitfalls:
…Getting started with Oracle Database In-Memory Part I – by Maria Colgan
…Oracle 12c In-Memory Feature Snare?…(snippet of a long title) – by Kevin Closson (also about bug 19308780)
…Oracle’s In-Memory Database: The True Cost Of Licensing – by James Morle
In short, as mentioned in my post Oracle Database 22.214.171.124.0 – Turning on the In-Memory Database option, if you don’t explicitly set the INMEMORY_SIZE parameter to a non default value (bigger than 0), the cache isn’t created and therefore you won’t be able to use the feature in effect.