Home / Knowledge base / 7. COMMANDS TO BE USED / 7.3 Validate Source and Target Databases

7.3 Validate Source and Target Databases

The “validate” database objects command is used to validate that the correctly initialized Database Objects exist, and Database is ready for replication.

It is considered to be “Good Practice” to run this command after either the initial configuration has been completed or if changes have been made to either a Capture or Apply Process.

7.3.1 Validate MS SQL Server Database

REST API:

  • Endpoint: https://repstance_url/configure/database
  • Method: POST
  • Header:
    • Content-Type: application/json
    • X-Token: token
  • Body:
    {
      "command":"validate",
      "parameters":[
         ["database","source|target"],
         ["dbtype","mssql"],
         ["server","host_name"],
         ["port","port_number"],
         ["dbname","database_name"],
         ["user","db_user_name"],
         ["password","db_user_password"]
      ]
    }

Server response:

  • HTTP Status – status of the command, possible codes are:
    • 200 – if no error occurs
    • 422 – if error occurs
  • Body:
    {
     "Status":"{Valid|Invalid}",
     "Message":"The command execution details"
    }

CLI Syntax:

repcli validate database=source|target dbtype=mssql \
server=databaseHost port=databasePort \
user=username password=password \
dbname=databaseName

The input parameters are:

  • database – Database role, the possible values are:
  • source – to validate Capture Process Objects
  • target – to validate Apply Process Objects
  • dbtype – Type of RDBMS, the possible value is mssql
  • server – Host name or IP address of the database server
  • port – Database port
  • dbname – Database name
  • user – Database User name
  • password – Database User password

7.3.2 Validate Oracle Database

REST API:

  • Endpoint: https://repstance_url/configure/database
  • Method: POST
  • Header:
    • Content-Type: application/json
    • X-Token: token
  • Body:
    {
      "command":"validate",
      "parameters":[
         ["database","source|target"],
         ["dbtype","oracle"],
         ["connectiontype","tns|ezconnect"],
         ["tnsname","tns_alias"],
         ["server","host_name"],
         ["port","port_number"],
         ["servicename","service_or_SID"],
         ["dbname","database_name"],
         ["user","db_user_name"],
         ["password","db_user_password"]
      ]
    }

Server response:

  • HTTP Status – status of the command, possible codes are:
  • 200 – if no error occurs
  • 422 – if error occurs
  • Body:
    {
     "Status":"{Valid|Invalid}",
     "Message":"The command execution details"
    }

CLI Syntax:

repcli validate database=source|target dbtype=oracle \
connectiontype=tns|ezconnect tnsname=tns_alias \
server=databaseHost port=databasePort \
servicename=service_or_SID dbname=databaseName \
user=username password=password \

The input parameters are:

  • database – Database role, the possible values are:
  • source – to validate Capture Process Objects
  • target – to validate Apply Process Objects
  • dbtype – Type of RDBMS, the possible value is oracle
  • connectiontype – Specifies connection method to Oracle, possible values are:
  • tns – Local Naming Method to be used
  • ezconnect – EZCONNECT to be used
  • tnsname – Name of the TNS alias, valid only if connectiontype=tns
  • server – Host name or IP address of the database server, valid only if connectiontype=ezconnect
  • port – Database port number, valid only if connectiontype=ezconnect
  • servicename – Database service name or SID, valid only if connectiontype=ezconnect
  • dbname – Name of either container or pluggable database. Valid only if database=source and for any Oracle versions 12c-19c but excluding RDS instances
  • user – Database User name
  • password – Database User password

7.3.3 Validate PostgreSQL and Aurora PostgreSQL Databases

REST API:

  • Endpoint: https://repstance_url/configure/database
  • Method: POST
  • Header:
    • Content-Type: application/json
    • X-Token: token
  • Body:
    {
      "command":"validate",
      "parameters":[
         ["database","target"],
         ["dbtype","postgresql"],
         ["server","host_name"],
         ["port","port_number"],
         ["dbname","database_name"],
         ["user","db_user_name"],
         ["password","db_user_password"]
      ]
    }

Server response:

  • HTTP Status – status of the command, possible codes are:
    • 200 – if no error occurs
    • 422 – if error occurs
  • Body:
    {
     "Status":"{Valid|Invalid}",
     "Message":"The command execution details"
    }

CLI Syntax:

repcli validate database=target dbtype=postgresql \
server=databaseHost port=databasePort \
user=username password=password \
dbname=databaseName

The input parameters are:

  • database – Database role, the possible value is target – to validate Apply Process Objects
  • dbtype – Type of RDBMS, the value is postgresql
  • server – Host name or IP address of the database server
  • port – Database port
  • dbname – Database name
  • user – Database User name
  • password – Database User password

7.3.4 Validate MySQL Database and Aurora MySQL Databases

REST API:

  • Endpoint: https://repstance_url/configure/database
  • Method: POST
  • Header:
    • Content-Type: application/json
    • X-Token: token
  • Body:
    {
      "command":"validate",
      "parameters":[
         ["database","target"],
         ["dbtype","mysql"],
         ["server","host_name"],
         ["port","port_number"],
         ["dbname","database_name"],
         ["user","db_user_name"],
         ["password","db_user_password"]
      ]
    }

Server response:

  • HTTP Status – status of the command, possible codes are:
    • 200 – if no error occurs
    • 422 – if error occurs
  • Body:
    {
     "Status":"{Valid|Invalid}",
     "Message":"The command execution details"
    }

CLI Syntax:

repcli validate database=target dbtype=mysql \
server=databaseHost port=databasePort \
user=username password=password \
dbname=databaseName

The input parameters are:

  • database – Database role, the only possible value is target – to validate Apply Process Objects
  • dbtype – Type of RDBMS, the value is mysql
  • server – Host name or IP address of the database server
  • port – Database port
  • dbname – Database name
  • user – Database User name
  • password – Database User password

7.3.5 Validate Snowflake Database

REST API:

  • Endpoint: https://repstance_url/configure/database
  • Method: POST
  • Header:
    • Content-Type: application/json
    • X-Token: token
  • Body:
    {
      "command":"validate",
      "parameters":[
         ["database","target"],
         ["dbtype","snowflake"],
         ["account","account"],
         ["region","region"],
         ["warehouse","warehouse"],
         ["dbname","database_name"],
         ["user","db_user_name"],
         ["password","db_user_password"]
      ]
    }

Server response:

  • HTTP Status – status of the command, possible codes are:
    • 200 – if no error occurs
    • 422 – if error occurs
  • Body:
    {
     "Status":"{Valid|Invalid}",
     "Message":"The command execution details"
    }

CLI Syntax:

repcli validate database=target dbtype=snowflake \
account=account region=region warehouse=warehouse \
user=username password=password \
dbname=databaseName

The input parameters are:

  • database – Database role, the only possible value is target – to validate Apply Process Objects
  • dbtype – Type of RDBMS, the value is snowflake
  • account – Snowflake Account name
  • region – Snowflake Region name
  • warehouse – Warehouse name
  • user – Database User name
  • password – Database User password
  • dbname – Database name

How to find “Snowflake Account” and “Snowflake Region” is described in chapter 7.1.7 Prepare Snowflake as Target Database.