首批通过分布式安全可靠测评,为关键业务系统打造
概述
更新时间:2023-06-25 10:19:11
OceanBase 迁移服务(OceanBase Migration Service,OMS)支持数据迁移功能,您可以通过该功能实时迁移其它数据源的数据至 OceanBase 数据库。
背景信息
数据迁移支持在线迁移,OMS 部署服务器需要能够同时与源实例和目标实例保持网络连通,您只需要配置好待迁移的源端数据源和目标数据源,选择需要迁移的对象后,即可启动数据迁移任务。
OMS 自动执行数据迁移任务的全部流程,成功复制源端数据库(数据表)中的数据库对象、存量数据或增量数据至目标端数据库(数据表),并确保源库至目标库的实时增量同步。
支持的数据源
OMS 为您提供在线迁移数据和实时同步增量数据的功能,支持迁移 MySQL 数据库的数据至 OceanBase MySQL 数据库、迁移 Oracle 数据库的数据至 OceanBase Oracle 数据库。
下表为您罗列 OMS 支持的数据源类型和迁移类型。
| 源端数据库 | 目标数据库 | 结构迁移 | 全量迁移 | 增量迁移 | 全量校验 | 正向切换 | 反向增量 |
|---|---|---|---|---|---|---|---|
| MySQL | OceanBase MySQL | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| Oracle | OceanBase Oracle | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
说明
数据源版本限制请参见 使用限制。
OMS V1.4.4 版本支持更多可以迁移的数据库类型。详情请查看 OMS V1.4.4 版本的产品文档。
支持的迁移类型
数据迁移项目每种迁移类型的具体操作请参见 从 Oracle 迁移数据至 OceanBase Oracle。
| 迁移类型 | 描述 |
|---|---|
| 结构迁移 | 负责迁移源库中的数据对象定义(表、索引、约束、注释和视图等)至 OceanBase 目标库中,会自动过滤临时表。 当源端数据库非 OceanBase 时,会依据目标 OceanBase 租户类型的语法定义标准进行数据类型和 SQL 语法的自动转换和拼装,然后复制至 OceanBase 目标库中。 |
| 全量迁移 | 迁移源库表的存量数据至 OceanBase 库对应的表中。当源库不断有业务写入时,OMS 会在全量数据迁移启动前,启动增量拉取模块,以拉取源实例中的增量更新数据,对其进行解析、封装,并存储至 OMS 中。 全量迁移加上增量迁移,可以确保目标端数据库与源端数据库的最终一致性。 |
| 增量迁移 | 全量迁移任务开始后,会同步源库发生变化的数据(新增、修改或删除)至 OCeanBase 数据库对应的表中。 当全量数据迁移完成后,OMS 会启动增量数据回放模块,从增量数据拉取模块中获取增量数据。增量数据经过过滤、映射和转换后,再同步至目标实例中。 |
| 全量校验 | 在全量数据迁移完成,增量数据迁移至目标端并与源端基本追平后,OMS 会自动发起一轮针对源库配置的数据表和目标表的全量数据校检任务。 增量数据同步过程中,您也可以发起自定义的数据校检。 针对校检出不一致的数据,OMS 会提供以源端为基准,在目标端进行订正操作的 SQL 脚本。 |
| 正向切换 | 启动正向切换前,请确保源端数据源为即将停写或已经停写状态。正向切换的流程如下: 1. 启动同步切换 2. 切换预检查 3. 启动目标端 Store 4. 确认源端停写 5. 确认同步追平停写位点 6. 停止正向同步 7. 执行数据库对象 8. 启动反向同步 |
| 反向增量 | 迁移完成后,针对于业务割接场景,可以引导用户在业务数据库完成切换前在 OMS 上启动目标库至源库(即反向)的增量同步链路,实时回流业务切换后在 OceanBase 数据库产生的变更数据至源业务数据库。 您可以在页面查看反向同步性能,包括:
|