---
title: "使用限制 | OceanBase 文档中心"
description: 使用限制 本文为您介绍 OceanBase 迁移服务（OceanBase Migration Service，OMS）数据迁移和数据同步功能的使用限制。 版本限制 数据同步和数据迁移功能中，OceanBase 数据库、其它数据库或终端的适用版本如下。 分类 数据迁移 数据同步 OceanBase 数据库 V1.4.7…
---
切换语言

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

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

# 使用限制

更新时间：2023-06-08 10:49:21

本文为您介绍 OceanBase 迁移服务（OceanBase Migration Service，OMS）数据迁移和数据同步功能的使用限制。

## 版本限制

- 数据同步和数据迁移功能中，OceanBase 数据库、其它数据库或终端的适用版本如下。

  | 分类 | 数据迁移 | 数据同步 |
  | --- | --- | --- |
  | OceanBase 数据库 | V1.4.72、V1.4.78、V1.4.79、V2.1.1、V2.2.20、V2.2.30、V2.2.50、V2.2.52、V2.2.70、V2.2.72、V2.2.74、V2.2.75、V2.2.76、V2.2.76BP1、V2.2.77、V3.1.0 | V1.4.79、V2.2.20、V2.2.30、V2.2.50、V2.2.52、V2.2.70、V2.2.72、V2.2.74、V2.2.75、V2.2.76、V2.2.76BP1、V2.2.77、V3.1.0 |
  | 其它数据库或终端 | - MySQL：V5.6、V5.7   - MariaDB：V10.2   - Oracle：11G/12C/18C/19C | - Kafka：V0.9、V2.1   - RocketMQ：V4.7.1   - Sybase ASE：V12.5   - Oracle：11G/12C/18C/19C |
 - OceanBase 云平台的适用版本如下：

     - V2.5.X
     - V2.4.X
     - V2.3.X

## 数据迁移

在 MySQL 数据库迁移至 OceanBase MySQL 数据库场景中，您需要注意以下使用限制。

| **使用限制** | **影响** |
| --- | --- |
| MySQL 数据库宿主机需要具备足够的出口带宽。 | 如果未具备足够的出口带宽，会影响日志解析和数据迁移速度，可能导致同步延迟增大。 |
| 仅支持 MySQL InnoDB 存储引擎。 | 其它类型引擎无法使用数据迁移功能。 |
| 增量同步不支持 DDL 自动同步。 | 数据迁移过程中，增量同步环节可能会由于 DDL 操作而中断。 |
| 如果需要进行 **增量数据迁移**，MySQL 源端需要开启 Binlog 并满足以下要求： *binlog_format 设置为 row。* binlog_row_image 设置为 full。 | OMS 将在预检查阶段报错并进行提示，您无法成功启动数据迁移任务。 |
| 如果需要进行 **增量数据迁移**，MySQL Binlog 日志保留时长不得小于 24 小时。 | 增量数据迁移可能由于 Binlog 的缺失，导致链路中断且无法恢复。 |
| 不支持 MySQL 源端的 Cascade 外键迁移。 | 存在 Cascade 外键的迁移任务会失败。 |

在 Oracle 数据库迁移至 OceanBase Oracle 数据库场景中，您需要注意以下使用限制。

| 使用限制 | 影响 |
| --- | --- |
| Oracle 源端暂不支持使用 `empty_clob()` 函数的表进行增量同步。 | 预检查不会拦截，增量同步有异常风险。 |
| 目标端 OceanBase 数据库的版本小于 V2.2.70 时，切换流程补充外键、Check 等对象有不兼容的风险。 | Oracle 源端的外键、Check 约束可能会无法在 OceanBase 数据库创建。 |
| LOB 字段迁移限制。 | 源端的 LOB 字段过大，会导致无法在 OceanBase 数据库存储，造成数据同步异常。 |
| 字符编码与反向同步限制： 当源端和目标端的字符编码配置不同时，结构迁移会提供字段长度定义扩大的策略。例如字段长度 1.5 倍扩大，长度单位从 BYTE 转为 CHAR 等。 转换后可以保证源端不同字符集中的数据能成功迁移至目标端，但割接后反向增量同步可能会出现数据超长无法写回源端的问题。 | 业务数据在割接后向目标端写入，无法回流至源端。 |

## 数据同步

- 在 OceanBase 数据库和自建 Kafka 的实时数据同步场景中，您需要注意以下使用限制。

  | 使用限制 | 影响 |
  | --- | --- |
  | OceanBase 数据库宿主机需要具备足够的出口宽带。 | 如果未具备足够的出口宽带，会影响日志解析和数据迁移速度，可能导致同步延迟增大。 |
  | OceanBase 的 MySQL 租户作为数据同步任务的源端时，管理控制台暂不支持无主键表。 | OceanBase 的 MySQL 租户的无主键表暂不支持实时同步。 |
 - 在 Sybase 数据库和 RocketMQ 的实时数据同步场景中，您需要注意以下使用限制。

  | 使用限制 | 影响 |
  | --- | --- |
  | Sybase 表类型的限制：暂不支持无主键表、分区表的实时数据同步。 | Sybase 的无主键表和分区表无法创建实时同步任务。 |
  | Sybase 支持的数据类型为：`CHAR`、`NUMERIC`、`INT`、`DATETIME`、`VARCHAR`、`DECIMAL`、`SMALLINT`、`TINYINT`、`BIT`、`BINARY`、`REAL`、`NVARCHAR` 和 `FLOAT`。 | Sybase 包含其它数据类型的数据表，无法作为同步对象。 |
 - 在 Oracle 数据库和 DataHub 的实时数据同步场景中，您需要注意以下使用限制：

     - Oracle 的无主键表必须设置 **分片列**，才能正常同步至 DataHub。
     - 如果 Oracle 使用生成列，OMS 当前不会解析生成列的实际数值。同步至 DataHub 时，对应的值为 NULL。
     - 如果 Oracle 使用了 `CLOB`、`BLOB`、`RAW` 和 `LONG RAW` 等数据类型，涉及这些字段的 `INSERT` 操作会在 DataHub 接收到 `INSERT` 和 `UPDATE` 消息。
     - 当一条链路意外中断进行断点续传时，可能会存在部分重复数据（最近一分钟内），需要下游具备排重能力。
 - 在 MySQL 数据库和 DataHub 的实时数据同步场景中，您需要注意以下使用限制：

  MySQL 的无主键表必须设置 **分片列**，才能正常同步至 DataHub。
 - 在 OceanBase MySQL 租户和 DataHub 的实时数据同步场景中，您需要注意以下使用限制：

     - 暂不支持 OB_MySQL 无主键表至 DataHub 的全量数据同步。
     - 当一条链路意外中断进行断点续传时，可能会存在部分重复数据（最近一分钟内），需要下游具备排重能力。
     - DataHub 官方限制一条消息具体的大小根据云环境而定，通常为 1 MB。
     - 由于是攒批发送，DataHub 限制一次只能发送 4 MB 的消息。如果单条消息满足可发送的前提，您可以通过更改 Connector Sink 端的配置项 `batch.size` 来设置攒批大小，默认为 20 条消息攒批发送（时间窗口一秒内）。
 - 数据库至 Kafka、RocketMQ 的单个同步任务，建议不超过 2000 张数据表，否则可能导致同步性能下降。
 - 暂不支持创建同步至相同的 Kafka 或 RocketMQ 实例、仅 Topic 名称大小写不同的同步任务。
 - 由 OMS V2.0.0 升级至 OMS V2.1.0 及以上的版本，您在 OMS V2.0.0 中创建的同步项目不支持使用修改同步对象功能。
 - 数据库至 RocketMQ 单条消息内容的大小不能超过 4 MB。

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