-
环境检查:
- 确保RDS PostgreSQL实例的版本为V11.x或V12.x,因为OceanBase数据迁移服务目前仅支持这两个版本。
- 检查OceanBase数据库Oracle租户的版本,确保其为支持迁移的版本。
-
权限设置:
- 在RDS PostgreSQL实例上,为数据迁移任务创建一个具有高权限的账号。
- 在OceanBase数据库Oracle租户上,同样创建一个专用于数据迁移任务的数据库用户,并赋予其相关权限。
-
参数配置:
- 如果需要进行增量同步,那么在RDS PostgreSQL实例上,将
wal_level
参数设置为logical
。 - 根据迁移任务的需求,配置RDS PostgreSQL实例的日志文件磁盘使用情况监控。
- 如果需要进行增量同步,那么在RDS PostgreSQL实例上,将
二、迁移步骤
-
结构迁移:
- 使用OceanBase提供的数据迁移工具或服务,选择源端RDS PostgreSQL实例和目标端OceanBase数据库Oracle租户。
- 配置迁移任务,包括选择需要迁移的数据库对象(如表、视图等)。
- 启动结构迁移任务,该任务将创建目标端数据库对象,并复制源端的数据库结构。
-
全量数据迁移:
- 在结构迁移完成后,启动全量数据迁移任务。
- 该任务将复制源端数据库中的所有数据到目标端数据库。
- 在此期间,请确保不要对源端数据库进行结构变更的DDL操作,以免导致迁移任务中断。
-
增量数据迁移(可选):
- 如果需要实时同步源端数据库的增量数据,可以配置增量数据迁移任务。
- 该任务将监控源端数据库的增量日志,并将其应用到目标端数据库。
- 在配置增量迁移时,请确保源端数据库的本地增量日志保存足够的时间(如7天以上),以便迁移服务能够获取到所需的增量日志。
三、注意事项
-
数据一致性:
- 在迁移过程中,请确保源端和目标端的数据一致性。可以通过比对源端和目标端的行数、数值列的和等方式进行验证。
- 如果在迁移过程中发现数据不一致,请立即停止迁移任务,并检查迁移日志以找出问题所在。
-
字符集兼容性:
- 如果源端字符集为UTF-8,建议目标端使用兼容源端的字符集(如UTF-8、UTF-16等),以避免因字符集不兼容导致目标端出现乱码等问题。
-
DDL同步:
- 增量同步时,数据传输不支持DDL的自动同步。如果待迁移的表需要进行DDL操作,请先手动在目标端执行该DDL语句,再在源端RDS PostgreSQL实例中执行。
- 为确保执行DDL语句后的增量DML能够正确解析,需要创建对应的触发器和记录DDL语句的表。
-
监控和告警:
- 为迁移任务配置告警,以便在任务出现异常时能够及时收到通知。
- 定期检查迁移任务的进度和状态,确保任务顺利进行。
-
资源回收:
- 如果数据迁移任务长期处于非活跃状态(如失败、已暂停或已完成),受增量日志保留时长等影响,任务可能无法恢复。此时,数据迁移服务将主动释放处于非活跃状态超过一定天数(如7天)的任务以回收相关资源。
综上所述,迁移RDS PostgreSQL实例的数据至OceanBase数据库Oracle租户需要仔细准备和规划,并遵循上述步骤和注意事项以确保迁移的顺利进行和数据的一致性。