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
| Datasource | Supported versions | Driver | Url | Notes |
|---|---|---|---|---|
| OceanBase CE / OceanBase EE (MySQL compatible mode) | OceanBase deployments that expose a MySQL-compatible snapshot endpoint and OceanBase Binlog Service | com.mysql.cj.jdbc.Driver | jdbc:mysql://localhost:2881/test | Requires OceanBase Binlog Service |
Using Dependency
Install Jdbc Driver
For Flink Engine
- You need to ensure that the MySQL JDBC driver has been placed in
${SEATUNNEL_HOME}/plugins/.
For SeaTunnel Zeta Engine
- 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:
- OceanBase runs in MySQL compatible mode for the captured tables.
- OceanBase Binlog Service is deployed and enabled for incremental subscription.
- The JDBC
urlpoints to a MySQL-compatible endpoint that SeaTunnel can use for snapshot reads. - 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_modeis optional and is fixed tomysqlwhen omitted. If configured, it must bemysql; Oracle-compatible mode is not supported by this connector.- The first delivery supports explicitly configured tables only through
table-names,table-pattern, andtable-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
| Change | Commit | Version |
|---|