一、前期准备
- 购买数据迁移任务:
- 登录OceanBase管理控制台,购买数据迁移任务。
- 权限设置:
- 数据传输已具备云资源访问权限。
- 为源端PolarDB-O数据库创建专用于数据迁移任务的高权限账号。
- 为目标端OceanBase数据库Oracle租户创建专用于数据迁移任务的数据库用户,并为其赋予相关权限。
- 注意事项:
- 请勿在结构迁移和全量迁移阶段执行库或表结构变更的DDL操作,否则可能造成数据迁移任务中断。
- 目前支持的PolarDB-O数据库版本为V1.x和V2.x。
- 目标端是数据库的情况下,数据传输不支持目标端存在触发器(Trigger),如果存在触发器,可能导致数据迁移失败。
- 数据传输仅支持迁移库名、表名和列名为ASCII码且不包含特殊字符(包括换行、空格,以及.|"'`()=;/&)的对象。
- 当源端为PolarDB-O数据库V1.0时,请勿添加包含生成列的表作为增量同步的对象,否则会因为无法解析生成列的结构信息、无法获取生成列的数据信息而导致增量数据解析失败,造成增量同步任务异常的问题。
- 当PolarDB-O数据库存在全局临时表时,数据传输服务无法识别该表类型,结构迁移、全量迁移将作为普通表迁移,并且会导致增量同步丢失对应表数据。
- 源端请勿执行对数据库对象(表、索引和列)增加双引号的DDL,否则会导致目标端可能存在DDL或对应对象后续DML执行失败导致任务中断的问题。
- 如果源端字符集为UTF-8,建议目标端使用兼容源端的字符集(例如,UTF-8、UTF-16等),避免因字符集不兼容导致目标端出现乱码等问题。
- 请确认数据传输对DECIMAL、FLOAT或DOUBLE等列类型的迁移精度是否符合预期。如果目标端字段类型的精度小于源端字段类型的精度,则可能发生截断现象,导致源端和目标端的数据不一致。
- 如果您变更目标端的唯一索引,需要重启数据迁移任务,否则可能存在数据不一致的问题。
- 节点之间的时钟不同步,或者电脑终端和服务器之间的时钟不同步,均可能导致延迟时间(增量同步/反向增量)不准确。
二、数据迁移步骤
- 配置数据迁移任务:
- 在数据传输>数据迁移页面,单击新购买的数据迁移任务后的“配置”。
- 如果您需要引用已有的任务配置信息,可以单击“引用配置”。
- 选择源和目标:
- 配置源端为PolarDB-O数据库,目标端为OceanBase数据库Oracle租户。
- 选择相应的实例和数据库用户。
- 选择迁移类型:
- 迁移类型包括结构迁移、全量迁移、增量同步、全量校验和反向增量。
- 根据实际需求选择合适的迁移类型。
- 选择迁移对象:
- 可以通过指定对象和匹配规则两个入口选择迁移对象。
- 待迁移的表名和其中的列名不能包含中文字符。
- 当数据库的库名或表名存在“$$”字符时,会影响数据迁移任务的创建。
- 如果您在选择迁移类型步骤已勾选DDL同步,建议通过匹配规则方式选择迁移对象,以确保所有符合迁移对象规则的新增对象都将被同步。
- 如果您通过指定对象方式选择迁移对象,则新增对象或重命名后的对象将不会被同步。
- 配置迁移选项:
- 根据选择的迁移类型配置相应的参数。
- 如允许索引后置、V4.x关闭限流等。
- 预检查:
- 系统对数据迁移任务进行预检查,检查数据库用户的读写权限、数据库的网络连接等是否符合要求。
- 全部检查任务均通过后才能启动数据迁移任务。
- 启动任务:
- 预检查成功后,单击“启动任务”开始数据迁移。
三、后续操作
- 监控任务进度:
- 在数据迁移任务列表页面监控任务进度和状态。
- 处理异常:
- 如遇异常或任务失败,根据错误信息进行排查和处理。
- 必要时重启数据迁移任务。
- 验证数据一致性:
- 数据迁移完成后,验证源端和目标端的数据是否一致。
通过以上步骤,您可以将PolarDB-O数据库的数据迁移至OceanBase数据库的Oracle租户。在迁移过程中,请务必注意各项限制和注意事项,以确保迁移任务的顺利进行和数据的一致性。