Configuring and running the EDB DMS Reader

Suggest edits

Getting credentials

  1. Access the EDB Postgres AI® Console and log in with your EDB Postgres AI Database Cloud Service credentials.

  2. Select the project where you created the database cluster.

  3. Within your project, select Migrate > Credentials.

  4. Unzip the credentials folder and copy it to the host where the reader is installed.

Configuring the reader

Set the following environment variables in /opt/cdcreader/run-cdcreader.sh with the right values:

### set the following environment variables:

##############################################
# Data Migration Service Cloud Configuration #
##############################################

# This ID is used to identify the cdcreader.
#export DBZ_ID=

# Now we only support aws
#export CLOUD_PROVIDER=

# No need to change about this field
#export RW_SERVICE_HOST=https://transporter-rw-service.biganimal.com

# You need to create migration credentials in EDB postgresAI platform and set these fields with the path of credential files
#export TLS_PRIVATE_KEY_PATH=$MY_CREDENTIALS_PATH/client-key.pem
#export TLS_CERTIFICATE_PATH=$MY_CREDENTIALS_PATH/client-cert.pem
#export TLS_CA_PATH=$MY_CREDENTIALS_PATH/int.crt
#export APICURIOREQUEST_CLIENT_KEYSTORE_LOCATION=$MY_CREDENTIALS_PATH/client.keystore.p12
#export APICURIOREQUEST_TRUSTSTORE_LOCATION=$MY_CREDENTIALS_PATH/int.truststore.p12
#export KAFKASECURITY_CLIENT_KEYSTORE_LOCATION=$MY_CREDENTIALS_PATH/client.keystore.p12
#export KAFKASECURITY_TRUSTSTORE_LOCATION=$MY_CREDENTIALS_PATH/int.truststore.p12

################################################## 
# Data Migration Service Source DB Configuration #
##################################################

# A sample configuration to create a single postgres database connection:
#export DBZ_DATABASES_0__TYPE=POSTGRES
#export DBZ_DATABASES_0__HOSTNAME=localhost
#export DBZ_DATABASES_0__PORT=5432
#export DBZ_DATABASES_0__CATALOG=source
#export DBZ_DATABASES_0__USERNAME=postgres
#export DBZ_DATABASES_0__PASSWORD=password

# You can increase the index to config more database for the reader
#export DBZ_DATABASES_1__TYPE=ORACLE
#export DBZ_DATABASES_1__HOSTNAME=localhost
#export DBZ_DATABASES_1__PORT=1521
#export DBZ_DATABASES_1__CATALOG=ORCLCDB/ORCLPDB1
#export DBZ_DATABASES_1__USERNAME=oracle
#export DBZ_DATABASES_1__PASSWORD=password

##########################################
# Optional Parameters Below              #
##########################################

# Configure logging
# Generic loglevel
#export QUARKUS_LOG_LEVEL=DEBUG
# Loglevel for a single package
#export QUARKUS_LOG_CATEGORY__COM_ENTERPRISEDB__LEVEL=DEBUG

Parameters

DBZ_ID

This is the name you assign to identify a source. This name will later appear as a source in the Migrate > Sources section of the EDB Postgres AI Console.

Consider the following ID guidelines:

  • The maximum character length for the ID is 255 characters.
  • You can use lowercase and uppercase characters, numbers, underscores(_) and hyphens(-) for the ID. Other special characters are not supported.
  • The ID must be unique. The source instances cannot have the same ID.

RW_SERVICE_HOST

Specifies the URL of the service that will host the migration. transporter-rw-service is always https://transporter-rw-service.biganimal.com.

TLS_PRIVATE_KEY_PATH

Directory path to the client-key.pem private key you downloaded from the EDB Postgres AI Console. The Reader's HTTP client uses it to perform mTLS authentication with the transporter-rw-service.

TLS_CERTIFICATE_PATH

Directory path to the X509 client-cert.pem certificate you downloaded from the EDB Postgres AI Console. The Reader's HTTP client uses it to perform mTLS authentication with the transporter-rw-service.

TLS_CA_PATH

Directory path to the int.cert Certificate Authority you downloaded from the EDB Postgres AI Console. It signs the certificate configured in TLS_CERTIFICATE_PATH.

APICURIOREQUEST_CLIENT_KEYSTORE_LOCATION

Directory path to the client-keystore.p12 keystore location file you downloaded from the EDB Postgres AI Console. It is created from the private key and certifiate configured in TLS_PRIVATE_KEY_PATH and TLS_CERTIFICATE_PATH. The Apicurio client uses it to perform mTLS authentication with the transporter-rw-service.

APICURIOREQUEST_TRUSTSTORE_LOCATION

Created from the Certificate Authority configured in TLS_CA_PATH Apicurio client use it to mTLS with transporter-rw-service

DBZ_DATABASES

This is a source databases list you want to reader to connect. You can configure multiple database for one reader. You need to increase the index manully in you configuration.

For example:

DBZ_DATABASES_0__TYPE is the type of the first source database.

DBZ_DATABASES_1__TYPE is the type of the second source database.

DBZ_DATABASES_0__TYPE

Source database type, support ORACLE and POSTGRES currently

DBZ_DATABASES_0__HOSTNAME

Source database hostname

DBZ_DATABASES_0__PORT

Source database port

DBZ_DATABASES_0__CATALOG

Source database catalog

DBZ_DATABASES_0__USERNAME

Source database username

DBZ_DATABASES_0__PASSWORD

Source database password

Once the reader finishes running, the cdc source will appear in the EDB Postgres AI Console. You can select this source for any migration.

Running the EDB DMS Reader

  1. Start the migration:

    cd /opt/cdcreader
    ./run-cdcreader.sh
  2. Go to the EDB Postgres AI Console, and verify that a source with the DBZ_ID name is displayed in Migrate > Sources.


Could this page be better? Report a problem or suggest an addition!