X
  • July 26, 2014

The Latest New Features Skinny – Part One

Oracle Database 12.1.0.2 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. 12.1.0.1 to 12.1.0.2) 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
12.1.0.2, which is not unexpected. Many of the new features in 12.1.0.2 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 12.1.0.2.

1. PDB
CONTAINERS Clause

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)

FROM CONTAINERS(HR.employee)

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)

FROM CONTAINERS(HR.employee)

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
12.1.0.2 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 12.1.0.2. You might have heard about the Oracle In-memory
database features that are being released with 12.1.0.2 (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!

Join the discussion

Comments ( 4 )
  • santosh loke Monday, July 28, 2014

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

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

    (think it's typo)

    thanks,


  • Robert Tuesday, July 29, 2014

    You have never heard of Linux X86-63!! I'm shocked!

    I shall quickly spring into action and correct that typo!


  • guest Thursday, August 21, 2014

    Hello,

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

    Thanks.


  • Robert Freeman Thursday, August 21, 2014

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


Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha
Oracle

Integrated Cloud Applications & Platform Services