Oracle Database 12c Release – My First Observations. Licensed Features Usage Concerns – Part I.

Index of Related Posts

This is part 1 in a series: Part I, Part II, Part III, Part IV, Part V.

Update: Oracle Acknowledges Software Defect

During the development of this study, Oracle’s Product Manager in charge of the In-Memory feature has cited Bug #19308780 as it relates to my findings. I need to point out, however, that it wasn’t until this blog installment that the defective functionality was acknowledged as a bug. Further, the bug being cited is not visible to customers so there is no closure. How can one have closure without knowing what, specifically, is acknowledged as defective? Also read more at The Register: Click here.

Other Blog Updates

Please note, there are blog updates at the end of this article.

How Do I Feel About Oracle Database 12c Release

My very first words on Oracle Database 12c Release can be summed up in a single quotable quote:

This release is hugely important.

I’ve received a lot of email from folks asking me to comment on the freshly released In-Memory Database Option. These words are so overused. This post, however, is about much more than word games. Please read on…

When querying the dba_feature_usage_statistics view the option is known as “In-Memory Column Store.”  On the other hand, I’ve read a paper on that refers to it as the “In-Memory Option” as per this screen shot:


A Little In-Memory Here, A Little In-Memory There

None of us can forget the era when Oracle referred to the flash storage in Exadata as a “Database In-Memory” platform. I wrote about all that in a post you can view here: click this. But I’m not blogging about any of that. Nonetheless, I remained confused about the option/feature this morning as I was waiting for my download of Oracle Database 12c Release to complete. So, I spent a little time trying to cut through the fog and get some more information about the In-Memory Option. My first play was to search for the term in the search bar at The following screen shot shows the detritus returned due to the historical misuse and term overload–but, please, remember that I’m not blogging about any of that:


As the screenshot shows one must eyeball their way down through 8 higher-ranking search results that have nothing to do with this very important new feature before one gets to a couple of obscure blog links. All this term overload and search failure monkey-business is annoying, yes, but I’m not blogging about any of that.

What Am I Blogging About?

This is part I in a short series about Oracle licensing ramifications of the In-Memory Option/In-Memory Column Store Feature.

The very first thing I did after installing the software was to invoke the SLOB database create scripts to quickly get me on my way. The following screen shot shows how I discovered that the separately-licensed In-Memory query feature is enabled by default. If there is any confusion over my use of the word enabled, please click here for a screenshot of Oracle documentation on the parameter. And now, the screen shot showing the default in an instance of the database:


Now, this is no huge red flag because separately-licensed features like Real Application Clusters and Partitioning are sort of “on” by default. This fact about RAC and Partitioning doesn’t bother me because a) one can simply unlink RAC to be safe from accidental usage and b) everyone that uses Enterprise Edition uses the Partitioning Option (I am correct on that assertion, right?).  However, I think things are a little different with the In-Memory Option/In-Memory Column Store feature since it is “on” by default and a simple command like the one in the following screen shot means your next license audit will be, um, more entertaining.


OK, please let me point out  that I’m trying as hard as I can to not make a mountain out of a mole-hill. I started this post by stating my true feelings about this release. This release is, indeed, hugely important. That said, I do not believe for a second that every Enterprise Edition deployment of Oracle Database 12c Release will need to have the In-Memory Option/In-Memory Column Store Feature in the shopping cart–much unlike Partitioning for example. Given the crushing cost of this option/feature I expect that its use will be very selective. It’s for this reason I wanted to draw to people’s attention the fact that–in my assessment–this option/feature is very easy to use “accidentally.” It really should have a default initialization setting that renders the option/feature more dormant–but the reality is quite the opposite as I will show in Part II. (BLOG UPDATE 2014.07.26: Many Oracle separately licensed features are enabled by default but users actually have to “use” the feature to trigger feature usage as would show up in an audit. Please see Part II where I show that registered usage of this feature happens even if one doesn’t “use” the feature.)


I have to make this post short and relegate it to part I in a series because I can’t yet take it to the next level which is to write about monitoring the feature usage. Why? Well, as I tweeted earlier today, the scripts most widely used for monitoring feature usage are out of date because they don’t (yet) report on the In-Memory Column Store feature. The scripts I allude to are widely known by Google search as MOS 1317265.1. Once these are updated to report usage of the In-Memory Option/In-Memory Column Store Feature I’ll post part II in the series.


Please click on the following link to view Part II in this series: Link to Part II.


BLOG UPDATE 2014.07.29: As you read this please bear in mind the words in this tweet issued by Oracle’s Maria Colgan  and consider whether I am saying you “don’t have 2 [sic] do anything” to trigger feature usage. You’ll find that I am saying the opposite in this post. The point is, however, the feature ships ready for you to do this. The feature is enabled by default as per Oracle’s spokesman as reported by and my example herein merely corroborates the spokesman’s assertion.

BLOG UPDATE 2014.07.28: Please don’t forget to view this post (click here) with clear proof that neither the INMEMORY_SIZE nor INMEMORY_QUERY initialization parameters  prevent triggering usage of the In-Memory feature.

BLOG UPDATE 2014.07.28: Here is a link to an article as of 26 July 2014. In the comment section the author quotes an Oracle spokesman as saying “Yes, Oracle Database In-Memory is an option and it is on by default, as have been all new options since Oracle Database 11g.” :       Link to 26 July version of article. Other supporting links: Screenshot 1, Screenshot 2, Screenshot 3PDF of  26 July 2014 Informationweek article

BLOG UPDATE 2014.07.25: There is now a Part II posting available in this series.  Link to Part II.




27 Responses to “Oracle Database 12c Release – My First Observations. Licensed Features Usage Concerns – Part I.”

  1. 1 John Thomas July 24, 2014 at 1:29 am

    Oracle really should sort this out pronto. US$23,000 per CPU for a feature the customer didn’t intend to use.

    Oracle’s approach to licensing is often close to “entrapment”. Make it as easy as possible to enable a new cost option or even – as in this case – almost switch usage on by default, then clout the customer with an enormous bill at the next audit for a feature they didn’t intend to use. Worst kind of underhand sales technique.

    A while back I found that the absence of a startup mount option in oradim meant that in ( I think) on Windows, restarting a standby server would result in opening the database with Real Time Query enabled, potentially resulting in a demand for an Active Data Guard licence.

    There was no way round this other than starting the instance using a script called by a Windows startup trigger. (There’s probably another way if you have OHAS from Grid Infrastructure now, but that’s a whole other install.)

  2. 5 Atkinson Matthieu July 24, 2014 at 3:53 am

    you could make a very similar argument for the tuning and diagnostic packs, save for the CONTROL_MANAGEMENT_PACK_ACCESS parameter.

  3. 6 Paul Bullen (@xpabu) July 24, 2014 at 4:30 am

    Interesting findings, thanks. Not exactly surprising it is on by default, as so many options are these days in the database. Worse offenders in my experience are the Diagnostics and Tuning Packs; so easy to use and so many people assume they are part of the core database (they can be used on Standard Edition as well, though shouldn’t be of course).

    The MOS scripts you refer to are, frankly, poor and inaccurate — not a basis to judge your product usage or license requirements. LMS scripts certainly take a lot more into consideration than the MOS scripts.

    On your point about everyone using Partitioning when they Enterprise Edition, that’s incorrect — we have collected accurate usage information from many servers, totaling thousands of instances and only 23% of the Enterprise Edition instances use Partitioning. Contrast this with 57% using Diagnostics Pack. I can assure you that *way* less than 57% of those instances were licensed for Diagnostics Pack. Combined with a recent 50% increase in the Diagnostics Pack cost and more people will be caught out with large bills.

  4. 8 Brian Pardy July 24, 2014 at 7:18 am

    I wonder how long until the first blog conflating an INMEMORY table with a pinned-in-buffer-cache table exists to help arm that timebomb.

  5. 9 oraclebase July 24, 2014 at 7:30 am

    I think the naming is quite confusing. There was lots of talk about “In-Memory Database” and “In-Memory Option”, but as you point out, it is now documented as “In-Memory Column Store”, which is a better name.

    I think there will be a lot of confusion with the “Full Database Caching Mode”, which effectively makes an In-Memory Database, but has nothing to do with the column store…

    It would be nice if people decided on the final names earlier on in the process. 🙂



    • 10 flashdba July 24, 2014 at 8:44 am

      I think it’s even more confusing than that, as the Licensing Information document shows Oracle Database In Memory comprising of three different features:

      – In-Memory Column Store
      – Fault Tolerant In-Memory Column Store (Requires Exadata or Supercluster)
      – In-Memory Aggregation

      I’d love to know Kevin’s thoughts on the restriction of Fault Tolerant IMCS to just Exadata and Supercluster… 🙂

      – flashdba

  6. 11 jweinshe July 24, 2014 at 11:52 am

    Relatively, it’s not *that* crushing – according to the pricing list, per processor it’s just $23,000 – same price as RAC.

    Admittedly, I don’t pay the $$ for RAC either.

  7. 13 David Kurtz July 25, 2014 at 1:51 am

    “b) everyone that uses Enterprise Edition uses the Partitioning Option (I am correct on that assertion, right?)”
    I think that assertion is generally true for customers with EULAs, but I think there is a significant number of separately licenced Enterprise Editions who do not use partitioning because it costs more. Or, was that comment made tongue-in-cheek?

    • 14 kevinclosson July 25, 2014 at 10:26 am

      No tongue-in-cheek at all. Thanks for the input, David.

      • 15 oraclebase July 25, 2014 at 10:34 am

        Well, everyone does use partitioning, because it is used in the SYSTEM tablespace, but it is logged in the feature usage as “Partitioning (system)”, which is free.

        If you are using it in your schema it is logged as “Partitioning (user)”, which definitely does need to be paid for!



  8. 16 Chris Carr July 25, 2014 at 3:16 am

    One mitigating factor is that although you can set a table in memory It won’t be loaded into the column store until you set a value for INMEMORY_SIZE and restart the instance.
    This somewhat depends on how the feature usage is measured if its when a table is specified as In memory then its problematic, if its when the table is loaded into the column store then that seems fair enough as you had to set a static parameter and restart to fall into the trap.

  1. 1 12c Release 1: Oracle aktiviert mit Patch kostenpflichtiges Feature | Trackback on July 25, 2014 at 3:59 am
  2. 2 Oracle’s in-memory tech switched on by default in latest patch | SiliconANGLE Trackback on July 25, 2014 at 4:30 am
  3. 3 Oracle’s new in-memory database option could spark unanticipated costs, expert warns | Trackback on July 25, 2014 at 1:05 pm
  4. 4 Oracle Database 12c Release – My First Observations. Licensed Features Usage Concerns – Part II. | Kevin Closson's Blog: Platforms, Databases and Storage Trackback on July 25, 2014 at 2:02 pm
  5. 5 Oracle Database 12c In-Memory Feature. Enabled, Used or Confused? Don’t Be. | Kevin Closson's Blog: Platforms, Databases and Storage Trackback on July 28, 2014 at 2:41 pm
  6. 6 Impugn My Character Over Technical Points–But You Should Probably Be Correct When You Do So. Oracle 12c In-Memory Feature Snare? You Be The Judge ‘Cause Here’s The Proof. | Kevin Closson's Blog: Platforms, Databases and Storage Trackback on July 28, 2014 at 5:04 pm
  7. 7 Arguing Facts and Fiction | More Than Code Trackback on July 29, 2014 at 5:08 am
  8. 8 Oracle In-Memory : une option à risque pour les licencesLexique Informatique Trackback on July 29, 2014 at 11:35 am
  9. 9 Oracle In-Memory : une option à risque pour les licences | vienergie Trackback on July 30, 2014 at 11:59 pm
  10. 10 Arguing Facts and Fiction | Sten Vesterli's Blog Trackback on August 4, 2014 at 4:19 am

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.


I work for Amazon Web Services. The opinions I share in this blog are my own. I'm *not* communicating as a spokesperson for Amazon. In other words, I work at Amazon, but this is my own opinion.

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 747 other subscribers
Oracle ACE Program Status

Click It

website metrics

Fond Memories


All content is © Kevin Closson and "Kevin Closson's Blog: Platforms, Databases, and Storage", 2006-2015. Unauthorized use and/or duplication of this material without express and written permission from this blog’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Kevin Closson and Kevin Closson's Blog: Platforms, Databases, and Storage with appropriate and specific direction to the original content.

%d bloggers like this: