This guide covers the VDB operations you'll use most frequently with dct-toolkit. Estimated time: 10 minutes.

Prerequisites

  • dct-toolkit installed and configured (create_config completed)

  • Access to at least one VDB

  • Appropriate DCT permissions for VDB operations

Finding your VDBs

# List all VDBs
				dct-toolkit search_vdbs

				# Show essential columns only
			dct-toolkit search_vdbs --columns=id,name,database_type,status

Record the VDB name or ID you want to manage — both are accepted in commands.

Start and stop

Start and stop control whether the database instance is running. This is the most common day-to-day operation. Storage remains allocated in both states and VDB configuration is preserved.

dct-toolkit stop_vdb vdb_id=<VDB_NAME_OR_ID>
				dct-toolkit start_vdb vdb_id=<VDB_NAME_OR_ID>

				# Check status
			dct-toolkit get_vdb_by_id vdb_id=<VDB_NAME_OR_ID> --columns=name,status

Common status values: RUNNING (online), STOPPED (offline, ready to start), DISABLED (see below), PROVISIONING (being created), DELETING (being removed).

Enable and disable

Enable and disable affect both availability and environment configuration. Disabling removes the VDB's configuration files from the target environment; enabling restores them. This is necessary when migrating a VDB between environments.

dct-toolkit disable_vdb vdb_id=<VDB_NAME_OR_ID>

				# Re-enable (two steps)
				dct-toolkit enable_vdb vdb_id=<VDB_NAME_OR_ID>
				dct-toolkit start_vdb vdb_id=<VDB_NAME_OR_ID>

				# Or combine into one step
			dct-toolkit enable_vdb vdb_id=<VDB_NAME_OR_ID> --attempt_start

Stop vs disable: when to use each

Aspect Stop / Start Disable / Enable
Speed Fast (seconds to minutes) Slower (minutes)
Configuration files Retained on environment Removed / restored
Best for Daily and weekly cycles, short-term pauses Multi-week pauses, environment migration, seasonal decommission

Basic refresh

Refreshing a VDB updates it with data from its parent dSource or VDB. Any uncommitted changes in the VDB are discarded and the VDB restarts automatically.

# Refresh from parent's latest snapshot
				dct-toolkit refresh_vdb_by_snapshot vdb_id=<VDB_NAME_OR_ID>

				# View parent relationship
			dct-toolkit get_vdb_by_id vdb_id=<VDB_NAME_OR_ID> --columns=name,parent_id,parent_dsource_id,database_type

If parent_id and parent_dsource_id are the same, the parent is a dSource. If they differ, the parent is another VDB.

Asynchronous execution

By default, dct-toolkit waits for an operation to complete before returning. To execute without waiting, add --no-wait and monitor separately:

# Run without waiting
				dct-toolkit refresh_vdb_by_snapshot vdb_id=Oracle_DEV --no-wait -js

				# Option 1: Check VDB status
				dct-toolkit get_vdb_by_id vdb_id=Oracle_DEV --columns=name,status,last_refreshed_date

				# Option 2: Check job status
			dct-toolkit get_job_by_id job_id=<JOB_ID> --columns=status,percent_complete

Common daily workflows

Morning startup and refresh

dct-toolkit start_vdb vdb_id=Oracle_DEV
			dct-toolkit refresh_vdb_by_snapshot vdb_id=Oracle_DEV

Evening shutdown

dct-toolkit stop_vdb vdb_id=Oracle_DEV

Weekend management

# Friday evening
				dct-toolkit stop_vdb vdb_id=Oracle_DEV
				dct-toolkit stop_vdb vdb_id=Postgres_DEV
				dct-toolkit stop_vdb vdb_id=MSSQL_DEV

				# Monday morning
				dct-toolkit start_vdb vdb_id=Oracle_DEV
			dct-toolkit refresh_vdb_by_snapshot vdb_id=Oracle_DEV

Long-term pause

# Before a multi-week pause
				dct-toolkit disable_vdb vdb_id=Oracle_PROJECT_X

				# When project resumes
				dct-toolkit enable_vdb vdb_id=Oracle_PROJECT_X
				dct-toolkit start_vdb vdb_id=Oracle_PROJECT_X
			dct-toolkit refresh_vdb_by_snapshot vdb_id=Oracle_PROJECT_X

Troubleshooting

Issue Resolution
VDB won't start Check status with --columns=name,status. If status is DISABLED, run enable_vdb before start_vdb.
Insufficient permissions error Contact your DCT administrator to confirm appropriate permissions are assigned in your role.

Next steps

Last updated
Oct 8, 2026