Why You Need to Upgrade to Oracle 12c

Posted on: December 20th, 2016

Reasons for and the Benefits of Upgrading to Oracle 12c


For Oracle customers still running version 11g, Oracle has already announced EOL for Premium Support.  Extended Support is available until 2020, but that comes with added costs.  Yet there are other reasons than just support costs for upgrading to version 12c, mainly new features that can solve new IT requirements.

Here we review some of what is new and the benefits of upgrading.


Why Upgrade?

Each major release of Oracle Database usually brings enhancements in scalability, performance, and security.  And in an increasingly competitive market, with many alternatives to the paid RDBMS, one would expect that it should bring costs savings too.  With 12c, Oracle has addressed all of these criteria.


Embracing Containers

With version 12c, Oracle has added features to its traditional row-and-column RDBMS and embraced concepts that have thoroughly changed other IT architectures. In particular Oracle now provides support for unstructured data and containers.  And to put it on par with SAP Hana, Oracle now lets the user run their entire database in memory.

Containers have revolutionized the way organizations push out software. Using Open Source tools like Ansible, companies can push out complicated software in abstractions called containers. Docker is the most popular one of those.  The container is like a virtual machine, but it’s far easier to deploy and entirely portable.  It literally takes seconds to install a complex application with Docker once that container has been built. And there are plenty of pre-built ones located in public repositories on the internet.

Oracle calls their adoption of this idea the Multi-Tenant Architecture.  Each database inside that includes a PDB (Pluggable Database), each with its own schema.  With this the DBA or DevOps can provision new instances for say, development, test, and break-fix environment much easier than before.


Big Data and Graphs

Oracle has added new features that make its product more like big data databases.  Their increased support for unstructured data will interest those running a data warehouse, as their users are probably clamoring for Hadoop or Spark.  Version 12c adds support for the DICOM digital image format, SDN, which is kind of like a Java object, and JSON (JavaScript Object Notation).  JSON is how data is stored in noSQL data stores like ElasticSearch and MongoDB and has been pushed to the forefront by the wide adoption of server-side JavaScript, known as NodeJS, as well as client-side JavaScript frameworks.

The other objects you can now store in Oracle are far more complicated.  These are spatial and graph data.  Spatial means geographic. Graph data is a complex data structure that models relations using vectors.  This is what Facebook uses to model the “Like” relationship between persons.

Other features are more granular and less sweeping and will interest the command-line DBA more than the CIO.  This includes the approximate_count() function which, as the name suggests, lets a user get an approximate count of records in a table without having to run a full table scan.  Now there is also the ability to fetch the first 5 records, providing the same benefit.  And programmers no longer have to create sequences to automatically assign numbers to columns in a row. And as for expanding Oracle fields, varchar (variable character) columns can now store 32KB of data, up from 4K.


Caching and Encryption

In order to store your whole database in memory you would need an awful lot of memory, such as you can get if you purchase or rent an expensive Oracle Exadata server.

But if it will not fit, you can store the data that is most often used in what they call the Big Table Cache.  Caching of course is nothing new.  Neither are the algorithms that select records for caching.  But what is new is Oracle has implemented this in a way that is unique to its mighty and complicated product.  The goal is to avoid expensive disk I/O operations.

Regarding security, now there is support for the FIPS 140 encryption. That will be important for persons working with government clients.

And there are many more new features, which you can learn about by studying the release notes.


The Difference between Standard Edition 2 and Enterprise Edition

What version edition should you pick? One costs more than the other.  One has more features than the other.

Oracle characterizes their Standard Edition (SE) as being suitable for departmental and web applications.  The Enterprise Edition is for high-volume online transaction (OLTP) processing, data warehouses, and high volume web applications.

Why do they call it SE2?  The “2” here just means version 12.

Another distinguishing factor is with EE you can purchase different options, thus paying only for what you need.  An example of that is Analytics, which includes predictive analytics and similar tools.  That works like the Google Cloud Prediction tool and similar products from DataBricks and IBM Watson. It lets you load data to it and it selects what algorithm to run.

But for those who have data scientists who understand such things, you can buy support for the R statistical programming language as a shell. That makes it like Apache Spark which has support for R, Python, and Scala analytics languages.

Other optional packs include advanced compression plus different management tools.  Disk compression should save on storage costs for customers paying for cloud block storage, like Amazon EBS. Regarding costs, the Multi-tenant Architecture should drive down costs in the same way that virtual machines cost less than physical ones.

All of this taken together, and the mix-and-match nature of the EE, plus the looming 11g EOL and its added support costs, makes for compelling reasons to move the DW, ERP system, shopping cart, and other systems to the new platform.