对于异构 Oracle 到 Cloud SQL 的迁移,Database Migration Service 要求您先创建并配置 Cloud SQL 目标实例。请执行以下步骤:
- 创建目标实例。确保您配置了足够的计算
和内存资源来满足迁移需求,并遵循
已知限制中列出的要求。
我们建议您使用 特定于要使用的 目标网络方法设置创建目标实例:
如果您想使用… 那么… 公共 IP 目标连接, 创建已启用公共 IP 的目标实例。请参阅 Cloud SQL for PostgreSQL 文档中的创建 Cloud SQL 实例。 专用 IP 目标连接, 确定是否可以使用已启用 PSC 的 Cloud SQL 实例作为您的 迁移目标。仔细考虑已启用 PSC 的实例的功能限制 。请参阅 Cloud SQL 文档中的 Private Service Connect 限制。
- 对于可以使用已启用 PSC 的 Cloud SQL 实例的场景, 请创建同时启用专用 IP 和 Private Service Connect 的目标实例。请参阅 Cloud SQL for PostgreSQL 文档中的 创建已启用 PSC 的 Cloud SQL 实例。
- 对于无法使用已启用 PSC 的 Cloud SQL 实例的场景, 创建已启用专用 IP 的目标实例。请参阅 Cloud SQL for PostgreSQL 文档中的创建已启用专用 IP 的 Cloud SQL 实例。
- 在目标实例中创建以下实体:
- 向专用迁移用户账号授予所需权限。
请执行以下操作:
- 使用 SQL 客户端连接到 Cloud SQL 实例。您可以使用以下方法:
-
psql客户端。您可以使用此方法连接 到实例专用 IP,但可能需要您创建 Compute Engine 虚拟机。 -
gcloud sql connect命令。此命令 仅适用于已启用公共 IP 地址的 Cloud SQL 实例。
-
- 在目标实例上运行以下命令:
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 如何迁移外键 和触发器,请参阅 外键和触发器的注意事项。
- 使用 SQL 客户端连接到 Cloud SQL 实例。您可以使用以下方法:
接下来怎么做?
了解目标数据库网络连接。请参阅 目标数据库网络方法。
了解迁移作业。请参阅 创建迁移作业
如需获取完整的分步迁移演练,请参阅 Oracle 到 Cloud SQL for PostgreSQL 迁移指南。