The Oracle 12c Database has the most new features ever released with any version of any database. As you might have guessed from it’s name, the new version is more focused on Cloud Computing. Larry Ellison had pointed out in his Keynote session, at Openworld 2012, that in-fact it is the biggest release of database that they have done in quite some time. This time there have been some drastic architectural changes in this version, with about 500 new features!
This Multitenant feature allows the databases to be consolidated on a single server while keeping them segregated from each other. This allow the sharing of the SGA, CPU and background resources, reducing the wider memory and CPU footprint otherwise required for individual databases. Oracle 12c Container and Plugable Databases is discussed in a more detail in this article.
Oracle database 12c also monitors the activities on each column of table and will determine which type of compression is suited for those columns. It will also have the ability to compress those columns as well.
This allows for the ability to create duplicate indexes on the same set of columns. This can be be very handy in data warehouses where both B-tree and Bitmap indexes are desirable on the same set of columns.
Implicit Result Sets
One of the prime use of PL/SQL types is to return the result sets from a procedure or function. However this use case is no more valid with the release of 12C database as it allows you to return Ref Cursor all by themselves from procedures and functions.
PL/SQL Unit Security
You can now assign roles to individual blocks of PL/SQL code. It appears simple but very impressive, to say the very least. Oracle is making sure security is grantable at each block level.
This appears to be a catch up with MySQL and MS SQL Server databases. Both of these databases already have identity columns for Primary Key constraints with the ability to auto update the column by default.
Default Column Enhancements
There are quite a few new ways to set default values for a column. You can now using the NextVal and CurrVal pseudocolumns of Sequence. You can also set the default values for explicit Nulls provided in insert statements to make sue that certain columns always have a value. And also now the Metadata Only default values for both Mandatory and Optional columns.
Row Limiting Clause
The new Row Limiting Clauses, Offset and Fetch, allow you to select the Top N like queries without understanding anything about Analytical functions. Also these clauses allow you to paginate through your data to select certain subset of data.
Extended Data Types
The maximum sizes of Varchar2, NVarchar2 have been increased to 32K from 4K. The size of RAW data type is also now can be 32K instead of 2K. All these sizes are available under Extended Data Types feature which can be enabled by setting an initialization parameter and running a seeded script.
There are different types of column masking of VPD, however now there is ability not not just null the value but to actually mas the value in the row.
The improved encryption allows the SQL creation and management of wallets, rather than using the command line utilities. It also allows remote management in easy way. The encryption function is also introduced in the export and import wallets/keys between pluggable databases. The storage of wallets is in ASM, for better Security/Encryption.
Separation of Duties
SYSDBA – Super user
SYSOPER – Privileges less than SYSDBA, but still powerful enough.
SYSBACKUP – Can be used specifically to perform backup & restore operations.
SYSDG – Available for data guard administration.
SYSKM – Provided to perform basic key management tasks.
Oracle 12c Database Features not supported in Container Databases
• Continuous Query Notification
• Flashback Data Archive
• Heat Maps
• Automatic Data Optimization
Read more on Oracle 12c’s RAC New Features.