首批通过分布式安全可靠测评,为关键业务系统打造
创建 IDB 逻辑表至 OceanBase 数据库 MySQL 租户的数据同步项目
更新时间:2023-06-25 10:20:37
OceanBase 迁移服务(OceanBase Migration Service,OMS)支持 IDB 逻辑表至 OceanBase 数据库 MySQL 租户的数据同步,该功能支持分库分表和分库不分表。本文为您介绍如何创建 IDB 逻辑表至 OceanBase 数据库 MySQL 租户的数据同步项目。
使用限制
当前版本仅支持 IDB 有主键逻辑表至 OceanBase 数据库 MySQL 租户的数据同步。
待同步的表名和其中的列名不能包含中文字符。
增量同步 DDL 支持的范围及限制
增量同步 DDL 支持的范围
增加列
修改列的长度
增量同步阶段在逻辑表执行的 DDL 会自动同步至目标端,仅限于两类 DDL。在任意一个物理表内执行 DDL,都会进行同步。后续执行相同的 DDL 将不会同步(幂等)。 注意
默认逻辑表执行 DDL 是针对所有物理表都会执行,逻辑表下的物理表的 Schema 不会存在差异。
对于不支持的 DDL,可以设置关键参数
ddlIgnoreUnsupport来控制是否对齐强制执行。默认值为true。如果etransfer解析失败的 DDL,则该参数无效。如果开启强制执行 DDL,即
ddlIgnoreUnsupport = false。则无需关注是否支持该 DDL,均执行并打印日志。如果关闭强制执行 DDL,即
ddlIgnoreUnsupport = true。则打印不支持的日志,并忽略执行。
增量同步 DDL 的使用限制
默认逻辑表下的 Schema 是一致的。如果存在不一致的情况(仅对部分表执行 DDL),则会导致数据不一致而无法进行数据同步。
增加列时,需要携带默认值。通常开启
ddlIgnoreUnsupport,会默认拦截无默认值的情况。修改列的长度时,无法处理下述特殊情况。
刚开始是一个可以为 null 的列,修改为不能为 null,并进行回拉。此时可能因为数据为 null,而目标端限制不能为 null,导致数据同步失败。
针对上述情况,您可以在目标端先执行 DDL,修改支持数据为 null,再自动同步后面的 DDL。
操作步骤
新建同步项目。
登录 OMS 控制台。
在左侧导航栏,单击 数据同步。
在 数据同步 页面,单击 新建同步项目 > 新建数据库到数据库同步项目。
选择源和目标。
在 选择源和目标 页面,输入 同步链路名称 。
说明
同步链路名称支持中文、数字和英文字母的组合,且不得超过 64 个字符。
单击 标签 文本框,在下拉列表中选择目标标签。您也可以单击 管理标签,进行新建、修改和删除。详情请参见 通过标签管理数据同步项目。
在 源端 区域,配置各项参数。
参数 描述 表类型 默认选择 逻辑表,且不支持更改。 数据源 如果您已创建 IDB 数据源,请从下拉列表中进行选择。如果未创建,请单击下拉列表中的 添加数据源,在右侧对话框进行添加。参数详情请参见 添加 IDB 数据源。 GUID 逻辑表的全局唯一标识符,需要手动输入。 分片列 在分片列下拉列表中选择目标分片列。您可以选择多个字段作为分片列,该参数为选填。 分片列用于区分可并发写入至 MySQL 数据库的数据行。如果分片列值相同,则不会出现并发写入的情况。 设置 目标端。
参数 描述 数据源 如果您已创建 OceanBase 数据库 MySQL 租户数据源,请从下拉列表中进行选择。如果未创建,请单击下拉列表中的 添加数据源,在右侧对话框进行添加。参数详情请参见 添加 OceanBase 数据源。 如果您需要查看 OMS 中所有已创建的数据源,请单击页面下方的 查看数据源。 数据表 从下拉列表中选择目标数据表。 单击 下一步。
设置同步类型。
设置源端同步类型。
参数 描述 同步类型和配置 您可以勾选 全量同步 和 增量同步。 增量同步 包括 数据变更 DML ( Insert、Delete和Update)和 同步 DDL。 注意 如果您需要进行 全量同步,请在添加 IDB 数据源时,设置 OB Proxy 地址、全量同步用户 和 全量同步密码。否则该选项不可选。同步起始位点 指定同步某个时间节点之后的数据,默认为当期系统时间。您可以选择时间节点,也可以直接输入时间戳。 该位点与当前归档日志的保留时间密切相关。如果无特殊要求,可以从当前位点开始启动。 单击 下一步。
系统自动完成对数据同步项目的预检查。
在 预检查 环节,OMS 会检测和目标端的连接情况。如果预检查报错,请排查并处理问题后,重新执行预检查,直至预检查成功。如果需要跳过某项预检查,您可以在系统配置中进行设置。
单击 启动任务,启动该项目的增量同步等各项任务。
如果您暂时无需启动任务,请单击 保存,跳转至数据同步项目的详情页面,您可以根据需要手动启动数据同步项目。如果您需要查看详情,请参见 查看数据同步项目详情。
如果数据同步项目运行报错(通常由于网络不通或进程启动过慢导致),您可以在数据同步的列表或详情页面,单击 恢复。