---
title: "数据迁移概述 - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: 数据迁移概述 数据迁移指将数据从源系统搬迁至 OceanBase，用于库替换、版本升级、数仓集成等。 迁移阶段 数据迁移通常按“数据结构 → 全量数据 → 增量数据”的顺序规划（实际可部分重叠，以工具与窗口为准）： 阶段 目标 常见方式 典型工具/方式 结构迁移 目标库具备与业务一致的 库表、索引、约束 （及必要的分…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.6.0

# 数据迁移概述

更新时间：2026-06-18 10:13:18

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/620.obap/300.obap-data-transfer/200.data-migration/100.ap-data-migration-overview.md)  

数据迁移指将数据从源系统搬迁至 OceanBase，用于库替换、版本升级、数仓集成等。

## 迁移阶段

数据迁移通常按“数据结构 → 全量数据 → 增量数据”的顺序规划（实际可部分重叠，以工具与窗口为准）：

| 阶段 | 目标 | 常见方式 | 典型工具/方式 |
| --- | --- | --- | --- |
| **结构迁移** | 目标库具备与业务一致的 **库表、索引、约束**（及必要的分区策略） | DDL 转换、数据类型与字符集映射、不兼容语法改写 | **OMS**（对象同步）、**DBCAT**（表结构）、手工 DDL |
| **全量迁移** | 在约定时间点前完成 **历史数据基线** | 批量导出导入、并行切分、旁路导入 | **OMS**、**obloader** + **旁路**、**DataX**、**MyDumper** + 导入、[LOAD DATA（MySQL 模式）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005686093) / [LOAD DATA（Oracle 模式）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005687586) |
| **增量迁移** | 全量完成后 **持续同步变更**，直至割接或长期双活 | 日志解析（Binlog/Redo 等）、追延迟、冲突与回灌策略 | **OMS**、**Canal**、**Flink CDC** 等 |

**说明**：AP 侧若主要消费 **文件/离线数仓**，常见路径是 **结构提前对齐** 以及 **全量文件入 OceanBase**；是否单独跑**增量**取决于是否需要持续对齐，详见 [数据订阅概述](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000006277730) 与 [数据同步概述](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000006277729)。

## 异构数据库迁移

### 迁移场景

异构数据迁移主要适用于以下场景：

- **数据库升级或替换**：将现有数据库系统迁移到 OceanBase，以获得更好的性能、扩展性或成本效益。
 - **数据整合**：将多个不同数据库系统的数据整合到统一的 OceanBase 平台。
 - **架构升级**：将传统数据库迁移到分布式数据库架构。

在这类数据迁移场景中，需要关注：

- **Schema 与数据类型映射**：需要精确定义源端和目标端（OceanBase）之间的数据结构和类型映射规则。
 - **性能优化**：针对海量数据的迁移，采用高效的迁移策略，如并行处理、分片迁移和批量加载，以缩短迁移窗口。
 - **数据一致性校验**：在迁移完成后，需通过哈希校验、抽样对比或全量对比等方法，确保数据的完整性和准确性。

#### MySQL 迁入 OceanBase

| 方式 | 参考文档 |
| --- | --- |
| OMS | [使用 OMS 迁移 MySQL 数据库到 OceanBase 数据库（MySQL 兼容模式租户）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682289) |
| MyDumper | [使用 MyDumper 迁移 MySQL 数据库到 OceanBase 数据库](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682288) |
| DBCAT（表结构） | [使用 DBCAT 迁移 MySQL 数据库表结构到 OceanBase 数据库](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682283) |
| DataX | [使用 DataX 迁移 MySQL 数据库到 OceanBase 数据库](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682287) |
| CloudCanal | [使用 CloudCanal 迁移 MySQL 数据库到 OceanBase 数据库](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682286) |
| Canal | [使用 Canal 迁移 MySQL 数据库到 OceanBase 数据库](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682284) |
| Flink CDC | [使用 Flink CDC 迁移 MySQL 数据库到 OceanBase 数据库](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682282) |
| ChunJun | [使用 ChunJun 迁移 MySQL 数据库到 OceanBase 数据库](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682285) |

#### Oracle 迁入 OceanBase

| 方式 | 参考文档 |
| --- | --- |
| OMS（MySQL 兼容模式租户） | [使用 OMS 迁移 Oracle 数据库到 OceanBase 数据库（MySQL 兼容模式租户）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682257) |
| OMS（Oracle 兼容模式租户） | [使用 OMS 迁移 Oracle 数据库到 OceanBase 数据库（Oracle 兼容模式租户）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682259) |
| DBCAT | [使用 DBCAT 迁移 Oracle 数据库到 OceanBase 数据库](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682258) |
| DataX | [使用 DataX 迁移 Oracle 数据库到 OceanBase 数据库](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682260) |

#### 其它数据源 迁入 OceanBase

| 数据源 | 参考文档 |
| --- | --- |
| PostgreSQL | [使用 OMS 迁移 PostgreSQL 数据库到 OceanBase 数据库（MySQL 兼容模式租户）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682261) |
| DB2 LUW（MySQL 兼容模式租户） | [使用 OMS 迁移 DB2 LUW 数据库到 OceanBase 数据库（MySQL 兼容模式租户）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682264) |
| DB2 LUW（Oracle 兼容模式租户） | [使用 OMS 迁移 DB2 LUW 数据库到 OceanBase 数据库（Oracle 兼容模式租户）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682266) |
| DB2 LUW（表结构） | [使用 DBCAT 迁移 DB2 LUW 表结构到 OceanBase 数据库](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682265) |
| TiDB | [使用 OMS 迁移 TiDB 数据库到 OceanBase 数据库（MySQL 兼容模式租户）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682281) |

## 同构数据库迁移

### 迁移场景

同构数据迁移主要适用于以下场景：

- **版本升级**：将数据从旧版本的 OceanBase 集群迁移至新版本，以获取新功能或提升性能。
 - **TP 数据库与 AP 数据库间迁移**：将数据从 OceanBase 事务型（TP）数据库迁移至分析型（AP）数据库，以支持实时分析或 BI 应用等。

由于源端和目标端均为 OceanBase，此类迁移通常无需进行数据格式转换，但仍需关注：

- **迁移期间的数据一致性**：通过事务日志或快照机制保证迁移过程中数据的一致性。
 - **停机时间控制**：根据业务对 RTO/RPO 的要求，选择合适的迁移方案以最小化或避免业务中断。
 - **版本兼容性**：在跨版本迁移时，需注意不同版本间 SQL 语法、系统参数或内部实现的细微差异。

### OceanBase 租户间迁移

| 场景 | 参考文档 |
| --- | --- |
| MySQL 兼容模式租户到 MySQL 兼容模式租户 | - [使用 OceanBase 导数工具在 OceanBase 集群 MySQL 兼容模式租户间迁移数据](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682249) - [使用 OMS 从 OceanBase 数据库迁移数据到 OceanBase 数据库同类型租户](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682253) - [使用 OMS 创建 OceanBase 数据库同类型租户容灾双活项目](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682252) |
| MySQL 兼容模式租户到 Oracle 兼容模式租户 | - [使用 OceanBase 导数工具从 OceanBase 集群 MySQL 兼容模式租户迁移数据到 Oracle 兼容模式租户](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682254) |
| Oracle 兼容模式租户到 Oracle 兼容模式租户 | - [使用 OceanBase 导数工具在 OceanBase 集群 Oracle 兼容模式租户间迁移数据](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682251) - [使用 OMS 从 OceanBase 数据库迁移数据到 OceanBase 数据库同类型租户](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682253) - [使用 OMS 创建 OceanBase 数据库同类型租户容灾双活项目](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682252) |
| Oracle 兼容模式租户到 MySQL 兼容模式租户 | - [使用 OceanBase 导数工具从 OceanBase 集群 Oracle 兼容模式租户迁移数据到 MySQL 兼容模式租户](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682250) |

## 大数据生态集成

### 迁移场景

- **离线数仓数据需要同步到实时分析系统**：将 Hive、Spark 等离线数仓中的数据同步到实时数据处理平台（如 Flink、Kafka），以支持实时数据处理和流式分析。
 - **离线数据需归档到长期存储**：将离线数仓中的历史数据归档到长期存储（如云对象存储 S3、阿里云 OSS），以降低存储成本并满足数据保留策略。
 - **离线数据需要导入 OceanBase 数据库**：将 Hive 等离线数仓中的数据迁移或同步到 OceanBase，以支持统一分析、数据服务或与业务数据联动。

- **源数据格式与目标表适配**：源文件格式（如 CSV、Parquet、ORC）与 OceanBase 目标表的列类型、精度、时间格式、分区字段等是否一致；必要时在建表或导入阶段完成字段映射与类型转换。
 - **海量数据的高效传输**：使用 DistCp 等分布式工具，通过并行处理和网络优化来提升传输效率。
 - **元数据与表结构对齐**：确保源端表定义、分区信息、Schema 等与 OceanBase AP 目标表（列名、类型、分区策略）一致，避免仅迁移数据而目标表结构不匹配。

| 数据源 | 文档 |
| --- | --- |
| Hive | [使用 OMS 社区版迁移 Hive](https://www.oceanbase.com/docs/community-oms-cn-1000000002947290)、[使用 obloader 迁移 Hive](https://www.oceanbase.com/docs/common-oceanbase-dumper-loader-1000000002781921) |
| HBase | [使用 OMS 社区版迁移 HBase](https://www.oceanbase.com/docs/community-oms-cn-1000000002947280) |
| ORC/Parquet/CSV 文件 | [使用 obloader 进行 ORC/Parquet/CSV 文件迁移](https://www.oceanbase.com/docs/common-oceanbase-dumper-loader-1000000002781920) |
| AnalyticDB MySQL（阿里云） | [迁移 AnalyticDB MySQL 的数据至 OceanBase 数据库 MySQL 租户](https://help.aliyun.com/document_detail/2857847.html?spm=a2c4g.11186623.help-menu-26458.d_2_4_3_15.5c366dc51jOLZJ&scm=20140722.H_2857847._.OR_help-T_cn~zh-V_1) |

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