Oracle 12c Pluggable Database (PDB) – FAQ

March 4, 2013 by 10 Comments 

Let’s continue my series of articles on Oracle 12c Pluggable Database feature including SQL code.  I strongly recommend first reading my previous articles on this topic to understand the rest of the material:
Oracle 12c Pluggable Database is a fundamental architectural change
Oracle 12c Pluggable Database feature insights
Oracle 12c Pluggable Database (PDB) feature hands-on experience
Oracle 12c Pluggable Database – Plug Unplug and Clone

Oracle 12c Pluggable Database Point-In-Time recovery

Oracle 12c Pluggable Database Point-In-Time recovery

There are several questions on Oracle 12c Pluggable Database feature came up on my presentation at the German Oracle User Group (DOAG) regional meeting and from other users. Some of them I’ll clarify in this article.

Can Point-In-Time recovery be conducted at Pluggable Database (PDB) level?

Yes, it will be possible.

Can database services be created inside a Pluggable Database (PDB)?

Of course you can have many services within a PDB. Each will denote the PDB within which it is defined as the initial current container. Use the normal methods to create, maintain, and drop additional services in a PDB. A PDB’s default service must not be dropped. Of course, service names should be unique across all the databases that are registered with a particular listener.

Can I have local TEMPORARY tablespace at Pluggable Database (PDB) level?

In spite, during the PDB creation only SYSTEM and SYSAUX tablespaces created, you can create local temporary tablespace later for every PDB. UNDO tablespace can NOT be local and stays on the CDB level.

Is conventional database mode will be still available in 12c database and later versions?

Yes, on Oracle 12c you will have two options of creating a usual old-fashioned Oracle database (non-CDB) or creating a Container Database (CDB) that will hold all your Pluggable Databases (PDB) that you will create or plug later. However, based on my information non-CDB mode will be available only in 12c release 1 for compatibility reasons and will be discontinued in 12cR2.

Will Oracle 12c database have only one container?

Yes and No! In fact, Oracle considers a CDB as well as all PDBs as containers. Every container has own name. For example a single Container Database (CDB) has a container name CDB$Root. Every Pluggable database has a container name similar to the PDB name. On CDB level by default your current container is CDB$Root but you can switch between PDBs’ containers also. On CDB level you can change current container with following SQL:

alter session set container = my_cdb

or verify current container with below SQL:

select Sys_Context('Userenv', 'Con_Name') "current container" from dual;

Is cloning a PDB from one in a different CDB supported?

I have not seen it in 12c Beta 2, but Oracle intends to support it in the final version. You’ll identify the source CDB by creating a database link to it from the CDB in which you will create the clone.

Is online PDB cloning supported?

Not in 12c Beta2, but Oracle intents to remove this restriction in the final version by using the same approach that allows online RMAN backup: by re-constructing any blocks that change during the time it takes to copy the source PDB’s datafiles.

Why switching PDB Open_Mode/Restricted modes requires 2 SQL commands?

Not sure why, but in final 12c release it will be possible to go from any one Open_Mode/Restricted combination to another with a single use of the alter pluggable database statement.

Will it be possible to allocate/restrict resources (CPU/Memory) of PDB’s (Pluggable)?

Yes, it will be possible using new functionality of Oracle 12c Resource Manager.

Using 12c Resource manager you will be able control CPU, Exadata I/O, sessions and parallel servers. A new 12c CDB Resource Manager Plan will use so-called “Shares” (resource allocations) to specify how CPU is distributed between PDBs. A CDB Resource Manager Plan also can use “utilization limits” to limit the CPU usage for a PDB. With a default directive, you do not need to modify the resource plan for each PDB plug and unplug. However I’m not aware of a possibility to restrict memory of PDBs, since they will share one single SGA.

Oracle 12c Pluggable Database - Resource Manager

Oracle 12c Pluggable Database – Resource Manager

While waiting for Oracle 12c database release I’ll post some more things on Pluggable Database feature

Enjoyed this article? Please share it with others using the social site of your choice:


10 Responses to “Oracle 12c Pluggable Database (PDB) – FAQ”
  1. Jan says:

    Hi Kirill,

    thanks for this very helpful series of articles!

    Is the CDB feature available on Standard edition (SE) – or it’s enterprise edition only ?
    Would it be possible to plug SE PDB into EE CDB ?


  2. Kirill Loifman says:

    Hi Jan,
    I have not seen Oracle 12c Standard Edition yet, but I beleave same architecture will apply to it.
    — Kirill

  3. Aman.... says:

    Hi Kirill,

    You said that the PITR would be available for the PDB. is the PITR and TSPITR avaliable for the PDB right now, I mean with the beta release?


  4. Kirill Loifman says:

    Hi Aman
    I believe both should be available in the latest Beta release.
    — Kirill

  5. Mogobadi K. Madisha says:

    Hi Kirill,

    Is Exadata the only ideal platform form for Oracle 12c ?


  6. Kirill Loifman says:

    Hi Mogobadi
    Not sure why made this conclusion but Exadata is absolutely not required to run Oracle 12c database.
    I think it will take even some time after an official 12c release when it will be available on Exadata.
    — Kirill

  7. Rodolfo says:

    Hi Kirill,

    After running the noncdb_to_pdb.sql; I open the pluggable database but one warnign appear:

    SQL> alter pluggable database all open;

    Warning: PDB altered with errors.

    And when i view the status, its show me this:

    —————————— ———- — ————-

    I don’t undestand why the pluggable database is in restricted mode..

    Please help me.


  8. Kirill Loifman says:

    Not sure what’s happened.
    You can try:
    alter pluggable database orcl open;

    and one more thing.. bugs are still expected 🙂
    — Kirill

  9. Ram says:

    as i know, oracle 12c database grid infrastructure(GI) can run only one version of database. is it true?

    because using oracle 11gR2 GI , you can run two different version database with two different oracle home.


  10. Kirill Loifman says:

    This is not correct.
    You can run 10.2+ database instance and above on Oracle GI 12.1.
    — Kirill

Add a Comment

We welcome thoughtful and constructive comments from readers.
If you want your own picture to show with your comment?
Go get a Globally Recognized Avatar!

DBMS Blog Updates : Subscribe RSS RSS: Subscribe to Articles · Subscribe to Comments Subscribe RSS Receive site updates via email