This may not have come up too much yet, but starting with
Oracle version 12.1.0.2 (supported as of TR 9.1.4) Oracle has done away with
the concept of single instance databases in favor of Container Databases (CDB)
with Pluggable databases (PDB). This adds a little
bit more complexity to the install and management of the database. Any
customer upgrading or migrating to 12c will have to convert their database to a
PDB. Don’t worry though – it’s actually not that hard to do.
What is a CDB/PDB?
A CDB is basically all the Oracle system databases and other
objects that every database needs like control files, redo logs, tempfiles,
etc.. The PDB is all the user databases (like JDE). This architecture makes the
data independent of the system, although an end-user wouldn’t be able to tell.
All future installations of Oracle database will use this two-part
configuration whether you need it or not.
PDB/CDB benefits
Where the PDB/CDB combo really shines is when a company is
hosting multiple database instances. For example, instead of having two servers
to hold production and development data, you could have those two instances on
a single server. Each instance would be a separate Pluggable database (PDB)
that both use the single common Container database (CDB). A great feature of a
PDB is that it can be instantly cloned, providing you with a point-in-time
consistent copy of the source database. It is, however, an additional cost to
use the multitenant option.
Using a PDB
JDE users wouldn’t ever connect to a CDB – that is reserved
for the DBA. To an end user (or even a junior DBA), the PDB would look like a
complete Oracle database – just like old times. In reality, most JDE installs
are only going to ever have one PDB per CDB which is essentially the same as it
always was. However, you could have a PDB for production, one for DV, and
another for PY which could all run on the same large machine sharing a single
CDB.
Why is there a CDB/PDB?
There are some great reasons to have PDBs, such as fast
upgrades, rapid cloning and snapshots, and reduced overhead. The main benefit
to this is really for Oracle, because it makes it easier to provide a
cloud-style database service. This lets them manage multiple customer databases
from a single point without multiplying the common overhead.
Uses in JDE
For a company using JDE software there are definitely some
advantages, but in general JDE practice a multitenant CDB/PDB configuration
would not typically be used. A copy of a PDB would need to have to same table
owners as the source, and the act of duplicating the PDB requires a brief
period of read-only access. It could not be used for a JDE-style data refresh
of a lower environment. Perhaps in future versions it will be possible to make
PDB clones more flexible.