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 不会以事务方式复制数据,因此表可能会无序迁移。如果存在外键,并且使用外键的子表在其父表之前迁移,则可能会遇到复制错误。