Configuring and running the EDB DMS Reader

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. Select Create Migration Credential > Download Credential.

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

Configuring the reader

  1. Open the EDB DMS reader located in /opt/cdcreader/run-cdcreader.sh and ensure you have write permissions.

  2. Set the variables according to your environment and uncomment the edited lines. See parameters for further guidance.

### 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 HTTP client of the EDB DMS Reader 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 HTTP client of the EDB DMS Reader 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 certificate 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.

The Apicurio client uses it to perform mTLS authentication with the transporter-rw-service.

DBZ_DATABASES

This is a list of source database information you require for the EDB DMS Reader be able to read the correct source database information for the migration.

You can configure the EDB DMS Reader to migrate multiple databases. The DBZ_DATABASES_0__TYPE section delimits the information for the first database. You can use DBZ_DATABASES_1__TYPE to provide data for a second database. Add more sections to the EDB DMS Reader (DBZ_DATABASES_2__TYPE, DBZ_DATABASES_3__TYPE) by increasing the index manully.

DBZ_DATABASES_0__TYPE

This is the source database type. EDB DMS reader supports ORACLE and POSTGRES.

DBZ_DATABASES_0__HOSTNAME

The hostname of the source database.

DBZ_DATABASES_0__PORT

The port of the source database.

DBZ_DATABASES_0__CATALOG

The database name in the source database server.

DBZ_DATABASES_0__USERNAME

The database username of the source database.

DBZ_DATABASES_0__PASSWORD

The password for the database username of the source database.

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.

You can select this source for your migration.


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