对于将异构 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 实例。
- 在目标实例中创建以下实体:
- 用于迁移数据的数据库。
-
专用迁移用户账号。
此用户账号的名称必须与目标数据库的名称相同。 例如,如果您使用 Database Migration Service 将数据迁移到名为
myapp
的数据库,则专用迁移用户的名称也应为myapp
。
- 向专用迁移用户账号授予所需权限。
执行以下操作:
- 使用 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 迁移指南。