OceanBase 数据源

最近更新时间:2025-07-01 16:39:12

我的收藏
数据集成提供了 OceanBase 的读取能力,本文为您介绍使用 OceanBase 进行实时数据同步的前置环境配置以及当前能力支持情况。

支持版本

目前数据集成已支持 OceanBase 单表及整库级实时读取,使用实时读取能力需遵循以下版本限制:
类型
版本
OceanBase
社区版 3.1.4;企业版 4.2.1.3

使用限制

开白上线,如需使用请 提交工单 进行申请。
增量采集需要部署 logproxy,没有的话任务无法进入增量阶段。
logproxy 必须使用主账户注册,但数据源配置时不能使用主账户。
增量日志保留时长至少3天,如果全量阶段数据量很大,请延长增量日志保留时长。
整库任务当来源端为 OceanBase 时,目标端仅支持使用已有数据库、数据表,不支持自动建库、建表。
不支持 DDL 变更,源端的 Schema 变更不会自动同步到目标端。
仅支持 At-least-once 语义,需要依赖目标端去重能力保证数据唯一性。

实时整库同步读取配置

OceanBase MySQL 模式和 Oracle 模式在配置上有所差异, MySQL 模式配置如下:



Oracle 模式配置如下:



参数
说明
数据源模式
支持 MySQL 兼容模式、Oracle 兼容模式
数据来源
选择需要同步的 OceanBase 数据源。此处会根据选择的数据源模式进行过滤,如选择 MySQL 模式,此处只展示 MySQL模式的 OceanBase 数据源,不展示 Oracle 模式的数据源。
来源表
所有库表:监控数据源下所有库。任务运行期间新增库、表默认将同步至目标端。
指定表:此选项下需指定到具体表名称,设置后任务仅同步指定表;若需要新增同步表需停止并重启任务。



指定库:此选项下需指定具体库名、表名正则表达式。设置后,任务运行期间符合表名表达式的新增表默认将同步至目标端。



读取模式
全量 + 增量:数据同步分为全量和增量同步阶段,全量阶段完成后任务进入增量阶段。全量阶段将同步库内历史数据,增量阶段从任务启动后 binlog cdc 的位点开始同步。
增量:仅从任务启动后的 binlog cdc 位点开始同步数据。
过滤操作
支持插入、更新和删除三种操作,设置后将不同步指定操作类型的数据。仅 MySQL 模式支持过滤操作。
时区
设置日志时间所属时区,默认上海。仅 MySQL 模式支持时区。
高级设置(可选)
可根据业务需求配置参数。

实时单表同步读取配置




参数
描述
数据源模式
支持 MySQL 兼容模式、Oracle 兼容模式。
数据来源
选择需要同步的表所在数据源。
选择需要同步的表所在数据库。
选择需要同步的表。
表主键
用于将表分为多个分片进行同步,仅适用于 MySQL 模式。
读取模式
全量 + 增量:数据同步分为全量和增量同步阶段,全量阶段完成后任务进入增量阶段。全量阶段将同步库内历史数据,增量阶段从任务启动后 binlog cdc 的位点开始同步。
增量:仅从任务启动后的 binlog cdc 位点开始同步数据。
高级设置(选填)
可根据业务需求配置参数。

实时单表同步写入配置

todo

支持的字段类型

OceanBase 读取支持的数据类型及转换对应关系如下(在处理 OceanBase 时,会先将 OceanBase 数据源的数据类型和数据处理引擎的数据类型做映射):
Oceanbase MySQL 模式 类型
内部类型
TINYINT/INT/MEDIUMINT/INTEGER
INTEGER
FLOAT,BINARY_FLOAT
FLOAT
DECIMAL/NUMETRIC
DECIMAL
DOUBLE PRECISION,BINARY_DOUBLE
DOUBLE
BOOL/BOOLEAN
BOOLEAN
DATE,TIMESTAMP [(p)]
TIMESTAMP [(p)] [WITHOUT TIMEZONE]
TIMESTAMP [(p)] WITH TIME ZONE
TIMESTAMP [(p)] WITH TIME ZONE
TIMESTAMP [(p)] WITH LOCAL TIME ZONE
TIMESTAMP_LTZ [(p)]
CHAR(n),NCHAR(n),NVARCHAR2(n),VARCHAR(n),VARCHAR2(n),CLOB,NCLOB,XML, BIT 类型
STRING
BLOB,ROWID
BYTES
INTERVAL DAY TO SECOND,INTERVAL YEAR TO MONTH
BIGINT
Oceanbase Oracle 模式 类型
内部类型
NUMBER
DOUBLE
FLOAT,BINARY_FLOAT
FLOAT
DOUBLE PRECISION,BINARY_DOUBLE
DOUBLE
NUMBER(1)
BOOLEAN
DATE,TIMESTAMP [(p)]
TIMESTAMP [(p)] [WITHOUT TIMEZONE]
TIMESTAMP [(p)] WITH TIME ZONE
TIMESTAMP [(p)] WITH TIME ZONE
TIMESTAMP [(p)] WITH LOCAL TIME ZONE
TIMESTAMP_LTZ [(p)]
CHAR(n),NCHAR(n),NVARCHAR2(n),VARCHAR(n),VARCHAR2(n),CLOB,NCLOB,XML 类型
STRING
BLOB,ROWID
BYTES
INTERVAL DAY TO SECOND,INTERVAL YEAR TO MONTH
BIGINT