Skip to main content
Skip table of contents

Provisioning an Oracle virtual pluggable database (vPDB)

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

Delphix does not support CDBs containing an Oracle Application Container or Oracle Application PDB.
An application container is an optional, user-created CDB component that stores data and metadata for one or more application back ends. An application PDB is a PDB that resides in an application container.
Refer to the Oracle documentation for more details.

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. Once created for Oracle versions and later,  it may be used to provision additional vPDBs.

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

Setting up auxillary CDB parameters

During a vPDB provisioning into a Linked CDB or a vCDB, the Delphix Engine creates a temporary CDB instance (or Auxiliary CDB) on the target environment to recover the vPDB to a consistent state. This temporary CDB will be automatically deleted (in case of provisioning to a linked CDB or to an existing vCDB) or converted to a vCDB (in case of provisioning to a new vCDB) 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 init parameters, you must set up Repository Templates for Oracle Databases prior to provisioning.

Provisioning a vPDB to a new or an existing vCDB

When provisioning a vPDB into a new 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. 

    • Existing vCDB: Select an existing vCDB as the provision target CDB from the Container Database drop-down menu of CDBs on that environment. (Supported only for Oracle versions and later.)

    • New 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.

    1. Linux and Unix hosts, this mount path must be the full path and not include symlinks.

  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. The available options are vCDB listeners, Auto vCDB Restart, Auto vPDB Restart, File Mapping, Patching, 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.

If the provisioning fails due to a failure in a hook operation, review the output of the script and correct the error(s). Then you can either refresh the new vPDB or delete it and provision it again.
Note that you cannot enable or start the vPDB after a failed provisioning.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.