The Latest New Features Skinny – Part One

Oracle Database has just been released here for Linux X86-64 and Solaris! I’m sure other OS releases are not far behind. The documentation is available here. Back in the old days, a dot release of the Oracle Database (i.e. to product didn’t have that many new features in and of itself. It was the big dot releases that contained the cool new features, and then the number change releases (11 to 12 for example) that really introduced major changes.

However, Oracle has pretty much broken this mold in, which is not unexpected. Many of the new features in revolve around adding normal database functionality that was not initially present in multitenant. In the first of my new features blog posts, let’s look at three of the new features present in the Oracle Database


The CONTAINERS clause provides a way to address data in two or more PDB’s in a single query. Thus, if you have two EMP tables, and they are in PDB’s called AHR and RHR – you can now issue a select that accesses each table in the different PDB’s. For example, let’s say that we wanted to see the average cost of an employee’s benefit to the employer. In our case this information resides in two different systems. The active employee data is in the AHR PDB, the retiree data is sitting in the RHR database. If the employeer benefit cost for an employee is in a table called EMPLOYEE and the data is in a column called BENEFIT_COST, then we could query both tables using one SQL statement to get the average BENEFIT_COST. Here is an example:

SELECT avg(benefit_cost)


WHERE CON_ID IN (45, 49);

Note in this query that we have to list the CON_ID of the containers we want to include the query. We could slightly modify this query so we don’t need to know the CON_ID of the containers like this:

SELECT avg(benefit_cost)


WHERE CON_ID IN (select con_id in dba_containers

where con_name in (’AHR’,’RHR’) );

This is clearly a simpler solution.

2. CREATE_FILE_DEST parameter

 If you have dealt with CDB’s and PDB’s you might get a little frustrated with the lack of ease with respect to the creation of PDB related datafiles. Originally in 12c Release 1 the database would put the files in the default file system directory and there was not an easy way to shortcut this default value.

This new functionality is facilitated through the use of the CREATE_FILE_DEST parameter. This parameter set unique to each PDB. Once defined, you will need to make sure that the mount point that is defined has been created and that the appropriate permissions are granted to Oracle so that it may read and write files to the file system.

Note that this parameter can be used to make plugging PDB’s in and out since the files will be isolated away from other PDB and CDB related files.

3. PDB Metadata Clone

Oracle’s ability to quickly clone a PDB is one big selling features of Multitennant. One of the nice features of is the ability to clone a PDB with all the logical structures, but none of the data is cloned over. This is a nice feature if you need to fast provision a development database from a production source, but you don’t wish to put production data in that cloned database.

You might be asking yourself – Why do I care about CDBs and PDB’s anyway. We are not going to be using Oracle Multitennant anyway. My response is simple – yes, you will. Someday the Oracle infrastructure will be purely based on the concept of a Container Database and at least one Pluggable Database. So, you might as well get ready for that revolution now – because it is coming.

4. Force Full Database Caching Mode

Force Full Database Caching Mode is new in Oracle You might have heard about the Oracle In-memory database features that are being released with (this feature is called the in-memory column store) – and you might have accidently confused this feature for the Oracle in-memory database features. These are two different features. I’ll address Oracle’s in-memory database features at a later date or you can read about them now on this page. You can enable Force Full Database Cashing Mode by mounting the database and then using the alter database force full database caching command and then open the database with the alter database open command. You only need to issue this command once and the database will continue to open in Force Full Database Caching Mode on subsequent database opens.

To turn off Force Full Database Caching Mode shutdown the database, mount it, and issue the command alter database no force full database caching. You can then open the database with the alter database open command.

More new feature stuff to come!

** Post edited 7/28/2014 because the author can't type ... it's X86-64!


Hi, the first line says "X86-63". Is that right?

[Oracle Database has just been released here for Linux X86-63 and Solaris! ]

(think it's typo)


Posted by santosh loke on July 28, 2014 at 02:23 AM PDT #

You have never heard of Linux X86-63!! I'm shocked!
I shall quickly spring into action and correct that typo!

Posted by Robert on July 28, 2014 at 07:22 PM PDT #


You talked about the Force Full Database Caching Mode, is his mode license free, of does this also require the in-memory database license?


Posted by guest on August 21, 2014 at 09:57 AM PDT #

My understanding is that this specific feature comes with the standard database license in this case.

Posted by Robert Freeman on August 21, 2014 at 10:59 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed

Welcome to Robert G. Freeman's Oracle Blog. My specific interest is with Oracle Database and Oracle Exadata. I've been involved with Oracle databases for over two decades and have worked for Oracle now for over 4 years. Site Meter

  • Subscribe by Email
  • Search

    « July 2016