阿里云首页 云数据库 OceanBase

概述

OceanBase 迁移服务(OceanBase Migration Service,OMS)支持迁移多种类型的关系型数据库的数据至 OceanBase 数据库。本文为您介绍 OMS 支持的数据库、迁移类型,以及 MySQL 数据库和 Oracle 数据库的用户权限。

说明

暂不支持迁移 Oracle 源至 MySQL 租户,以及迁移 MySQL 源到 Oracle 租户。

支持的数据库

源端数据库

目标数据库

结构迁移

全量迁移

增量同步

全量校验

RDS MySQL 5.6、5.7 和 8.0 版本

OceanBase MySQL

支持

支持

支持

支持

自建 MySQL 5.6、5.7 和 8.0 版本

支持

支持

支持

支持

自建 Oracle

11gR2 版本

OceanBase Oracle

支持

支持

支持

支持

支持的迁移类型

迁移类型

描述

结构迁移

负责迁移源库中的数据对象定义(表、索引、约束、注释和视图等)至 OceanBase 目标库中,会自动过滤临时表。

当源端数据库非 OceanBase 时,会依据目标 OceanBase 租户类型的语法定义标准进行数据类型和 SQL 语法的自动转换和拼装,然后复制至 OceanBase 目标库中。

MySQL 数据库仅支持迁移表,Oracle 数据库支持迁移表和视图。

全量迁移

迁移源库表的存量数据至 OceanBase 库对应的表中。当源库不断有业务写入时,OMS 会在全量数据迁移启动前,启动增量拉取模块,以拉取源实例中的增量更新数据,对其进行解析、封装,并存储至 OMS 中。

全量迁移加上增量迁移,可以确保目标端数据库与源端数据库的最终一致性。

增量迁移

全量迁移任务开始后,会同步源库发生变化的数据(新增、修改或删除)至 OCeanBase 数据库对应的表中。

当全量数据迁移完成后,OMS 会启动增量数据回放模块,从增量数据拉取模块中获取增量数据。增量数据经过过滤、映射和转换后,再同步至目标实例中。

全量校验

在全量数据迁移完成,增量数据迁移至目标端并与源端基本追平后,OMS 会自动发起一轮针对源库配置的数据表和目标表的全量数据校检任务。

增量数据同步过程中,您也可以发起自定义的数据校检,OMS 会提供相应的接口。

针对校检出不一致的数据,OMS 会提供以源端为基准,在目标端进行订正操作的 SQL 脚本。

正向切换

启动正向切换前,请确保源端数据源为即将停写或已经停写状态。正向切换的流程如下:

  1. 启动同步切换

    该步骤不会停止链路,仅确认即将开始执行切换流程。

  2. 切换预检查

    检查当前数据迁移项目状态是否具备切换条件。

  3. 确认源端停写

    目的是确认源端无增量数据产生。

  4. 确认同步追平停写位点

    OMS 自动检查源端和目标端处于一致位点。

  5. 停止正向同步

    停止源端至目标端的增量迁移。

  6. 完成数据库对象迁移

    删除数据迁移附加对象并补充执行未迁移的数据库对象。

数据库用户权限

数据库

结构迁移

全量迁移

增量同步

RDS MySQL 数据库

待迁移对象的读权限。

待迁移对象的读权限。

待迁移对象的读权限。

OceanBase 数据库 MySQL 租户

对业务数据库具备创建表、创建索引和创建约束的权限。

对业务数据库具备INSERT权限。

对业务数据库具备INSERT、UPDATE、DELETE权限。

自建 Oracle 数据库

Schema 的 Owner 权限。

Schema 的 Owner 权限。

Schema 的 Owner 权限。

OceanBase 数据库 Oracle 租户

对业务数据库具备创建表、索引和约束的权限。

对业务数据库具备 INSERT 权限。

对业务数据库具备 INSERT、UPDATE 和 DELETE 权限。