对于从 Oracle 到 AlloyDB for PostgreSQL 的异构迁移,Database Migration Service 要求您先创建并配置 AlloyDB for PostgreSQL 目标集群和主数据库。 请执行以下步骤:
- 创建目标集群和主数据库。请确保您
配置了足够的计算和内存资源来满足迁移需求
并遵循
已知限制中列出的要求。
我们建议您使用特定于要使用的目标网络方法的设置创建目标集群:
如果您想使用… 那么… 公共 IP 目标连接, 创建目标集群时,请为 入站连接 启用公共 IP。请参阅 AlloyDB for PostgreSQL 文档中的创建 AlloyDB for PostgreSQL 实例 。 专用 IP 目标连接, 确定是否可以使用已启用 PSC 的 AlloyDB for PostgreSQL 实例作为您的 迁移目标。请仔细考虑已启用 PSC 的实例的功能限制 。请参阅 AlloyDB for PostgreSQL 文档中的 Private Service Connect 限制。
- 对于可以使用已启用 PSC 的 AlloyDB for PostgreSQL 实例的场景,
创建目标集群并启用
Private Service Connect。请参阅
AlloyDB for PostgreSQL 文档中的
创建已启用 PSC 的 AlloyDB for PostgreSQL 实例。
您无需为目标实例创建 Private Service Connect 端点。创建迁移作业时,Database Migration Service 可以在后台自动处理端点创建 。
- 对于无法使用已启用 PSC 的 AlloyDB for PostgreSQL 实例的场景, 创建目标集群并启用专用服务访问通道。请参阅 创建具有专用服务访问通道的 AlloyDB for PostgreSQL 实例在 AlloyDB for PostgreSQL 文档中。
- 对于可以使用已启用 PSC 的 AlloyDB for PostgreSQL 实例的场景,
创建目标集群并启用
Private Service Connect。请参阅
AlloyDB for PostgreSQL 文档中的
创建已启用 PSC 的 AlloyDB for PostgreSQL 实例。
- 在目标集群中创建以下实体:
- 一个用于迁移数据的数据库。
- 一个
专用迁移用户账号。
此用户账号的名称必须与目标数据库的名称相同。 例如,如果您使用 Database Migration Service 将数据迁移到名为
myapp的数据库,则专用迁移用户的名称也应为myapp。
- 向专用迁移用户账号授予所需权限。请执行以下操作:
-
使用
psql客户端连接到 AlloyDB for PostgreSQL 实例。 - 在目标数据库上运行以下命令:
GRANT CREATE ON DATABASE DESTINATION_DB_NAME TO "MIGRATION_USER_ACCOUNT_NAME"; GRANT CREATE ON SCHEMA SCHEMA_NAME TO "MIGRATION_USER_ACCOUNT_NAME"; GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE ON ALL TABLES IN SCHEMA SCHEMA_NAME TO "MIGRATION_USER_ACCOUNT_NAME";
-
可选:授予迁移用户
CREATEDB权限,以便测试转换后的架构。在迁移的后续阶段,在 转换源架构后,您可以使用 Database Migration Service 测试转换后的架构是否可以应用于 PostgreSQL 数据库。为了执行测试,Database Migration Service 会创建一个临时 数据库,以避免影响目标数据库。 如果您想 测试转换后的架构, 请向迁移用户授予
CREATEDB权限。请使用以下命令:ALTER USER "MIGRATION_USER_ACCOUNT_NAME" WITH CREATEDB;
- 对于包含外键或触发器的源数据库:
使用专用迁移用户账号通过
REPLICATION选项跳过外键和触发器的复制。运行以下命令:ALTER USER "MIGRATION_USER_ACCOUNT_NAME" WITH REPLICATION;
如需详细了解 Database Migration Service 如何迁移外键 和触发器,请参阅 外键和触发器的注意事项。
-
使用
接下来怎么做?
了解目标数据库网络连接。请参阅 目标数据库网络方法。
了解迁移作业。请参阅 创建迁移作业
如需获取完整的迁移分步指南,请参阅 Oracle 到 AlloyDB for PostgreSQL 迁移指南。