In the Oracle multitenant architecture, there are two main database types: container databases (CDBs) and pluggable databases (PDBs).

Source CDBs containing Application Container PDBs are currently not supported.

The process of creating virtual pluggable databases is similar to creating non-multitenant virtual databases, with a few additional steps necessary in the multitenant architecture.

A Solaris x86 source host is compatible with a Linux x86 target host and vice versa.

Delphix supports provisioning Oracle Virtual Pluggable Databases (vPDBs) in two configurations:

  1. Linked Container Databases (Linked CDBs): Physical CDBs that have been previously provided by the Oracle DBA on the target environment to which Delphix may provision vPDBs. Physical CDBs must be configured and set up specifically for use by Delphix.
  2. Virtual Container Databases (vCDBs): vCDBs are created by Delphix during the provision workflow for vPDBs. vCDBs currently only support one vPDB per container.

Prerequisites for Provisioning a vPDB to a Linked CDB

There must be a target environment that has an Oracle installation compatible with the Oracle installation of the source CDB and the source PDB. The following database requirements are needed to provision the vPDB to a linked CDB. For more information, see Requirements for Oracle Hosts and Databases

  • Recommend autodiscovery so that the linked CDB can be found. Otherwise, the linked CDB must be manually discovered before provisioning.
  • Linked CDB must be running
  • Linked CDB must be in ARCHIVELOG mode
  • Linked CDB should be using Block Change Tracking (BCT)
  • LogSync must be enabled for the Linked CDB.

Provisioning a vPDB to a Linked CDB

For provisioning a vPDB into a Linked CDB, the source CDB and the target CDB must meet the following compatibility requirements:

  • The value of the COMPATIBLE parameter in the source CDB must be less than or equal to the value of the COMPATIBLE parameter in the target CDB
  • They must have the same endianness
  • They must have compatible character sets and national character sets
  • They must have the same set of database options installed. For example, if the source CDB is a real application cluster (RAC) database, the target CDB must be a RAC database.

Setting Up Auxillary CDB Parameters

During a vPDB provisioning into a Linked CDB, the Delphix Engine creates a temporary CDB instance on the target environment to recover the vPDB to a consistent state. This temporary CDB will be automatically deleted after the vPDB is provisioned successfully. By default, this temporary CDB is configured to have the same init parameters as the source database. To manage the configuration of the temporary CDB, you must set up Repository Templates for Oracle Databases during provisioning.

Provisioning a vPDB to a vCDB

When provisioning a vPDB into a vCDB:

  • Delphix will provision a virtual CDB (vCDB) from the source CDB to host the vPDB you are about to create.
  • There is no need to set up a repository template, as this provision workflow allows a user to directly specify a VDB configuration template, or set individual database parameters.


  1. In the Datasets panel, select an Oracle PDB dSource or a previously provisioned vPDB.
  2. From the Timeflow tab, select a snapshot or point in time to provision from.
  3. Once the Provision wizard is open, you can either provision with a:
    • Target Linked CDB: Select an existing container database as the provision target CDB from the Container Database drop-down menu of CDBs on that environment. 
    • Target vCDB: Select the Create a New Container Database checkbox. This will create a new vCDB object in that environment with this new vPDB plugged into it.
  4. Click Next to advance the left-hand pane to the Target Configuration tab, and edit as necessary. 
  5. The Environment User must have permission to write to the specified Mount Base, as described in Requirements for Oracle Environments and Data.
    You can also reuse the Delphix toolkit directory, which already exists as the Mount Base, or create a new writable directory in the target environment with the correct permissions and use that as the Mount Base.
  6. Enter the vPDB Name, Target Group for the vPDB you are about to provision.
  7. If you selected to create a new target vCDB, configure the vCDB:
    • Enter the vCDB Name, Database Unique Name, and Database Name for the vCDB you are about to provision.
    • Select the Configure vCDB Parameters checkbox if you want to use a VDB Configuration Template. See Customizing Oracle VDB Configuration Settings.
  8. Click Next to advance the left-hand pane to the Advanced tab.
  9. Select from the available options for your vPDB. The available options are AutovCDB Restart, File Mapping, and custom environment variables.
    For more information, see Customizing VDB File Mappings and Customizing Oracle VDB Environment Variables.
  10. Click Next to advance the left-hand pane to the Policies tab.
  11. Select the VDB Snapshot policy to be applied to the vPDB. 
    Select a Retention Policy for the vCDB, if you are provisioning a vCDB.
  12. Click Next to advance the left-hand pane to the Masking tab.
    Select the Mask this vPDB checkbox if you want to mask, and select the masking job to be applied.
  13. Click Next to advance the left-hand pane to the Hooks tab, and create any hooks if necessary. For more information, see Hook Scripts for Automation and Customization.
  14. Review the provisioning summary. Click Submit to proceed with provisioning the vPDB.

Related Topics