注意:说明:
注意: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 位点开始同步数据。 |
| 高级设置(选填) | 可根据业务需求配置参数。 |
五、支持的字段类型
OceanBase 读取支持的数据类型及转换对应关系如下(在处理 OceanBase 时,会先将 OceanBase 数据源的数据类型和数据处理引擎的数据类型做映射):
| OceanBase MySQL 模式 类型 | 内部类型 |
| TINYINT/INT/MEDIUMINT/INTEGER | INTEGER |
| FLOAT,BINARY_FLOAT | FLOAT |
| DECIMAL/NUMERIC | 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 |