---
title: "迁移 AWS RDS 数据至 OB Cloud 云数据库最佳实践 - OB Cloud 云数据库 master | OceanBase 文档中心"
description: 迁移 AWS RDS 数据至 OB Cloud 云数据库最佳实践 本文档旨在提供一套完整的最佳实践，指导用户将数据从 AWS RDS 数据库平滑、安全、高效地迁移至 OB Cloud 云数据库。内容涵盖迁移前准别及评估、迁移实施、数据校验等关键环节。 背景信息 OceanBase 迁移服务（OceanBase Mig…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*qbZXRo_94ZEAAAAAAAAAAAAADiGDAQ/original) OB Cloud 云数据库

# 迁移 AWS RDS 数据至 OB Cloud 云数据库最佳实践

更新时间：2026-08-25 16:58:07

本文档旨在提供一套完整的最佳实践，指导用户将数据从 AWS RDS 数据库平滑、安全、高效地迁移至 OB Cloud 云数据库。内容涵盖迁移前准别及评估、迁移实施、数据校验等关键环节。

## 背景信息

OceanBase 迁移服务（OceanBase Migration Service，OMS） 是 OceanBase 提供的一种支持同构或异构数据源与 OceanBase 数据库之间进行数据交互的服务，具备在线迁移存量数据和实时同步增量数据的能力。通过 OMS 可以实现结构迁移、全量迁移和增量同步，无缝迁移 AWS RDS 数据库中的存量业务数据和增量数据至 OB Cloud 云数据库。下文将以 AWS RDS MySQL 模式为例，介绍如何使用 OMS 完成数据迁移。

迁移过程：

1. 网络配置。
 2. 双端数据库准备。

      1. 创建 OB Cloud 云数据库数据源。
      2. 添加 AWS RDS 数据源。
 3. 兼容性评估。
 4. 数据迁移：包括结构迁移、全量迁移、和增量同步。
 5. 数据校验。

## 前提条件

- 已获取项目所有者、项目管理员或数据服务管理员的身份授权，可创建迁移过程相关任务。身份授权相关操作，请参见 [组织项目管理概述](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000000703402)。
 - 已创建目标端 OceanBase 数据库的集群和租户，详情请参见 [创建集群](https://www.oceanbase.com/docs/common-oceanbase-cloud-10000000001780086) 和 [创建租户](https://www.oceanbase.com/docs/common-oceanbase-cloud-10000000001780107)。
 - 已为源端和目标端创建专用于数据迁移的数据库用户，并赋予其相关权限。详情请参见 [数据迁移用户权限](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000006083289)、[创建 Aurora MySQL 数据库实例](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.Aurora.html)。

## 网络配置

在实时迁移之前，需要先将 AWS 与 OB Cloud 的网络打通，保证后续数据访问。本文以 RDS MySQL 模式进行私网连接为例。更多 AWS 数据库类型，详情请参见 [配置 AWS 终端节点](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000003388959)。

### 配置私网连接前提条件

已创建相应类型的数据库实例，并获取该实例在用户 VPC 下的连接地址。

- 已创建 Amazon MSK 集群并关联密钥，详情请参见 [为 Amazon MSK 集群设置 SASL/SCRAM 身份验证](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password-tutorial.html)。
 - 如果终端节点服务下关联的负载均衡服务或虚拟服务器等资源启动了安全组配置，则需要将 OB Cloud 数据源所属的私网地址加入对应的安全组。详情请参见 [私网地址网段说明](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000004179507)。

### 获取 RDS MySQL 实例的 IP 地址

1. 登录 Amazon RDS 控制台的 [Databases](https://console.amazonaws.cn/rds/home#databases:) 页面。
 2. 在实例列表中，单击目标 RDS MySQL 数据库实例的名称，在 **连接和安全性** 区域中复制 **终端节点** 并确认 VPC 信息。
 3. 登录同一 VPC 下的 EC2 实例执行如下命令：

   ```sql
   // 请将 example.example-region.rds.amazonaws.com 域名替换为您上一步复制的终端节点名称
   nslookup <example.example-region.rds.amazonaws.com>

   ```

   返回的结果示例如下

   ```sql
   // ...
   Name: example.example-region.rds.amazonaws.com
   Address: xxx.xxx.xxx.1
   //...

   ```
 4. 返回的 IP 地址就是该 RDS 实例当前的主要私有 IPv4 地址，该地址将在 **创建目标组** 步骤中使用。

### 创建目标组

1. 登录 AWS 控制台的 [目标组](https://console.amazonaws.cn/ec2/home#TargetGroups) 页面。
 2. 单击页面右上角的 **创建目标组**。
 3. 在 **创建目标组** 页面，配置各项参数，并单击 **下一步**。

   | **参数** | **描述** |
   | --- | --- |
   | **目标类型** | 选择 **IP 地址**。 |
   | **目标组名称** | 请根据命名规范自定义目标组的名称。 |
   | **协议** | 选择 **TCP**。 |
   | **端口** | 输入相应的端口号，Kafka 实例选择对应 Nginx 端口。 |
   | **IP 地址类型** | 选择 **IPv4**。 |
   | **VPC** | 选择托管负载均衡器的 VPC。 |
 4. 在 **注册目标** 页面的 **IP 地址** 区域，配置各项参数，并单击 **包含如下待处理事项**。

   | **参数** | **描述** |
   | --- | --- |
   | **网络** | 从 **网络** 下拉列表中，选择 MySQL 数据库实例所在 VPC。 |
   | **指定 IP 并定义端口** | 在 **输入 VPC 子网的 IPv4 地址** 文本框中，输入数据库实例的 IP 地址。 |
   | **端口** | 输入相应的端口号，Kafka 实例选择对应 Nginx 端口。 |
 5. 在 **查看目标** 区域，确认要纳入群组的 IP 目标配置无误后，单击 **下一步**。
 6. 在 **审核和创建** 页面，检查配置信息，确认无误后单击 **创建目标组**。

### 创建网络负载均衡器

创建 **网络负载均衡器** 类型的负载均衡器，官方操作详情内容，请参见 [创建网络负载均衡器](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancer-getting-started.html#select-load-balancer-type)。

#### 注意

以下参数需要根据本文内容进行配置，其它参数无强制要求。

1. 登录 AWS 控制台的 [负载均衡器](https://console.amazonaws.cn/ec2/home?region=cn-north-1#LoadBalancers:) 页面。
 2. 单击页面右上角的 **创建负载均衡器** > **网络负载均衡器**。
 3. 在 **创建网络负载均衡器** 页面，配置各项参数。

      - **基本配置**

       | **参数** | **描述** |
       | --- | --- |
       | **模式** | 选择**内部**。 |
       | **IP 地址类型** | 选择 **IPv4**。 |
      - **网络映射**

       | **参数** | **描述** |
       | --- | --- |
       | **VPC** | 在下拉列表选择 MySQL 数据源所在的 VPC。 |
       | **可用区和子网** | 通常全选，您也可以根据实际情况至少选择一个可用区和一个子网。 |
      - **安全组**

       | **参数** | **描述** |
       | --- | --- |
       | **安全组** | 支持选择安全组与网络负载均衡器关联，此处建议您不要选择任何安全组。安全组的详情请参见 [网络负载均衡器的安全组](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-security-groups.html)。 |

       #### 说明

            - 如果您关联了网络负载均衡器的安全组，则需要允许放行对后端挂载端口的访问。
            - 为 Kafka 实例创建网络负载均衡器时，请勿选择安全组。
      - **侦听器和路由** 区域各项参数的配置如下。

       | **参数** | **描述** |
       | --- | --- |
       | **协议** | 侦听器协议，选择 **TCP**。 |
       | **端口** | 选择相应的端口号。 |
       | **默认操作** | 从下拉列表中选择 **创建目标组** 步骤创建的目标组。 |
 4. 创建成功后，返回 **负载均衡器** 页面，勾选创建的网络负载均衡器。
 5. 单击 **负载均衡器** 页面右上角的 **操作** > **编辑负载均衡器属性**。
 6. 在 **编辑负载均衡器属性** 页面的 **负载均衡器目标选择策略** 区域，选中 **启用跨区域负载均衡**，单击 **保存更改**。

### 创建终端节点服务

1. 登录 AWS 控制台的 [终端节点服务](https://console.amazonaws.cn/vpc/home#EndpointServices) 页面。
 2. 单击页面右上角的 **创建终端节点服务**。
 3. 在 **创建终端节点服务** 页面，配置各项参数。

   | **参数** | **描述** |
   | --- | --- |
   | **名称** | 请自定义终端节点服务的名称。 |
   | **负载均衡器类型** | 选择 **网络**。 |
   | **可用的负载均衡器** | 选择 **创建网络负载均衡器** 步骤创建的 Load Balancer。   **说明**   如果页面没有显示，请等待 Load Balancer 的状态为 Active 后，再刷新页面进行选择。 |
 4. 在 **其他设置** 区域，配置各项参数。

   | **参数** | **描述** |
   | --- | --- |
   | **需要接受以使用终端节点（可选）** | 服务使用者发起的请求是否需要人工二次处理。    - 如果勾选 **需要接受**，数据迁移服务首次接入私有连接时，会提示您进入 AWS 控制台对收到的终端节点连接请求进行 **接受终端节点连接请求** 操作。   - 如果未勾选 **需要接受**，则数据迁移服务首次接入私有连接时不会进行提示。 |
   | **启用私有 DNS 名称** | 此处请勿启用个人的域名。 |
   | **支持的 IP 地址类型** | 选择 **IPv4**。 |
 5. 单击 **创建**，完成终端节点服务的创建。
 6. 对需要访问创建的终端节点服务的账号进行授权。

      1. 在 **终端节点服务** 页面，勾选创建的终端节点服务。
      2. 单击页面右上角的 **操作** > **允许委托人**。
      3. 获取数据源或数据迁移任务需要授权的账号。

        您需要在 [OB Cloud 云数据库控制台](https://console-cn.oceanbase.com/) 的新建数据源或数据迁移任务页面选择 **连接类型** 为 **终端节点** 后，复制页面提示的需要授权的账号（格式为 `arn:aws:iam::aws-account-id:<type>/<id>`）。新建数据源的详情请参见 [新建数据源](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000001048865)，新建任务的详情请参见 [数据迁移](https://www.oceanbase.com/docs/common-oceanbase-cloud-0000000002418240) 模块相应类型的新建数据迁移任务文档。
      4. 在 **允许委托人** 页面的 **要添加的委托人** 区域，输入需要授权的账号，并单击 **允许委托人**。

        授权完成后，创建的终端节点服务对被授权账号可见。
 7. 创建终端节点服务后，您需要复制 **服务名称**，填写在新建数据源或数据迁移任务页面的 **AWS** > **终端节点** > **连接信息** 中。

   复制服务名称的操作步骤如下：

      1. 登录 AWS 控制台的 [终端节点服务](https://console.amazonaws.cn/vpc/home#EndpointServices) 页面。
      2. 勾选目标终端节点服务。
      3. 在页面下方的 **详细信息** 区域，单击 **服务名称** 处的复制图标，保留终端节点服务名称，用作后续添加数据源使用。

## 双端数据库准备

### 添加 OB Cloud 云数据库数据源

1. 登录 [OceanBase Cloud 控制台](https://console-cn.oceanbase.com/)。
 2. 在左侧导航栏选择 **数据服务** > **数据源**。
 3. 在数据源页面中，单击 **新建数据源** > **OceanBase MySQL Compatible**。
 4. 在新建数据源页面中，按已创建的 OB Cloud 云数据实例进行选择，并填写相应的账号密码，并单击 **测试连接**。
 5. 测试连接成功后，单击 **保存**，并记录数据源名称信息，作为后续操作中的目标端。

### 添加 AWS RDS 数据源

1. 登录 [OceanBase Cloud 控制台](https://console-cn.oceanbase.com/)。
 2. 在左侧导航栏选择 **数据服务** > **数据源**。
 3. 在数据源页面中，单击 **新建数据源** > **MySQL**。
 4. 在新建数据源页面中，按已有的 AWS RDS 数据库信息填写 地域、实例类型、连接类型、终端节点服务名称、端口和账号密码，并单击 **测试连接**。
 5. 测试连接成功后，单击 **保存**，并记录数据源名称信息作为后续操作中的源端。

## 兼容性评估

1. 新建在线评估任务。

      1. 登录 [OceanBase Cloud 控制台](https://console-cn.oceanbase.com/)。
      2. 在左侧导航栏，单击 **数据迁移**。
      3. 在数据迁移页面，单击 **兼容性评估**。
      4. 在兼容性评估页签中，单击 **创建兼容性评估** > **在线评估**。
 2. 在评估页面中，配置如下参数。

      1. 自定义 **评估任务名称**，长度不能超过 30 个字符。
      2. 在源端区域，单击 **引用数据源**，在拉列表中选择已添加的 AWS RDS 数据源，将自动补全源端数据库的信息。
      3. 在目标端区域，单击 **引用数据源**，在拉列表中选择已创建的 OB Cloud 云数据库，将自动补全目标端数据库的信息。
      4. 在评估类型区域，选择需要评估的类型。目前支持 **对象评估** 和 **画像评估**。
      5. 单击 **下一步**。
 3. 在 **评估配置** 页面，设置评估范围。

   | 操作 | 描述 |
   | --- | --- |
   | **选择评估对象** | 在左侧 **源列表** 选中目标 Schema，单击 **>**，将其添加至右侧列表中。 |
   | **选择对象类型** | 在 **选择对象类型** 区域，选中目标对象类型。 |
 4. 单击 **开始评估**，即可启动在线评估任务。
 5. 评估完成后，您可以在 **兼容性评估** 页签中查看评估结果。

## 迁移 AWS RDS MySQL 数据至 OB Cloud 云数据库

在兼容性评估完成后，可以开始进行数据迁移。

### 使用限制

- 源端数据库请勿在结构迁移和全量迁移阶段执行库或表结构变更的 DDL 操作，否则可能造成数据迁移任务中断。
 - 数据迁移仅支持迁移库名、表名和列名为 ASCII 码且不包含特殊字符（包括 .|"'`()=;/& 和换行）的对象。
 - 目标端是数据库的情况下，数据迁移不支持目标端存在触发器（Trigger）。如果存在，可能导致数据迁移失败。
 - 请确保源端和目标端数据库的时钟同步。

### 注意事项

- 节点之间的时钟不同步，或者电脑终端和服务器之间的时钟不同步，均可能导致增量同步的延迟时间不准确。例如，如果时钟早于标准时间，可能导致延迟时间为负数。如果时钟晚于标准时间，可能导致延迟。
 - 在未开启 DDL 同步的情况下，如果您变更目标端的唯一索引，需要重新启动数据迁移任务，否则可能存在数据不一致的问题。
 - 请确认数据迁移对 DECIMAL、FLOAT、DATETIME 等列类型的迁移精度是否符合预期。如果目标端字段类型的精度小于源端字段类型的精度，则可能发生截断现象，导致源端和目标端的数据不一致。
 - 如果源端和目标端数据库的 Collation 不同：

     - 可能导致数据同步不一致。例如，源端 utf8mb4_0900_ai_ci Collation 下两条数据 'A' 和 'A ' 将无法全部写入目标端为 utf8mb4_general_ci Collation 的数据库，从而导致数据丢失。
     - 以 VARCHAR 作为主键的表数据校验会不一致。
 - 如果新建数据迁移任务时，您配置了 **全量迁移** + **增量同步**， 数据迁移要求源端数据库的本地增量日志至少保留 7 天以上。否则数据迁移可能因为无法获取增量日志导致数据迁移任务失败，甚至导致源端和目标端数据不一致。

### 数据类型映射

| MySQL 数据库 | OceanBase 数据库 MySQL 兼容模式 |
| --- | --- |
| INTEGER | INTEGER |
| TINYINT | TINYINT |
| MEDIUMINT | MEDIUMINT |
| BIGINT | BIGINT |
| SMALLINT | SMALLINT |
| DECIMAL | DECIMAL |
| NUMERIC | NUMERIC |
| FLOAT | FLOAT |
| REAL | REAL |
| DOUBLE PRECISION | DOUBLE PRECISION |
| BIT | BIT |
| CHAR | CHAR |
| VARCHAR | VARCHAR |
| BINARY | BINARY |
| VARBINARY | VARBINARY |
| BLOB | BLOB |
| TEXT | TEXT |
| ENUM | ENUM |
| SET | SET |
| DATE | DATE |
| DATETIME | DATETIME |
| TIMESTAMP | TIMESTAMP |
| TIME | TIME |
| YEAR | YEAR |

### 操作步骤

#### 数据迁移配置

1. 在数据迁移页面中，单击 **数据迁移** 页签。
 2. 在数据迁移页签下，单击 **新建迁移任务**。
 3. 在编辑任务名称文本框中，输入自定义的迁移任务名称。建议使用中文、数字和字母的组合。名称中不能包含空格，长度不能超过 64 个字符。
 4. 在配置源和目标端页面，配置如下内容。

      1. 在源端区域，单击 **源端** 右侧的 **引用数据源**，从下拉列表中选择目标 AWS RDS 数据源，将自动补全源端数据库的信息。
      2. 在目标端区域，单击 **目标端** 右侧的 **引用数据源**，从下拉列表中选择目标 OB Cloud 云数据库数据源，将自动补全目标端数据库的信息。
 5. 单击 **测试连接并进入下一步**。

   #### 说明

      - 数据迁移首次接入终端节点时，如果测试连接失败，请根据弹出框的提示进行操作。
      - 如果您在创建终端节点服务时，参数 **需要接受以使用终端节点** 选择了 **需要接受**，则数据迁移首次接入私有连接时，会提示您进入 AWS 控制台对收到的终端节点连接请求进行 **接受终端节点连接请求** 操作。
 6. 在选择类型和对象页面，配置如下参数。

      1. 在同步拓扑区域，选择 **单向同步**。
      2. 在迁移类型区域，选择当前数据迁移任务的迁移类型，包括 **结构迁移**、**全量迁移** 和 **增量同步**。

        | **参数** | **描述** |
        | --- | --- |
        | **结构迁移** | 结构迁移需要自行定义字符集的映射关系，数据迁移只会将源库的数据（结构）复制一份至目标数据库，不会对源数据（结构）造成影响。MySQL 数据库至 OceanBase 数据库 MySQL 兼容模式的结构迁移支持自动创建目标端不存在的库。 |
        | **全量迁移** | 全量迁移任务开始后，数据迁移服务会迁移源库表的存量数据至目标端数据库对应的表中。 |
        | **增量同步** | 增量同步任务开始后，数据迁移会同步源端数据库发生变化的数据（新增、修改或删除）至目标端数据库对应的表中。**增量同步** 包括 **DML 同步** 和 **DDL 同步**，您可以根据需求进行自定义配置。详情请参见 [自定义配置 DML/DDL](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000000700021)。 |
      3. 在 **选择迁移对象** 区域，配置选择迁移对象的方式。

        您可以通过 **指定对象** 和 **匹配规则** 两种方式选择迁移对象。
      4. 在 **选择迁移范围** 区域，选择需要迁移的对象。

             - 选择 **指定对象** 时，数据迁移支持 **库表迁移** 和 **整库迁移**。库表迁移支持选择一个或多个库中的表、视图作为迁移对象，整库迁移支持选择整个数据库作为迁移对象。如果某个库选择了库表迁移，则该库不再支持整库迁移。如果某个库选择了整库迁移，则该库不再支持库表迁移。

              选择 **库表迁移** 或 **整库迁移** 方式后，在左侧选中需要迁移的对象，单击 **>**，将其添加至右侧列表中。

              数据迁移支持通过文本导入对象，并支持对目标端对象进行重命名、设置行过滤、查看列信息，以及移除单个或全部迁移对象等操作。

              #### 说明

              当您选择 **整库迁移** 时：

                     - 右侧列表仅展示库名，不支持展示具体的对象。
                     - 如果您选择了 **增量同步**-**DDL 同步** 迁移类型，则源端新增表支持同步至目标端。  

              | **操作** | **描述** |
              | --- | --- |
              | **导入对象** | 在选择区域的右侧列表中，单击右上角的 **导入对象**。详情请参见 [导入迁移对象](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000002399053)。 |
              | **重命名** | 数据迁移支持重命名迁移对象的名称，详情请参见 [数据库库表重命名](https://www.oceanbase.com/docs/common-oceanbase-cloud-0000000002416056)。 |
              | **行过滤** | 数据迁移支持 `WHERE` 条件实现行过滤，详情请参见 [SQL 条件过滤数据](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000000564065)。您还可以在 **查看列** 区域，查看迁移对象的列信息。 |
              | **移除/清除全部** | 数据迁移支持在数据映射时，对暂时选中至目标端的单个或多个对象进行移除操作。        - 移除单个迁移对象           在选择区域的右侧列表中，单击目标对象后的 **移除** 图标，即可移除该迁移对象。       - 移除全部迁移对象           在选择区域的右侧列表中，单击右上角的 **清除全部**。在对话框中，单击 **确定**，即可移除全部迁移对象。 |
             - 选择 **匹配规则**，详情请参见 [配置库到库的匹配规则](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000001760340)。
 7. 单击 **下一步**。在 **迁移选项** 页面，配置如下参数。

      - 全量迁移

       在 **选择类型和对象** 页面，配置如下参数。

       | **参数** | **描述** |
       | --- | --- |
       | **读取并发配置** | 该参数用于配置全量迁移阶段从源端读取数据的并发数，最大限制为 512 并发数过高可能会造成源端压力过大，影响业务。 |
       | **写入并发配置** | 该参数用于配置全量迁移阶段往目标端写入数据的并发数，最大限制为 512。并发数过高可能会造成目标端压力过大，影响业务。 |
       | **全量迁移速率限制** | 您可以根据实际需求决定是否开启全量迁移速率限制。如果开启，请设置 RPS（全量迁移阶段每秒最多可以迁移至目标端的数据行数的最大值限制）和 BPS（全量迁移阶段每秒最多可以迁移至目标端的数据量的最大值限制）。   #### 说明    此处设置的 RPS 和 BPS 仅作为限速限流能力，全量迁移实际可以达到的性能受限于源端、目标端、实例规格配置等因素的影响。 |
       | **目标端表对象存在记录时处理策略** | 处理策略包括 **停止迁移** 和 **忽略**：      - 选择 **停止迁移**，当目标端表对象存在数据时，全量迁移会报错不允许迁移，请处理好目标端数据后再继续迁移。         #### 注意          如果出错后单击恢复，数据迁移将忽略该配置选项，继续迁移表数据，请谨慎操作。     - 选择 **忽略**，当目标端表对象存在数据时，如果原数据与写入数据冲突，数据迁移采用将冲突数据记录日志，保留原数据不变的策略进行数据写入。 |
       | **是否允许索引后置** | 索引后置功能能够缩短全量迁移耗时，您可以在此处设置是否允许全量数据迁移完成后再创建索引。选择索引后置的注意事项，请参见表格下方的说明。   #### 注意       - 在 **选择迁移类型** 页面同时选中 **结构迁移** 和 **全量迁移**，才支持设置该选项。     - 仅非唯一键索引支持后置创建。 |

       允许索引后置的情况下，建议您根据 OceanBase 数据库的硬件条件和当前业务流量情况，通过黑屏客户端工具调整以下业务租户参数。

       ```SQL
       // 文件内存缓冲区限制
       ALTER SYSTEM SET _temporary_file_io_area_size = '10' tenant = 'xxx';
       // OceanBase 数据库 V4.x 关闭限流
       ALTER SYSTEM SET sys_bkgd_net_percentage = 100;  

       ```
      - 增量同步

       在 **选择类型和对象** 页面，选中 **单向同步** > **增量同步**，才会显示下述参数。

       | **参数** | **描述** |
       | --- | --- |
       | **写入并发配置** | 该参数用于配置增量同步阶段往目标端写入数据的并发数，最大限制为 512。并发数过高可能会造成目标端压力过大，影响业务。 |
       | **增量迁移速率限制** | 您可以根据实际需求决定是否开启增量同步速率限制。如果开启，请设置 RPS（增量同步阶段每秒最多可以同步至目标端的数据行数的最大值限制）和 BPS（增量同步阶段每秒最多可以同步至目标端的数据量的最大值限制）。   #### 说明    此处设置的 RPS 和 BPS 仅作为限速限流能力，增量同步实际可以达到的性能受限于源端、目标端、实例规格配置等因素的影响。 |
       | **增量同步起始位点** | - 如果选择迁移类型时已选择 **全量迁移**，则不显示该参数。     - 如果选择迁移类型时未选择 **全量迁移**，但选择了 **增量同步**，请在此处指定迁移某个时间节点之后的数据，默认为当前系统时间。详情请参见 [设置增量同步位点](https://www.oceanbase.com/docs/common-oceanbase-cloud-0000000002416057)。 |
       | **定时推进 Binlog 位点** | 如果开启该功能，您需要配置频率。支持配置的频率范围为 1~60，单位为秒。   配置完成后，数据迁移会在增量同步阶段根据您配置的频率，定期在 MySQL 源数据库执行 `CREATE DATABASE IF NOT EXISTS test` 命令，以推进 Binlog 位点。 |
       | **适配 Online DDL 工具** | 开启该功能后，数据库使用 Online DDL 工具执行无锁结构变更，数据迁移将过滤临时表对象，以提升数据迁移任务的稳定性。详情请参见 [适配 Online DDL 工具介绍](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000003908138)。   #### 说明    目前适配 Online DDL 工具仅支持源端为 MySQL 数据库，且使用阿里云 DMS、gh-ost 或 pt-osc 进行无锁结构变更操作的场景。 |
      - 高级选项

       当目标端 OceanBase 数据库 MySQL 兼容模式为 V4.3.0 及之后版本，并且在 **选择类型和对象** 页面，选中 **结构迁移** 或 **增量同步** > **DDL 同步**，才会显示该区域的参数。

       目标端表对象存储类型包括 **默认**、**行存**、**列存** 和 **行列混存**，该配置用于确定结构迁移或增量同步时目标端表对象的存储类型。

       #### 说明

       **默认** 选项是根据目标端参数配置自适应其他选项，是结构迁移的表对象或增量 DDL 的新增表对象根据设置的存储类型写对应的结构。
 8. 单击 **预检查**，系统对数据迁移任务进行预检查。

   在预检查环节，数据迁移会检查数据库用户的读写权限、数据库的网络连接等是否符合要求。全部检查任务均通过后才能启动数据迁移任务。如果预检查报错：

      - 您可以排查并处理问题后，重新执行预检查，直至预检查成功。
      - 您也可以单击失败预检查项操作列中的 **跳过**，会弹出对话框提示您跳过本操作的具体影响，确认可以跳过后，请单击对话框中的 **确定**。
 9. 预检查成功后，单击 **购买**，前往 **购买数据迁移实例** 页面进行购买。

#### 数据迁移实例购买

1. 在 **购买数据迁移实例** 页面，确认 **迁移任务信息**，并在 **实例配置** 区域，选择需要的 **规格**。

   不同的实例规格对应了增量同步的不同 RPS 性能表现，以及建议迁移的最大表对象数量，详情请参见 [数据迁移规格说明](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000002399050)。数据迁移服务的定价和计费说明请参见 [数据迁移计费说明](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000002908888)。
 2. 在 **购买数据迁移实例** 页面右侧的 **配置概览** 区域，勾选 **我已阅读并同意 OB Cloud 云数据库服务协议、OB Cloud 数据迁移服务等级协议**。
 3. 单击 **确认下单**，等待实例购买成功跳转至数据迁移任务的详情页面。
 4. 如果您在新建数据迁移任务时，选择购买后直接启动任务，则该任务处于 **运行中** 状态。
 5. 待数据迁移任务完成。

## 数据检验

当数据迁移任务完成后，可以通过数据校验验证数据迁移的正确性。

### 新建数据校验任务

1. 进入新建数据校验任务页面。

      1. 登录 [OB Cloud 云数据库控制台](https://console-cn.oceanbase.com/)。
      2. 在左侧导航栏，单击 **数据服务** > **数据校验**。
      3. 在 **数据校验** 页面，单击右上角的 **新建校验任务**。
 2. 在编辑任务名称文本框中，输入自定义的校验任务名称。

   建议使用中文、数字和字母的组合。名称中不能包含空格，长度不能超过 64 个字符。
 3. 在配置源和目标端步骤，单击 **源端** 右侧的 **引用数据源**，从下拉列表中选择数据迁移的源端数据源，选择完成后，源端区域的各项配置会自动填充；单击 **目标端** 右侧的 **引用数据源**，从下拉列表中选择数据迁移的目标端数据源，选择完成后，目标端区域的各项配置会自动填充。
 4. 单击 **测试连接并进入下一步**。
 5. 在 **选择类型和对象** 步骤，选择当前数据校验任务的校验类型。

   目前支持的校验类型包括 **全量校验** 和 **行数校验**，详情请参见 [数据校验概述](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000004996031)。
 6. 在 **校验对象** 区域，配置选择校验对象的方式。

   您可以通过 **指定对象** 和 **匹配规则** 两种方式选择校验对象。
 7. 在 **选择对象** 区域，选择需要校验的对象。

   #### 说明

   目前仅支持选择表作为校验对象。

      - 选择 **指定对象** 时，在左侧选中需要校验的表对象，单击 **>**，将其添加至右侧列表中。

       数据校验支持通过文本导入对象，并支持对目标端对象进行重命名、设置行过滤、查看列信息，以及移除单个或全部校验对象等操作。

       | **操作** | **描述** |
       | --- | --- |
       | **导入对象** | 在选择区域的右侧列表中，单击右上角的 **导入对象**。详情请参见 [导入校验对象](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000004996040)。 |
       | **重命名** | 数据校验支持重命名校验对象的名称，详情请参见 [重命名校验对象](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000004996041)。 |
       | **行过滤** | **全量校验** 支持 `WHERE` 条件实现行过滤，详情请参见 [SQL 条件过滤校验对象](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000004996042)。您还可以在 **查看列** 区域，查看校验对象的列信息。 |
       | **移除/清除全部** | 数据校验支持在数据映射时，对暂时选中至目标端的单个或多个对象进行移除操作。      - 移除单个迁移对象         在选择区域的右侧列表中，单击目标对象后的 **移除** 图标，即可移除该迁移对象。     - 移除全部迁移对象         在选择区域的右侧列表中，单击右上角的 **清除全部**。在对话框中，单击 **确定**，即可移除全部迁移对象。 |
      - 选择 **匹配规则**，详情请参见 [配置校验对象的匹配规则](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000004996043)。
 8. 单击 **下一步**，在 **校验选项** 步骤，配置各项参数。

      - 全量校验

       在 **选择类型和对象** 步骤，选中 **全量校验**，才会显示下述参数。

       | **参数** | **描述** |
       | --- | --- |
       | **源端并发配置/目标端并发配置** | 最小值为 1，最大值为 512，默认值为 4。 |
       | **校验模式** | 包括 **自适应** 和 **IN 模式**。      - **自适应**：分批从源端、目标端获取相同范围内数据，对其进行精确对比。     - **IN 模式**：分批从源端获取指定范围内的数据，根据目标端数据的唯一键，在目标端以 IN 条件查询，对比两端数据是否一致。请注意该模式无法校验目标端存在源端没有的数据的场景，并且校验性能存在一定程度降级。建议仅当目标端存在预期内的多余数据无需进行校验，或库表汇聚的迁移场景时使用。 |
       | **是否限制 BPS 速率** | 单位为 MiB/s，最大值为 1024。如果您开启该按钮，请至少选择源端或目标端其中一项最低速率。 |
      - 行数校验

       在 **选择类型和对象** 步骤，选中 **行数校验**，才会显示下述参数。

       | **参数** | **描述** |
       | --- | --- |
       | **并发校验表数** | 最小值为 1，最大值为 100，默认值为 10。该配置对源端和目标端均生效。 |
       | **查询超时时间** | 单位为分钟，最小值为 1，最大值为 1440，默认值为 10。该配置对源端和目标端均生效。 |
 9. 单击 **下一步**，系统对数据校验任务进行预检查。
 10. 预检查成功后，单击 **启动任务**。

    如果您暂时无需启动任务，请单击 **保存**，跳转至数据校验任务的详情页面，您可以根据需要进行手动启动。详情请参见 [查看数据校验任务的详情](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000004996033)。

### 查看数据校验结果

1. 登录 [OB Cloud 云数据库控制台](https://console-cn.oceanbase.com/)。
 2. 在左侧导航栏，单击 **数据服务** > **数据校验**。
 3. 在数据校验列表中，查看数据校验任务执行状态。待目标任务状态为 **已完成** 后，单击目标任务名称。
 4. 在数据校验任务详情页中， 查看数据校验任务的执行情况。

      - **基本信息**：展示当前数据校验任务相关的基本信息。
      - **校验详情**：展示当前任务的预检查任务状态、结果，以及相应校验类型的校验状态和结果等信息。

## 总结

在数据校验结果中确认双端数据校验结果一致，说明迁移任务已全部完成。

 上一篇 下一篇 ![有帮助](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) 咨询热线
