Delphix allows a VDB to be refreshed from a related VDB. For example, a VDB which has the same origin dSource as the VDB being refreshed.
While VDBs can be refreshed from any related VDB, care should be taken to avoid complex dependencies which can be created by refreshing a VDB from one of its own decedents.
Prerequisites
The VDB being used to refresh from must be related (have the same origin dSource) to the VDB being refreshed.
Procedure
In this example, the VDB being refreshed is called MYPDB, and it will be refreshed from a VDB named SIBLING. Both VDBs are direct decedents of the dSource source.
-
Log into the Delphix command-line interface using the admin user or a user with admin privileges.
ssh admin@YOUR_ENGINE -
Verify the VDB parentage.
mwdlpx-2025.4.0.2.dcol2 database> ls Objects NAME PROVISIONCONTAINER DESCRIPTION MYPDB source - SIBLING source - CDOMLOSRE21D - - OtherSource - UnRelated OtherSource - VCDB CDOMLOSRE21D - Grandchild MYPDB - source -The
PROVISIONCONTAINERcolumn shows the direct parent of the database. If no value is displayed, it indicates that the database has no parentage (either it is a dSource or a replicated VDB where the dSource is not available on the engine).In the example, the
MYPDBandSIBLINGare both directly provisioned fromsource. TheGrandchildhas been provisioned fromMYPDB, meaning its origin is alsosource.There is also the
OtherSourcedSource with a single descendentUnRelated. SinceUnRelatedis provisioned from a different dSource, it is considered to have no relationship to any VDBs descended fromsource.As a graph, this looks like:
source -> MYPDB -> Grandchild -> SIBLING OtherSource -> UnRelatedAs the VDB can be refresh from any related VDB, it could refresh
MYPDBfrom eitherSIBLING,Grandchildor (default option)source. It cannot however be refreshed fromOtherSourceorUnRelated, as it has no relationship to these databases.In this example,
MYPDBwill be refreshed fromSIBLING. -
Refresh the VDB.
When refreshing from a related database, set the
timeflowPointParameters.containerto the related database. If no value is giving here the VDB will automatically refresh from the database it was originally provisioned from.mwdlpx-2025.4.0.2.dcol2> /database mwdlpx-2025.4.0.2.dcol2 database> select MYPDB mwdlpx-2025.4.0.2.dcol2 database 'MYPDB'> refresh mwdlpx-2025.4.0.2.dcol2 database 'MYPDB' refresh *> ls Properties type: OracleRefreshParameters credential: (unset) force: false instanceNumber: (unset) syncAfterReprovision: true timeflowPointParameters: type: TimeflowPointSemantic container: (unset) location: LATEST_POINT username: (unset) mwdlpx-2025.4.0.2.dcol2 database 'MYPDB' refresh *> set timeflowPointParameters.container=SIBLING mwdlpx-2025.4.0.2.dcol2 database 'MYPDB' refresh *> commit Dispatched job JOB-121 DB_REFRESH job started for "Untitled/MYPDB". ... ... DB_REFRESH job for "Untitled/MYPDB" completed successfully.Performing a relative refresh does not change the provisionContainer. If further refreshes are performed without specifyingtimeflowPointParameters.container, it will be from the original source database. -
(optional) Verify VDB parentage.
To verify which database a VDB has been refreshed from, use the following procedure:
-
Find the current
timeflowfor the VDB in question. -
Find the
parentPointfor that timeflow. -
Find the container for the
parentPoint.timeflow.mwdlpx-2025.4.0.2.dcol2 database 'MYPDB'> get currentTimeflow 'DB_REFRESH@2025-08-27T23:11:49' mwdlpx-2025.4.0.2.dcol2 database 'MYPDB'> /timeflow mwdlpx-2025.4.0.2.dcol2 timeflow> select 'DB_REFRESH@2025-08-27T23:11:49' mwdlpx-2025.4.0.2.dcol2 timeflow ''DB_REFRESH@2025-08-27T23:11:49''> get parentPoint type: OracleTimeflowPoint location: 4003113 timeflow: 'DB_REFRESH@2025-08-27T22:54:13' timestamp: 2025-08-28T06:10:58.000Z mwdlpx-2025.4.0.2.dcol2 timeflow ''DB_REFRESH@2025-08-27T23:11:49''> cd .. mwdlpx-2025.4.0.2.dcol2 timeflow> select 'DB_REFRESH@2025-08-27T22:54:13' mwdlpx-2025.4.0.2.dcol2 timeflow ''DB_REFRESH@2025-08-27T22:54:13''> get container SIBLING
-