Skip to main content
Version: Next

OceanBase CDC

OceanBase CDC source connector

Support Those Engines

SeaTunnel Zeta
Flink

Key features

Description

The first delivery of the OceanBase CDC connector targets the stable OceanBase MySQL compatible path backed by OceanBase Binlog Service.

To keep the implementation narrow and restart-safe, OceanBase-CDC reuses SeaTunnel's MySQL-CDC incremental runtime for:

  • snapshot + incremental capture
  • checkpoint / restore handling
  • multi-table CDC row semantics
  • schema change propagation supported by MySQL-CDC

OceanBase Oracle compatible mode is not supported in this first delivery.

Supported DataSource Info

DatasourceSupported versionsDriverUrlNotes
OceanBase CE / OceanBase EE (MySQL compatible mode)OceanBase deployments that expose a MySQL-compatible snapshot endpoint and OceanBase Binlog Servicecom.mysql.cj.jdbc.Driverjdbc:mysql://localhost:2881/testRequires OceanBase Binlog Service

Using Dependency

Install Jdbc Driver

  1. You need to ensure that the MySQL JDBC driver has been placed in ${SEATUNNEL_HOME}/plugins/.

For SeaTunnel Zeta Engine

  1. You need to ensure that the MySQL JDBC driver has been placed in ${SEATUNNEL_HOME}/lib/.

OceanBase Preparation

Before using OceanBase-CDC, make sure the monitored tenant satisfies these requirements:

  1. OceanBase runs in MySQL compatible mode for the captured tables.
  2. OceanBase Binlog Service is deployed and enabled for incremental subscription.
  3. The JDBC url points to a MySQL-compatible endpoint that SeaTunnel can use for snapshot reads.
  4. The configured account can read the captured tables and subscribe to incremental changes.

Source Options

OceanBase-CDC reuses the MySQL-CDC option contract for its CDC behavior.

Please refer to MySQL CDC Source Options for the complete option list.

OceanBase-specific constraints

  • Use a MySQL-compatible JDBC URL such as jdbc:mysql://host:2881/database.
  • Use the MySQL JDBC driver com.mysql.cj.jdbc.Driver.
  • compatible_mode is optional and is fixed to mysql when omitted. If configured, it must be mysql; Oracle-compatible mode is not supported by this connector.
  • The first delivery supports explicitly configured tables only through table-names, table-pattern, and table-names-config.
  • Startup modes, checkpoint / restore semantics, and schema evolution behavior are the same as MySQL-CDC.

Task Example

Simple

Support multi-table reading from OceanBase MySQL compatible mode

env {
execution.parallelism = 1
job.mode = "STREAMING"
checkpoint.interval = 5000
}

source {
OceanBase-CDC {
plugin_output = "oceanbase_cdc"
username = "root"
password = "123456"
url = "jdbc:mysql://127.0.0.1:2881/inventory"
database-names = ["inventory"]
table-names = ["inventory.orders", "inventory.customers"]
server-time-zone = "Asia/Shanghai"
startup.mode = "initial"
exactly_once = true
}
}

transform {

}

sink {
Console {}
}

Changelog

Change Log
ChangeCommitVersion