the launch of Oracle
Enterprise Manager 12c Release 3, we have received tons of
questions around managing Oracle
Multitenant, an Oracle Database 12c Enterprise Edition option,
and pluggable databases (PDBs)—more specifically; questions about
pluggable database as a service (PDBaaS). In
this blog, we provide answers to some of the common questions from people.
What qualifies a database to be pluggable?
Answer: A pluggable database must be a current Oracle
Database 12c database, configured for multitenant through a new enterprise
edition option called Oracle
Multitenant. It delivers a new architecture that allows a multitenant
container database (CDB) to hold many pluggable databases (PDBs). An Oracle
Database in the old architecture (a “non-CDB”) may be upgraded
to the multitenant architecture via a simple process known as “adopting
the non-CDB as a PDB”. A PDB is a self-contained, fully functional
Oracle Database, and includes its own system, sysaux and user tablespaces.
You can learn more about Oracle Multitenant and pluggable database in
Can the pluggable
databases be plugged and unplugged across multiple platforms such as Solaris,
AIX, and Linux?
database must be endian compatible. Cross endian operations require OGG,
Data pump or restore from backup.
of database consolidation, what are the differences between using VMs,
dedicated schemas and pluggable databases?
To describe the advantages of using pluggable database vs. other consolidation
methods, it can be best illustrated in a simply comparison table.
Comparison of Database as a Service Consolidation Models
Pluggable database combines
the best of all the other models and offers excellent consolidation, isolation,
manageability and is suitable for any application that is certified to
run on Oracle Database 12c. With the other models, we see certain shortcomings.
For example, server virtualization offers good isolation but creates compliance
and administrative headaches. Schema based consolidation offers ease of
management and patching, but limited isolation.
How do you
track configuration drift with a pluggable database? I certainly understand
drift in the container database, but in what ways would a pluggable database
drift from its standard baseline?
This pertains to Configuration
Drift Tracking via Oracle Enterprise Manager 12c. One can compare any
two Enterprise Manager targets or a complete system such as an Oracle
Exadata Database Machine. When you compare at the PDB level, they can
differ in the tablespace names, the storage settings of tablespace with
same name, or users, etc. Using Oracle Enterprise Manager to track drift,
it is particularly useful in comparing difference in your development,
testing, and production environments. It is even useful for comparing
your standby systems to set standards for compliance requirements.
What is a
zone? Is it physical? Regional?
The Oracle Enterprise Manager 12c Cloud resource model involves pooling
the same target types where it’s combining similar hosts, databases,
hardware or other similar resources in to a zone. Zones can therefore
be defined by the boundary of the Cloud and exposed through Oracle Enterprise
Manager 12c’s self-service portal. In terms of the pluggable database
as a service model, you can create Oracle Multitenant container databases
and group them to form a database pool that users can then draw from.
When the self-service user provisions a pluggable database, they need
to simply specify the Zone where they want to deploy. Internally, Oracle
Enterprise Manager uses load or configuration driven algorithms to place
the PDB in the right CDB.
be the DBA and SYSADMIN role in the pluggable DBaaS environment?
With pluggable databases you have common users and local users as well
as common roles and associated privileges and local roles and associated
privileges. You can isolate user/role/privilege to the PDB by defining
only local user/role/privilege. To leverage the manage many as one, you
would define common user/role/privilege to act on all PDBs or a subset
of PDBs where the common user has create session privileges within the
PDB. You would define DBA roles and SYSADMIN roles based on common and/or
local user roles.
What if you
need custom configurations on a pluggable database? Once the database
is deployed via self-service how do you make changes?
Some parameters are modifiable at the PDB level. You would check v$parameter
ISPDB_MODIFIABLE value to determine what can be changed. Some customization
can be done at the CDB level; however, they would affect all PDBs for
that CDB. Oracle Enterprise Manager’s self-service provides a TNS
Connect string to connect to the PDB with the right privilege and execute
“ALTER SYSTEM” for the parameters that are permissible to
If I'm an
application developer and I request a database with a certain pre-defined
service level, what level of permissions should I expect with that database?
Am I getting DBA or SYSDBA privileges with that request?
It depends on what was negotiated as part of the service definition and
associated user/role/privileges defined for that service.
Are the pluggable
database as a service capabilities for Oracle Database 12c included in
Oracle Enterprise Manager 12c? Do we need a plug-in? Do we need to license
Oracle Enterprise Manager 12c Database Management Packs?
You need the Oracle Enterprise Manager 12c database and cloud plug-ins.
License-wise; the self-service provisioning from Oracle Enterprise Manager
is licensed as part of Cloud Management Pack for Database. The Oracle
Multitenant option must be licensed if two or more PDBs are plugged into
a single CDB.
Watch this short demo called “Using
Pluggable Database as a Service (PDBaaS) Self-Service Portal”
for a better understanding of deploying PDBaaS using Oracle Enterprise
Enterprise Manager 12c Management Packs are required to be able to provide
You need the Oracle Enterprise Manager 12c Cloud Management Pack for Database
and Oracle Enterprise Manager 12c Lifecycle Management Pack for Database
to do database as a service. Both of which must be licensed.
If you have
shared memory and background processes in the container database, how
do you allocate server resources to a particular pluggable database? Can
you assign specific amount of CPU cycles, RAM and IOPS for a given pluggable
execution is scoped to the PDB as identified by the con_id created during
session create. In Oracle Database 12c, Resource Manager (RM) has been
extended to include support for Oracle Multitenant. Policies may be defined
at the PDB level in terms of the simple-yet-powerful concepts of “caps”
and “shares” to determine the allocation of resources between
PDBs. In this way, resource manager can control allocation of CPU, sessions
and parallel execution servers. Additionally, on Oracle Exadata, Resource
Manager can also manage IO and network. Memory management currently is
implicitly managed through SGA LRU algorithms and CPU share management.
What is the
largest number of pluggable databases you can deploy on Oracle Exadata?
Currently the PDB limit per CDB is 252 PDBs. In Oracle Real Application
Clusters environments such as Oracle Exadata, the density of PDB consolidation
greatly increases as you may have multiple CDBs per physical server and
252 PDBs per CDB. The maximum limit would be bound by compute resource
constraints/limits. And as mentioned in the question on Zone, Oracle Enterprise
Manager gives an ability to combine multiple CDBs into a Pool and handle
transparent placement. The Oracle Enterprise Manager self-service user
therefore won’t be exposed to the underlying limit.
Can I use
pluggable database as a service if the target database is 9i or 10g?
You would need to migrate
the Oracle Database 9i, 10g and 11g databases to Oracle Database 12c non-CDB
and convert them into pluggable databases. The architectural changes within
Oracle Database 12c are not backward compatible.
Data Guard be configured for selective pluggable databases from a container
database? I do not want all pluggable databases to have a standby.
the current release, Oracle Active Data Guard operates at the container
level, however, PDB annotations are tagged in the redo stream, so PDB
operations on the primary are reflected on the standby.
support pluggable databases?
Scheduled backups are at the CDB layer and include all PDBs. Ad-hoc backups
can be executed on individual PDBs. Individual PDBs can be restored from
For complete details
of managing pluggable database as a service, be sure to watch this webcast:
Pluggable Database as a Service