Perform V2P operation on Oracle VDB or a vPDB in-place to ASM

Overview

This article describes how to perform the V2P operation or an in-place conversion of a virtual database (VDB) or a virtual pluggable database (vPDB) into a physical database stored on Oracle Automatic Storage Management (ASM) disk groups. No intermediate storage is needed; the database files are moved directly from Delphix into the ASM diskgroup(s).

This procedure can be used to export an Oracle VDB, or a vPDB in a Linked CDB, to ASM disk group(s), including disk group(s) residing in an Oracle Exadata machine. The procedure follows Oracle's recommended best practice of using a single disk group for data files. A separate disk group can be specified for redo log files.

This procedure is available through the DCT and the Delphix Engine CLI, and it works with all Delphix-supported Oracle database versions. For CLI commands, refer to the Virtual to Physical (V2P) operation for a non-multitenant virtual Oracle database to ASM or Virtual to Physical (V2P) operation for a multitenant virtual pluggable Oracle database to ASM or Physical Filesystem articles.

Furthermore, it is also fully supported with TDE-enabled virtual databases provisioned through Delphix.

Prerequisites

  1. Oracle Managed Files (OMF) must be enabled on the VDB or vPDB before the V2P operation can be performed. OMF eliminates the need for the DBA to directly manage the operating system files that comprise an Oracle Database. As a result of this OMF requirement, it is expected that all database file names of the exported physical database would change.

  2. The following conditions must be met prior to the V2P operation. It will fail if any of these conditions are not met:

    1. Sufficient storage space must be available in the target ASM diskgroup for datafiles and the target ASM diskgroup for online logs if specified. The validation of the target ASM diskgroup for online logs is only applicable in the case of VDBs and not vPDBs.

    2. For the V2P operation on a vPDB, if a new PDB name is specified:

      1. it must meet all the naming constraints as defined in the Oracle documentation.

      2. it must be different from the existing PDBs in the target CDB.

    3. For the V2P operation on a VDB, if a new database unique name is specified:

      1. it must meet all the naming constraints as defined in the Oracle documentation.

      2. it must be different from the database unique name of any other database on the same target host.

      3. it must not be a RAC database.

    4. No offline datafiles or tablespaces must exist in the VDB or vPDB.

    5. The VDB or vPDB on which the V2P operation is initiated must be Open.

    6. For the V2P operation on a VDB in a RAC environment must be performed as the Oracle user, otherwise the V2P operation will fail. This is required because Delphix issues srvctl commands to configure the resulting physical database in RAC and these commands can only be run with Oracle user privileges.

    7. No other job must be running on the virtual database or its associated environment.

    8. For the V2P operation on a VDB or vPDB in a RAC environment, ensure that the states of all the cluster nodes are displayed as 'Enabled' in the Delphix management GUI. If one of the cluster nodes is disabled, the V2P operation will fail, although the physical copy has been completed and it is usable, however the VDB or vPDB will need to be force disabled manually.

    9. The VDB or vPDB must have a provisionable snapshot, otherwise operation will fail with the following message: Cannot find a point in the TimeFlow for the semantic location "LATEST_POINT".

  3. To perform the V2P operation on a vPDB in a vCDB, the vPDB must be migrated to a Linked CDB and then enabled, or alternatively, provision a child vPDB from this vPDB snapshot to a linked CDB and then perform the V2P operation.

Procedure

  1. Delphix takes a new snapshot of the virtual database/pluggable database before starting the V2P operation. Also, Delphix retains the timeflow and all its snapshots after the V2P operation is completed. After the V2P operation, the virtual source can be easily migrated and rewound to the previously created snapshots.

  2. It is recommended that the V2P operation be performed on a newly provisioned VDB or vPDB, although it can still be performed on your existing VDB or vPDB. The reason is that it simplifies the post V2P operation process to re-enable the existing VDB or vPDB.

  3. Please refer to the appropriate CLI cookbook sections for the procedure to V2P a VDB or V2P a vPDB to a physical ASM or Exadata database.

Performance considerations before running the V2P operation

  1. When deciding the number of RMAN channels to use, there are tradeoffs between speed and resource consumption on the host.

  2. The number of RMAN channels should not be more than the number of datafiles.

  3. Similar to selecting the number of RMAN channels to perform backup, if impact to other databases is not a concern, then the number of channels can be increased to the point of diminishing returns. Otherwise, it is a compromise between what the system can handle and how fast we want the V2P operation to finish.

  4. By default, it is set to 8, but this value might be too large for some environments and should be adjusted down appropriately.

Considerations after the successful V2P operation on a VDB or vPDB to ASM

After the V2P operation is successful, no Delphix operations are allowed on the VDB/vPDB except migrate or a fresh provision of a new child VDB or vPDB. However, there may be situations where you may need to re-enable the VDB or vPDB, please perform a migrate of the VDB/vPDB to a different host and/or CDB and then rewind the VDB/vPDB to it’s latest snapshot 

  1. After the successful V2P operation of a VDB to replace a linked physical database that is damaged and is unusable with new physical database having the same name, same unique name and same SID as the original damaged database, the new physical database can be linked back to Delphix engine using the following steps:

    1. Delete or Migrate the VDB that was used to create a new physical database to a different environment.

    2. Refresh the environment where the new physical database is created.

    3. Detach the dSource from the original source database.

    4. Force attach the dSource to the newly created physical database.

  2. After the successful V2P operation of a vPDB with the new physical PDB name that is same as the vPDB name, the new physical PDB can be linked back to Delphix engine using the following steps:

    1. Delete or migrate the vPDB to a different CDB.

    2. Refresh the environment where the new physical PDB is created.

    3. Detach the dSource PDB from the original source PDB.

    4. Force attach the dSource to the newly created physical PDB.