Overview
Qlik Replicate is a data replication and synchronization tool that supports connecting to OceanBase Database through ODBC/MySQL to achieve cross-database data synchronization.
This topic describes how to configure Qlik Replicate to synchronize data from OceanBase Database to SQL Server.
Version compatibility
- OceanBase Database version: ≥ V4.2.5
- Qlik Replicate version: V2025.11.0
Prerequisites
Before you use Qlik Replicate, make sure that you have:
- Installed Qlik Replicate. For more information, see Install Qlik Replicate.
- Deployed OceanBase Database and created a MySQL-compatible user tenant. For more information about how to create a user tenant, see Create a tenant.
- Enabled the Binlog service in the MySQL-compatible user tenant. For more information, see OceanBase Binlog service.
- Set up a SQL Server and ensure that the network of the SQL Server can connect to the network of Qlik Replicate.
Procedure
Step 1: Obtain the database connection string
Contact the OceanBase Database deployment personnel to obtain the connection string, for example:
obclient -h$host -P$port -u$user_name -p$password -D$database_name
Parameter description:
$host: the connection IP address. For ODP connections, use the ODP address; for direct connections, use the OBServer IP address.$port: the connection port. For ODP connections, the default is2883; for direct connections, the default is2881.$database_name: the database name.Notice
The user connecting to the tenant must have the
CREATE,INSERT,DROP, andSELECTprivileges on the database. For more information about user privileges, see Privilege types in MySQL mode.$user_name: the connection account. For ODP connections, the format isUser@Tenant#ClusterorCluster:Tenant:User; for direct connections, the format isUser@Tenant.$password: the account password.
For more information about the connection string, see Connect to an OceanBase tenant by using OBClient.
Here is an example:
obclient -hxxx.xxx.xxx.xxx -P2881 -utest_user001@mysql001 -p****** -Dtest
Step 2: Install Qlik Replicate
This topic demonstrates how to deploy Qlik Replicate by using Docker. Perform the following steps:
# 1. Download the Linux version.
wget https://github.com/qlik-download/replicate/releases/download/v2025.11.0/QlikReplicate_2025_11_0_Linux_X64.tar.gz
# 2. Decompress the file.
tar -xzf QlikReplicate_2025_11_0_Linux_X64.tar.gz
# 3. Extract the RPM file and create a Docker image.
mkdir -p ar_docker/
rpm2cpio areplicate-*.rpm | cpio -iv --make-directories --no-absolute-filenames ./opt/attunity/replicate/addons/samples/docker/*
mv ./opt/attunity/replicate/addons/samples/docker/* ./ar_docker/
rm -rf ./opt
cd ar_docker
cp ../areplicate-*.rpm .
sed -i '/^mysql8\|^sqlserver18.1/!s/^/#/' drivers
# 4. Install the MySQL ODBC 8.0.32 driver.
wget https://yum.oracle.com/repo/OracleLinux/OL8/MySQL80/connectors/community/x86_64/getPackage/mysql-connector-odbc-8.0.32-1.el8.x86_64.rpm
# 5. Install ODBC Driver 18.
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo
ACCEPT_EULA=Y yum install -y msodbcsql18
# 6. Create a Dockerfile.
./create-dockerfile.sh
sed -i 's/RUN yum -y install \/tmp\/areplicate-\*.rpm/RUN systemd=no yum -y install \/tmp\/areplicate-*.rpm/' Dockerfile
# 7. Build the Docker image.
docker build --no-cache -t qlik-replicate:2025.11.0 .
# 8. Start the container.
docker run -d --name replicate-container \
--hostname replicate-host \
-e ReplicateDataFolder="/replicate/data" \
-e ReplicateAdminPassword="********" \
-e ReplicateRestPort="3552" \
-p 3552:3552 \
qlik-replicate:2025.11.0
# 9. Verify whether Qlik Replicate is started.
sudo netstat -ntlp | grep 3552
Access the Qlik Replicate service address by using a browser: http://localhost:3552/attunityreplicate/login. Log in to Qlik Replicate. The default account name is admin, and the password is the value of the ReplicateAdminPassword parameter that you set during deployment.
Step 3: Create a synchronization task using Qlik Replicate
Configure the source endpoint (Source Endpoint)
In the Qlik Replicate management interface, create a new source endpoint and select MySQL as the type.
Fill in the Server, Port, Username, and Password fields and click Test Connection to verify the connectivity.
Alternatively, connect to OceanBase Database by using an ODBC DSN:
a. Log in to the Qlik Replicate container and configure
/etc/odbc.ini:tee /etc/odbc.ini << 'EOF' [MySQL-Test] Description=MySQL Test Connection Driver=MySQL ODBC 8.0 Unicode Driver Server=$host Port=2883 User=$user_name Password=$password Option=3 Charset=utf8mb4 EOFb. List all DSNs:
odbcinst -q -sc. Test the DSN connection:
isql -v MySQL-TestAfter the connection is successful, select the DSN
MySQL-Testin the Qlik Replicate interface and click Test Connection.
Configure the target endpoint (Target Endpoint)
- Create a target endpoint, such as SQL Server.
- Fill in the Server, Username, Password, and Database name fields and click Test Connection to verify the connectivity.
Configure the synchronization task
In the ETL task, select the table to be synchronized and the synchronization mode (full or incremental).
Start task
Start the synchronization task and monitor its running status in the management interface.
Verify results
After the synchronization task is started, log in to the destination database (SQL Server) to verify the following:
- Check whether the table structures and data in the destination database are consistent with those in the source database.
- Check whether the data is complete and accurate.
- Check whether the synchronization is real-time.
- Check whether the task is running normally without errors or performance bottlenecks.
FAQs
Q1: The synchronization task returns the error: Binary logging basename not found.
Cause: The variables are missing when the SQL query is executed.
Solution: Contact OceanBase Technical Support to check the configuration and confirm that the following variables are correctly set:
SHOW GLOBAL VARIABLES LIKE 'log_bin_basename';
Q2: The synchronization task returns the error: Binary logging must use the FULL row image.
Cause: The row image format of binlog is not set to FULL.
Solution: Execute the following command in the OceanBase tenant:
SET GLOBAL binlog_format = 'ROW';
SET GLOBAL binlog_row_image = 'FULL';
Q3: The login to the Web page fails.
Cause: The administrator password does not meet the security policy requirements.
Solution: Change the password of the admin user. For more information about the password requirements, see Qlik Replicate official documentation.
More information
- Qlik Replicate official documentation
- For more technical support, contact the OceanBase Technical Support team.
