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