配置 AlloyDB for PostgreSQL 目标数据库

Database Migration Service 支持从 Oracle 源数据库到以下 AlloyDB for PostgreSQL 目标数据库的持续迁移:

  • AlloyDB for PostgreSQL 14、15

您必须先通过以下方式配置数据库,然后才能使用 Database Migration Service 将数据迁移到目标数据库:

  • 创建 AlloyDB for PostgreSQL 集群和主实例。我们建议您的主实例至少配置 4 个 vCPU 和 32 GB 内存。
  • 如果您使用专用 IP 地址连接到目标实例,Database Migration Service 会使用 Private Service Connect 连接到此实例。如需了解详情,请参阅为目标实例配置 Private Service Connect
  • 在实例中创建同名的用户账号数据库。例如,如果您使用 Database Migration Service 将数据迁移到 myapp 数据库,则用户账号的名称也应为 myapp

  • 为数据库用户设置以下权限:
    • CREATE SCHEMA
    • CREATE TABLE
    • CREATE DATABASE
    • SELECT
    • INSERT
    • UPDATE
    • DELETE
    • TRUNCATE(适用于所有表)
  • (对于包含外键或触发器的数据库) 使用迁移用户账号通过 REPLICATION 选项跳过外键和触发器。 运行以下命令:
        ALTER USER MIGRATION_USER_NAME WITH replication;
        
    如需详细了解如何迁移外键和触发器,请参阅 外键和触发器注意事项

外键和触发器注意事项

源数据库中存在的外键和触发器可能会导致数据完整性问题,甚至导致迁移作业失败。如果您为迁移用户使用 REPLICATION 选项跳过外键和触发器,则可以防止出现这些问题。或者,您也可以在目标数据库中删除所有外键和触发器,并在迁移完成后重新创建它们。

触发器
Database Migration Service 复制的数据已包含触发器对源数据库所做的所有更改。如果在目标位置启用了触发器,它们可能会再次触发并可能操纵数据,从而导致数据完整性或重复问题。
外键
Database Migration Service 不会以事务方式复制数据,因此表可能会无序迁移。如果存在外键,并且使用外键的子表在其父表之前迁移,则可能会遇到复制错误。