This topic describes how to provision a virtual pluggable database (vPDB) from an Oracle pluggable database source (dSource).


  • You must have done one of the following:
    • linked a PDB dSource from a multi-tenant container database, as described in Linking an Oracle Pluggable Database, or
    • already created a vPDB from which you want to provision another vPDB
  • There must be a target environment that has an Oracle installation compatible to the Oracle installation of the source CDB that hosts the source PDB.
  • The target environment can either have none, or one or more compatible multi-tenant container databases (target CDBs) to host the vPDB you are about to create. The user can choose to provision the vPDB into either an existing target CDB or a Delphix created virtual CDB on the target host.
  • You may need to discover the CDBs on the target environment beforehand in order for Delphix to display the target CDBs choices during provisioning. See Discovering CDBs in an Oracle Environment.
  • If an existing target CDB is chosen for this provisioning:
    •  the CDB of the source PDB and the target CDB that will host the vPDB must meet the following requirements:
      • Recommend autodiscovery so that the linked CDB can be found. Otherwise, the linked CDB must be manually discovered before provisioning.
      • They must be running
      • They must have the same endian format

      • They must be in ARCHIVELOG mode
      • They should be using Block Change Tracking (BCT).
      • They must have compatible character sets and national character sets, which means:

        • Every character in the source CDB character set is available in the target CDB character set

        • Every character in the source CDB character set has the same code point value in the target CDB character set

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

    • There should be a repository template setup before the provisioning starts, as per Repository Templates. The user can configure a VDB configuration template to associate with the dSource PDB and the target repository (i.e. the target Oracle installation) via the Repository Template feature. All subsequent provisioning of vPDB from this dSource PDB to any of the target CDBs in this target repository will deploy this VDB configuration template to configure database parameters of the temporary CDB setup by Delphix. A temporary CDB is used by Delphix during the provisioning workflow when provisioning the vPDB into an existing target 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.

The VDB configuration template for the temporary CDB must contain at least the following two database parameters:

  • compatible
  • enable_pluggable_database

'compatible' should be set with the same value as in the dSource CDB 'compatible' parameter. `enable_pluggable_database' must be set to TRUE.

  • If no target CDB is chosen for this provisioning:
    • 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 ad-hoc changing the database parameters.

Delphix currently only supports single-tenant on vCDB, i.e. there cannot be more than one vPDB in a vCDB.


    1. Login to the Delphix Management application.
    2. Click Manage.
    3. Select Datasets.
    4. In the Datasets panel on the left-hand side, select a PDB dSource or a previously provisioned vPDB .
    5. Click the TimeFlow tab.
    6. Select a snapshot .
      For more information on provisioning options, see Provisioning by Snapshot or LogSync.

      You can take a snapshot of the source database from which to provision by clicking the Camera icon.

    7. Optional: Select LogSync to open the snapshot timeline, then a point in time within a snapshot.

      You can provision from the most recent log entry by opening the snapshot timeline and then clicking LogSync.

    8. Information from the selected target environment will be highlighted on the left hand pane. For a selected target environment,  the provision target fields Installation Home, Container Database and Environment User will be auto-populated on the right hand pane. 
    9. For each selected Installation Home, there can be none, or more than one existing Container Database.
    10. To select an existing container database as the provision target CDB,  use the drop-down menu. Or, click the checkbox 'Create a New Container Database' if you want Delphix to provision a vCDB instead.
    11. If you want to use login credentials on the target environment other than those associated with the Environment User, select Privileged Credentials.
    12. Review the information for Installation Home, Container Database, Environment User and Privileged Credentials. Change or edit as necessary.
    13. The Environment User must have permissions to write to the specified Mount Base, as described in Requirements for Oracle Target Environments and Databases. You may also want to create a new writable directory in the target environment with the correct permissions, and use that as the Mount Base for the VDB.
    14. Click Next to advance the left hand pane to Target Configuration tab, and edit as necessary.
    15. Click Advanced to enter any file mappings setting or custom environment variables for your vPDB.
      For more information, see Customizing VDB File Mappings and Customizing Oracle VDB Environment Variables.
    16. Click Next to advance the left hand pane to the Configuration tab.
    17. Configure the vPDB:
      1. Enter the vPDB Name for the vPDB you are about to provision.
      2. Select a Target Group for the VDB. If you need to add a new group, click the green Plus icon.
      3. Select a Masking Job, if you want to provision a masked vPDB.

        Masking is not available in vPDB using vCDB mode.
    18. If no target CDB is chosen previously, configure the vCDB Delphix is about to provision to host the vPDB:
      1. Enter the vCDB Name for the vCDB you are about to provision.
      2. Enter the Database Unique Name, Database Name and SID of the vCDB.
      3. Select Configure vCDB Configuration Template checkbox if you want to use a VDB Configuration Template. See Customizing Oracle VDB Configuration Settings.
      4. Select Auto VDB Restart checkbox to enable auto VDB Restart. 

    19. Click Next to advance the left hand pane to the Policies tab.
    20. Select a Snapshot Policy, Refresh Policy and Retention Policy for the vPDB. For Retention Policy, only Snapshot Retention is application to a vPDB.
    21. Select a Retention Policy for the vCDB, if you are provisioning a vCDB. For Retention Policy, only Log Retention is applicable to a vCDB.
    22. Click Next to advance the left hand pane to the Hooks tab.
    23. Enter any operations that should be run at Hooks during the provisioning process.
      For more information, see Customizing Oracle Management with Hook Operations.
    24. Click Next.
    25. Review the provision summary. Click Submit to proceed with provisioning the vPDB.

When provisioning starts, you can review progress of the job in the Datasets panel, or in the Job History panel of the Dashboard. When provisioning is complete, the vPDB will be included in the group you designated, and listed in the Datasets panel. If you select the vPDB in the Datasets panel and click the Configuration tab, you can view information about the database and its Data Management settings.

The container database of the vPDB will be automatically linked if it has not been linked already.

Temporary CDB Instance

During vPDB provisioning into an existing target CDB, the Delphix Engine creates a temporary CDB instance in the target environment to recover the vPDB to a consistent state. This temporary CDB will be automatically deleted after the vPDB is provisioned successfully.

Related Links