---
title: "创建 IDB 逻辑表至 OceanBase 数据库 MySQL 租户的数据同步项目 | OceanBase 文档中心"
description: 创建 IDB 逻辑表至 OceanBase 数据库 MySQL 租户的数据同步项目 OceanBase 迁移服务（OceanBase Migration Service，OMS）支持 IDB 逻辑表至 OceanBase 数据库 MySQL 租户的数据同步，该功能支持分库分表和分库不分表。本文为您介绍如何创建 IDB…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*L03BS6f-o40AAAAAAAAAAAAADiGDAQ/original) 迁移服务 OMSV 3.2.2 企业版

# 创建 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。

## 操作步骤

1. 新建同步项目。

      1. 登录 OMS 控制台。
      2. 在左侧导航栏，单击 **数据同步**。
      3. 在 **数据同步** 页面，单击 **新建同步项目** > **新建数据库到数据库同步项目**。
 2. 选择源和目标。

      1. 在 **选择源和目标** 页面，输入 **同步链路名称** **。**

        **说明**

        同步链路名称支持中文、数字和英文字母的组合，且不得超过 64 个字符。
      2. 单击 **标签** 文本框，在下拉列表中选择目标标签。您也可以单击 **管理标签**，进行新建、修改和删除。详情请参见 [通过标签管理数据同步项目](https://www.oceanbase.com/docs/enterprise-oms-doc-cn-10000000000373406)。
      3. 在 **源端** 区域，配置各项参数。

        | 参数 | 描述 |
        | --- | --- |
        | 表类型 | 默认选择 **逻辑表**，且不支持更改。 |
        | 数据源 | 如果您已创建 IDB 数据源，请从下拉列表中进行选择。如果未创建，请单击下拉列表中的 **添加数据源**，在右侧对话框进行添加。参数详情请参见 [添加 IDB 数据源](https://www.oceanbase.com/docs/enterprise-oms-doc-cn-10000000000373442)。 |
        | GUID | 逻辑表的全局唯一标识符，需要手动输入。 |
        | 分片列 | 在分片列下拉列表中选择目标分片列。您可以选择多个字段作为分片列，该参数为选填。 分片列用于区分可并发写入至 MySQL 数据库的数据行。如果分片列值相同，则不会出现并发写入的情况。 |
      4. 设置 **目标端**。

        | 参数 | 描述 |
        | --- | --- |
        | 数据源 | 如果您已创建 OceanBase 数据库 MySQL 租户数据源，请从下拉列表中进行选择。如果未创建，请单击下拉列表中的 **添加数据源**，在右侧对话框进行添加。参数详情请参见 [添加 OceanBase 数据源](https://www.oceanbase.com/docs/enterprise-oms-doc-cn-10000000000373440)。 如果您需要查看 OMS 中所有已创建的数据源，请单击页面下方的 **查看数据源**。 |
        | 数据表 | 从下拉列表中选择目标数据表。 |
      5. 单击 **下一步**。
 3. 设置同步类型。

      1. 设置源端同步类型。

        | 参数 | 描述 |
        | --- | --- |
        | 同步类型和配置 | 您可以勾选 **全量同步** 和 **增量同步**。 **增量同步** 包括 **数据变更 DML** （`Insert`、`Delete` 和 `Update`）和 **同步 DDL**。 **注意** 如果您需要进行 **全量同步**，请在添加 IDB 数据源时，设置 **OB Proxy 地址**、**全量同步用户** 和 **全量同步密码**。否则该选项不可选。 |
        | 同步起始位点 | 指定同步某个时间节点之后的数据，默认为当期系统时间。您可以选择时间节点，也可以直接输入时间戳。 该位点与当前归档日志的保留时间密切相关。如果无特殊要求，可以从当前位点开始启动。 |
      2. 单击 **下一步**。
 4. 系统自动完成对数据同步项目的预检查。

   在 **预检查** 环节，OMS 会检测和目标端的连接情况。如果预检查报错，请排查并处理问题后，重新执行预检查，直至预检查成功。如果需要跳过某项预检查，您可以在系统配置中进行设置。
 5. 单击 **启动任务**，启动该项目的增量同步等各项任务。

   如果您暂时无需启动任务，请单击 **保存**，跳转至数据同步项目的详情页面，您可以根据需要手动启动数据同步项目。如果您需要查看详情，请参见 [查看数据同步项目详情](https://www.oceanbase.com/docs/enterprise-oms-doc-cn-10000000000373403)。

如果数据同步项目运行报错（通常由于网络不通或进程启动过慢导致），您可以在数据同步的列表或详情页面，单击 **恢复**。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
