This guide covers provisioning an Oracle Virtual Database (VDB) using dct-toolkit.

Prerequisites

  • dct-toolkit installed and configured (create_config completed)

  • Access to a source dSource or VDB

  • Target environment with an Oracle repository available

  • Appropriate DCT permissions to provision VDBs

Step 1: Identify the source dSource

# List all dSources
				dct-toolkit get_dsources

				# Search for Oracle dSources specifically
			dct-toolkit search_dsources database_type=Oracle --columns=id,name,engine_name sort=name

Step 2: List available snapshots

# List snapshots for the dSource
				dct-toolkit get_dsource_snapshots dsource_id=<DSOURCE_ID_OR_NAME>

				# Sort by most recent
			dct-toolkit search_snapshots dataset_id=<DSOURCE_ID_OR_NAME> sort=-timestamp

Record a snapshot ID to provision from a specific point in time, or skip this step to use the latest snapshot.

Step 3: Identify the target environment and repository

By default, DCT selects a compatible repository automatically. If there are multiple compatible repositories in a single environment, identify the specific one you want.

Option A: Find the target environment

dct-toolkit get_environments --columns=id,name,os_type

				# Confirm a specific environment and its repositories
			dct-toolkit search_environments name=<ENVIRONMENT_NAME> -js

Option B: Search for compatible repositories

# Find repositories compatible with a specific snapshot
				dct-toolkit compatible_repositories_by_snapshot snapshot_id=<SNAPSHOT_ID>

				# Or find repositories compatible with the latest snapshot from a dSource
			dct-toolkit compatible_repositories_by_snapshot source_data_id=<DSOURCE_ID_OR_NAME>

Step 4: View provisioning defaults (optional)

dct-toolkit provision_vdb_by_snapshot_defaults source_data_id=<DSOURCE_ID_OR_NAME>

Step 5: Provision the VDB

From the latest snapshot

dct-toolkit provision_vdb_by_snapshot oracle \
				name=<NEW_VDB_NAME> \
				source_data_id=<DSOURCE_ID_OR_NAME> \
			environment_id=<TARGET_ENVIRONMENT_ID>

From a specific snapshot

dct-toolkit provision_vdb_by_snapshot oracle \
				name=<NEW_VDB_NAME> \
				snapshot_id=<SNAPSHOT_ID> \
			environment_id=<TARGET_ENVIRONMENT_ID>

From a specific timestamp

Timestamps use ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ

dct-toolkit provision_vdb_by_timestamp oracle \
				name=<NEW_VDB_NAME> \
				source_data_id=<DSOURCE_ID_OR_NAME> \
				timestamp=<TIMESTAMP> \
			environment_id=<TARGET_ENVIRONMENT_ID>

From a bookmark

dct-toolkit provision_vdb_from_bookmark oracle \
				name=<NEW_VDB_NAME> \
				bookmark_id=<BOOKMARK_ID> \
			environment_id=<TARGET_ENVIRONMENT_ID>

With advanced parameters

dct-toolkit provision_vdb_by_snapshot oracle \
				name=<NEW_VDB_NAME> \
				source_data_id=<DSOURCE_ID_OR_NAME> \
				environment_id=<TARGET_ENVIRONMENT_ID> \
				repository_id=<REPOSITORY_ID> \
				target_group_id=<DATASET_GROUP_ID> \
				mount_point=<CUSTOM_MOUNT_POINT> \
				environment_user_id=<ENVIRONMENT_USER_ID> \
			vdb_restart=true

Use dct-toolkit provision_vdb_by_snapshot oracle -h to see all available parameters. If a specific repository is not provided, DCT selects one automatically. If multiple repositories are compatible, append repository_id=<REPOSITORY_ID> to specify one.

Step 6: Verify VDB creation

dct-toolkit get_vdbs --columns=id,name,database_type,status
			dct-toolkit get_vdb_by_id vdb_id=<VDB_NAME_OR_ID>

Asynchronous provisioning

dct-toolkit provision_vdb_by_snapshot oracle \
				name=<NEW_VDB_NAME> \
				source_data_id=<DSOURCE_ID_OR_NAME> \
				environment_id=<TARGET_ENVIRONMENT_ID> \
				--no-wait

				# Monitor separately
				dct-toolkit get_jobs --columns=id,status,type,target_name
			dct-toolkit get_job_by_id job_id=<JOB_ID>
Last updated
Oct 8, 2026