New Features of Oracle 12c Database Release 1 Patch Set 1


I admit it, I’m one of those “no Release 1” bigots when it comes to new versions of Oracle’s RDBMS.

I know dogma is not meant to have its place in technology, but I have gone through far too much suffering in previous x.1 implementations to believe that it really is different this time, promise when Oracle try and persuade people to upgrade to their latest Release 1.

Oracle have been claiming that “this NEW version is rock-solid, man, none of the old teething problems” since 9.1, so it’s difficult for those DBAs who don’t enjoy pain to make the leap instead of waiting until the second patch set of the second release before starting on their upgrade planning.

HOWEVER, the latest patch set for Oracle 12cR1 was released this week and, BOY, does it have a lot of really cool features.

As ever, the proof is in the pudding – or, at least, the number of flies in the pudding – but these new features have attracted my attention to the degree that I’m willing to give it a chance, after it’s proven itself in on a test VM somewhere.

Not only are Oracle clearly implementing a lot of agile/cloud-ready features with their pluggable databases, but they’re also bringing even more of the technology they’ve refined on Exadata to the main stream with Zone Maps and Attribute Clustering. Think “Exadata Storage Indexes” and turn down your expectations a tad and you have Zone Maps.

Of course, the really exciting bit is the Oracle Database In-Memory – but don’t forget to turn it off if you don’t plan on licensing it!

Oracle Database In-Memory (high-level overview)
– Presents a columnar, in-memory representation of the (stored) row data inside a memory cache.
– This massively improves query performance, especially OLAP queries (cubes, dimensions, etc).
– This feature is enabled by default. As it’s a cost option, remember to disable if you don’t plan on using it!

Advanced Index Compression
– Compression for all indexes … as long as they’re not unique or bitmap indexes or index-organized tables.

Automatic Big Table Caching
– Dedicated cache (db_big_table_cache_percent_target) for caching data from full-table scans.
– In RAC, this only applies to parallel operations.
– In single-instance databases, this applies to both parallel and serial operations.

Full Database Caching
– Put the whole database into memory (if you’ve got it, flaunt it).
– Forces all full-table scans to be cached, instead of the default behavior of not keeping larger tables in the buffer cache.

In-Memory Aggregation
– Optimizes star queries – joins of dimension tables to fact tables and aggregate data.
– Eliminates the need for most summary tables, allowing for OLAP access to real-time data.

In-Memory Column Store
– Allows objects to be stored in memory in a columnar format.
– This is an additional, transaction-consistent copy of the data – the row format data is not changed in any way.
– This is entirely transparent to end users and greatly improves analytical query speeds.
– Run more ad-hoc analytics on the real-time Production data – no need for a separate OLAP data store.

JSON Support
– JavaScript Object Notation data can be stored, queried and indexed inside the database.
– A lot of the cool kids of the app world – such as IFTTT, Launch Center Pro and Numerous – use JSON for notifications/semi-structured data.

PDB Metadata Clone
– Pluggable databases can be cloned with only metadata (no real data) – thus creating a “template” for additional PDBs.

PDB Remote Clone
– Pluggable databases can be cloned over a database link.

PDB Subset Clone
– Only clone certain tablespaces into a pluggable database – the source can be a non-multitenant container database. Depending on how this works, this could save a whole bunch of time migrating databases from your “legacy” into your “new, agile” environment.

Rapid Home Provisioning
– Deploy ORACLE_HOMEs from a catalog of “gold” pre-created homes.

Zone Maps
– Allows I/O pruning of the data based on the physical location of the disks.
– This sounds a LOT like Exadata storage indexes.
– It looks like zone maps can be used in conjunction with attribute clustering to keep data together, depending on its content.

I imagine that a good example would be to keep the last week’s partitions of a table in a “hot zone”, the last month’s partitions in a “cooler” zone and the last year’s partitions in a “cold” zone.

I wonder if this is meant to work automagically with Oracle’s ILM … that would be really nice!

Tagged , , , , , , ,

15 thoughts on “New Features of Oracle 12c Database Release 1 Patch Set 1

  1. Amin Adatia says:

    Would be interested to know when (and if) you migrate to How long will it be and what obstacles you faced — besides the technical.


  2. Mark Smith says:

    The chances are that it’ll be a while until I get to migrate an existing system TO In my experience, most shops tend to play with new releases in a sandbox environment before sneaking them into a new project. Once it’s proved itself in Production, the DBA team can then look to upgrade across the environment.

    This also gives application vendors to certify the new release and, of course, for others to squash the bigger bugs 🙂

    Having said that, I’m not sure whether to upgrade my Exadata platform to in the fall or make a big push to upgrade to 12c in early 2015. Or both 🙂


  3. Anonymous says:

    go 12c 11g going into extended support next year.


    • Amin Adatia says:

      Isnt one of the fallout of the No Release 1 mantra a fallback to continue using unsupported software?


      • Mark Smith says:

        No – not unless Oracle decide they’re only going to support one version of the software (12.1), which would be a huge shift from what they’ve done in the past.

        I suspect will be supported for a while yet, whether it’s in free “extended” support or otherwise. After all, there are an awful lot of 10g databases still out there.


      • Amin Adatia says:

        But the 10g are there because of the no Release 1 policy when 11g came out. and that was so soon, relatively, that people the just got caught — besides the rumor, the 11g did not support Oracle Text!!
        The No Release 1 crowd will prompt the Release 2 soon. and then there will be yet another rumor that 12c does not work on Exadata X2… and so it will continue.


  4. Mark Smith says:

    I can’t speak to the rumors, honestly. I know that I didn’t upgrade from 10gR2 to 11gR1 for two reasons:

    1) There were no compelling new features that persuaded me that I should upgrade to 11gR1 and THEN upgrade to 11gR2 soon after.

    2) In mid 2009, Oracle employees themselves were making it clear that 11g Release 2 was a MAJOR change (Grid Infrastructure, Oracle Restart, HAS, etc) and I was told by multiple sources to “wait until 11gR2 came out” before upgrading.

    It turned out that had a ton of bugs in it and it needed a patch set on top of it to be stable.

    Really, they got their naming convention wrong with 10g and 11g:

    – 11gR1 should have been 10gR3
    – 11gR2 should have been 11gR1
    – Perhaps or .3 should have been 11gR2, I’m not sure.

    As one of Oracle’s sales points for Exadata is database consolidation and “forcing” databases on the platform to remain current, I’m sure that 12c will work on any Exadata machine currently supported.

    With 12c, there are a number of features which are compelling to persuade people to take a serious look at upgrading before Release 2. They may not risk upgrading their critical databases until 12cR2 because of Oracle’s past problems with Release 1s, but I think they will give it a lot more thought than they did 11gR1.

    I expect that a lot more not-business-critical-but-still-Production databases will be upgraded to 12cR1 than in previous releases. However, 11gR2 will still be around for some time yet – possibly until version 13 is released, whenever that may be.


  5. Amin Adatia says:

    When Support solution is “it is fixed in 11g” for most of your issues, it is then time to upgrade. My issues would not get solved by remaining on 10g and even if 11g would have bugs the ones I am left holding the bag on 10g would have been “solved”. I could then work on bugs that would not have the answer “fixed in 11g”. 🙂

    But none of that matters .. we dont even apply patches to Exadata — we are stuck at Patch Bundle 13 which is what we started with.


  6. Mark Smith says:

    Ugh. There are some MAJOR bugs which need addressing all the way up to BP 23 (for and whatever the equivalent is for

    Such as this one:

    And this one:


    • Amin Adatia says:

      Oracle and BugFree dont go together. So, my take is that if the upgrade lets you do what you were in the old release and gets rid of some of the bugs you had, then an upgrade has a positive NPV. As my economics Prof used to say, in the long run we would all be dead. 🙂


  7. Mark Smith says:

    I really suck at replying in the correct place, it looks like. Not sure why it’s so temperamental 🙂


  8. […] Set 1″ is now available. There are a lot of DBAs out there, myself included, who adopt a “wait until Release 2, Patch Set 1″ approach before getting serious about upgrading to a new version. If you’re one of those DBAs, happy […]


  9. […] (SE1?) are available options if you’re running a database. However, if you like living your life in the fast lane (as well as making use of some really cool new features) and you’re running, both SE and SE1 editions are replaced by […]


Leave a Reply

Fill in your details below or click an icon to log in: Logo

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

Google photo

You are commenting using your Google 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

%d bloggers like this: