EDB DMS agent parameter reference Innovation Release

DMS agent general configuration

These parameters define the information the EDB DMS agent requires to:

  • Access the Hybrid Manager (HM) instance and project that you're using for the migration
  • Connect to the source database and collect data or connect to the destination database and migrate data
Note

A DMS Agent instance can only run in either reader or writer mode.

DBCONFIG_ID

The name you assign to identify a source/destination. This name will later appear either as a source in the Migrate section in the Sources tab of the HM console or as a destination in the Destinations tab.

For the ID:

  • The maximum character length is 255 characters.
  • You can use lowercase and uppercase characters, numbers, underscores(_) and hyphens(-). Other special characters aren't supported.
  • The ID must be unique in a project. Don't use the same ID for two or more sources/destinations in the same project.

RUN_MODE

Determines how the EDB DMS agent runs. Set it to reader if you're using the DMS agent to connect HM with a migration source. Set it to writer if you're connecting HM with an external, self-managed migration destination.

Run the DMS agent in writer mode only if the destination for your migration is a self-managed Postgres database.

RW_SERVICE_HOST

Specifies the URL of the DMS that the EDB DMS agent uses to perform migrations. This value is deployment-scoped — the same URL applies across all projects within a given HM deployment. Obtain this value from the HM console Sources or Destinations migration pages.

To obtain your RW_SERVICE_HOST:

  1. In the HM console, select the project you want to use for migrations.

  2. In the left navigation select Migrate and then select Sources or Destinations.

    Both Sources and Destinations pages display the RW_SERVICE_HOST in a banner at the top of the page.

  3. Use the copy icon to get the value and use it for the configuration of your EDB DMS agent.

CREDENTIAL_DIRECTORY_PATH

The directory path of the credentials folder you downloaded from the HM console.

DMS agent database configuration

These parameters (DBCONFIG_DATABASES section) define a list of source/destination database information the EDB DMS agent requires to connect to the correct database for the migration.

You can configure the EDB DMS agent to migrate multiple databases. The DBCONFIG_DATABASES_0__TYPE section delimits the information for the first database. You can use DBCONFIG_DATABASES_1__TYPE to provide data for a second database. Add more sections to the EDB DMS agent (DBCONFIG_DATABASES_2__TYPE, DBCONFIG_DATABASES_3__TYPE) by increasing the index manually.

DBCONFIG_DATABASES_0__TYPE

The source/destination database type.

The EDB DMS agent supports ORACLE and POSTGRES as source database types (in reader mode), but only POSTGRES as a destination type (in writer mode).

DBCONFIG_DATABASES_0__HOSTNAME

The hostname of the source/destination database.

Note

For RDS databases, ensure the DBCONFIG_DATABASES_0__HOSTNAME value points to the RDS endpoint you can find under Connectivity & security in the AWS console. A redacted example is foo_database.cb7asw1xxxxx.eu-west-0.rds.amazonaws.com.

DBCONFIG_DATABASES_0__PORT

The port of the source/destination database.

DBCONFIG_DATABASES_0__CATALOG

The database name in the source/destination database server.

For Oracle sources:

  • CDB/PDB: use CDB_NAME/PDB_NAME (for example, ORCLCDB/ORCLPDB1). The agent splits on / to identify the CDB and PDB separately. Using only the PDB name causes it to be treated as the CDB, leaving the PDB unset.
  • Non-CDB: use the SID or service name (for example, ORCL)

DBCONFIG_DATABASES_0__USERNAME

The database username of the source/destination database. Use your dedicated migration user, it can be the same user you created for the EDB Postgres AI agent.

Note

For Oracle sources, use your dedicated migration user — not SYS or other privileged system accounts. See Preparing your Oracle source for instructions on creating the required migration user.

DBCONFIG_DATABASES_0__PASSWORD

The password for the database username of the source/destination database. You can set an environment variable for the password without specifying it in the script, but the variable must follow this format: export DBCONFIG_DATABASES_0__PASSWORD=password

DBCONFIG_DATABASES_0__RESOURCEID

User-defined identifier that associates this database with its registered counterpart in HM.

If you previously registered this database with the EDB Postgres AI agent, this value must match the resource_id set for this database in beacon_agent.yaml. This is how HM correlates the DMS agent source with the registered database — a mismatch will cause them to appear as separate, unrelated entries.

DBCONFIG_DATABASES_0__INCLUDELIST

Comma-separated list of schema.table tokens that controls which tables are available for migration. Use * as a wildcard for schema or table name (for example, SCHEMA1.* or *.TABLE1).

If absent or empty, all tables are included. If EXCLUDELIST is also set, exclusions take priority.

DBCONFIG_DATABASES_0__EXCLUDELIST

Comma-separated list of schema.table tokens for tables to always exclude from migration. Use * as a wildcard. Takes priority over INCLUDELIST — a table matching any exclude pattern is always excluded regardless of include rules.

DBCONFIG_DATABASES_0__SSLMODE

Controls the SSL/TLS behavior for the database connection. Accepted values:

  • STRICT — verify-full; requires a valid, trusted certificate
  • DEFAULT — require encryption but don't verify the certificate
  • WEAK — prefer encryption but allow plaintext fallback

DBCONFIG_DATABASES_0__SOCKETTIMEOUT

Socket timeout in seconds for the database connection. Used for dead connection detection. Default: 600 for writer mode, 60 for reader mode.

DBCONFIG_DATABASES_0__TCPKEEPALIVE

Enables TCP keepalive probes on the database connection. Default: true.

DBCONFIG_DATABASES_0__TCPKEEPALIVESIDLE

Seconds of inactivity before the first TCP keepalive probe is sent. Used during long-running writer operations such as PK application and post-snapshot deduplication. Default: 60.

DBCONFIG_DATABASES_0__TCPKEEPALIVESINTERVAL

Seconds between TCP keepalive retry probes. Default: 10.

DBCONFIG_DATABASES_0__TCPKEEPALIVESCOUNT

Maximum number of failed TCP keepalive probes before the connection is considered dead. Default: 6.

DBCONFIG_DATABASES_0__JDBCOPTIONS

Arbitrary JDBC driver properties to pass to the database connection, in key=value;key=value format. These are applied after defaults but before explicit settings like SSLMODE and SOCKETTIMEOUT.

Oracle examples:

  • Disable network encryption negotiation: oracle.net.encryption_client=REJECTED
  • Set session program name: v$session.program=DMSAgent

Optional parameters

FIPS_MODE

If you need to comply with FIPS standards, enable FIPS mode for the DMS Agent by setting the environment variable to true: export FIPS_MODE=true.

TRANSFORMATION_ENABLE_NULLCHAR_REPLACEMENT

Oracle-specific. Enables replacement of null characters (0x00) in text-based column types: VARCHAR2, LONG, CLOB, and NCLOB. Default: false.

Use together with TRANSFORMATION_NULLCHAR_REPLACEMENT to specify the replacement string.

TRANSFORMATION_NULLCHAR_REPLACEMENT

Oracle-specific. The string used to replace null characters (0x00) when TRANSFORMATION_ENABLE_NULLCHAR_REPLACEMENT is enabled. Defaults to an empty string.

TRANSFORMATION_ENABLE_SPECIAL_COLUMN_NAME_ENCODING

Oracle-specific. Enables encoding of special characters ($ and -) in column names. Default: false.

DBZ_*

Debezium property passthrough. You can override any Debezium connector property by prefixing it with DBZ_. For example, to set max.batch.size, use export DBZ_MAX_BATCH_SIZE=204800.

For a full list of supported properties, see the Debezium documentation:

QUARKUS_LOG_LEVEL

Sets the default log level for the entire Quarkus application, including all underlying frameworks and third-party libraries.

Avoid setting this to DEBUG or TRACE unless you need to diagnose issues within the entire application ecosystem. Using this method produces logs that are excessively verbose and difficult to analyze. Use QUARKUS_LOG_CATEGORY__COM_ENTERPRISEDB__LEVEL instead for focused debugging.

QUARKUS_LOG_CATEGORYCOM_ENTERPRISEDBLEVEL

Sets the log level specifically for classes within the com.enterprisedb package.

This is the recommended parameter for debugging. Set this parameter to DEBUG or TRACE to obtain detailed logging for the DMS agent's core logic (the components relevant to schema extraction, migration assessment, etc.). This isolates the useful output and excludes messages from third-party libraries.