CLI cookbook: refreshing a VDB from a related VDB
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.
Copyssh admin@YOUR_ENGINE
-
Verify the VDB parentage.
Copymwdlpx-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
PROVISIONCONTAINER
column 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
MYPDB
andSIBLING
are both directly provisioned fromsource
. TheGrandchild
has been provisioned fromMYPDB
, meaning its origin is alsosource
.There is also the
OtherSource
dSource with a single descendentUnRelated
. SinceUnRelated
is provisioned from a different dSource, it is considered to have no relationship to any VDBs descended fromsource
.As a graph, this looks like:
Copysource
-> MYPDB
-> Grandchild
-> SIBLING
OtherSource
-> UnRelatedAs the VDB can be refresh from any related VDB, it could refresh
MYPDB
from eitherSIBLING
,Grandchild
or (default option)source
. It cannot however be refreshed fromOtherSource
orUnRelated
, as it has no relationship to these databases.In this example,
MYPDB
will be refreshed fromSIBLING
. -
Refresh the VDB.
When refreshing from a related database, set the
timeflowPointParameters.container
to the related database. If no value is giving here the VDB will automatically refresh from the database it was originally provisioned from.Copymwdlpx-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
timeflow
for the VDB in question. -
Find the
parentPoint
for that timeflow. -
Find the container for the
parentPoint.timeflow
.Copymwdlpx-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
-