本页面介绍了如何使用 Database Migration Service 将 Oracle 数据库转换为 PostgreSQL 语法,并将数据迁移到 Cloud SQL for PostgreSQL。
迁移过程涉及以下任务:
配置源数据库以实现迁移连接性,并准备数据以转换为 PostgreSQL。
创建 Cloud SQL for PostgreSQL 目标实例。
使用 Database Migration Service 转换工作区将 Oracle 架构和其他对象转换为 PostgreSQL 语法。
在 Database Migration Service 中创建并运行迁移作业。
使用 Database Migration Service 可观测性功能监控迁移作业进度。
在数据完全迁移后提升迁移作业。
费用
在本文档中,您将使用Google Cloud的以下收费组件:
- Cloud SQL(请参阅 Cloud SQL 价格。)
- 如果用于存储客户管理的加密密钥 (CMEK):Cloud Storage(请参阅 Cloud Storage 价格)。
如需根据您的预计使用量来估算费用,请使用价格计算器。
准备工作
- 验证此迁移路径是否可以完全支持您的场景。 请参阅以下页面:
- 对于一次性迁移:请考虑迁移时间表。 一次性迁移仅执行完整转储和加载操作,不执行后续变更数据捕获。我们建议您在迁移过程中停用对源数据库的写入操作,以免丢失数据。
- 考虑要在哪个区域创建目标数据库。 Database Migration Service 是一款完全区域性的产品,这意味着与迁移相关的所有实体(源和目标连接配置文件、迁移作业、目标数据库、转换工作区)都必须保存在单个区域中。
- 在 Google Cloud 控制台的项目选择器页面上,选择或 创建 Google Cloud 项目。
- 启用 Database Migration Service、Compute Engine、Cloud Storage 和 Cloud SQL Admin API。
所需的角色
如需获得使用 Database Migration Service 执行异构 Oracle 迁移所需的权限,请让管理员向您授予项目的所需 IAM 角色:
-
Database Migration Admin (
roles/datamigration.admin) -
Cloud SQL Admin (
roles/cloudsql.admin)
如需详细了解如何授予角色,请参阅 Identity and Access Management 文档中的 管理访问权限。
这些预定义角色包含使用 Database Migration Service 执行异构 Oracle 迁移所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需使用 Database Migration Service 执行异构 Oracle 迁移,您需要具备以下权限:
datamigration.*cloudaicompanion.entitlements.getroles/datamigration.admin角色拥有此权限。 Gemini 增强型转化功能需要此权限。cloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.updatecloudsql.instances.deletecloudsql.operations.getcloudsql.users.listcloudsql.users.getcloudsql.users.createcloudsql.users.updatecloudsql.users.delete
第 1 步:准备源数据库
如需准备要迁移的源数据,请按以下步骤操作:
- 设置源数据库连接。执行以下操作:
- 可选:考虑是否要使用 SSL/TLS 证书来保护源网络连接。如需了解详情,请参阅
使用 TLS 保护网络连接。
Oracle 12 及更高版本支持 SSL/TLS 加密。 Database Migration Service 仅支持 TLS 加密方法。 根据您的 SSL/TLS 配置,您可能需要对源数据库执行其他配置步骤。
- 选择并配置源网络连接方法。
- 可选:考虑是否要使用 SSL/TLS 证书来保护源网络连接。如需了解详情,请参阅
使用 TLS 保护网络连接。
- 配置源数据库实例。
- 对于持续迁移,请参阅 配置源数据库以进行持续迁移。
- 对于一次性迁移,请参阅 为一次性迁移配置源数据库。
在此步骤中,您将创建一个专用的迁移数据库用户账号,并启用必要的复制功能。
-
可选: 优化日志文件配置。
访问归档日志文件本身会给迁移过程增加一些延迟。您可以调整某些日志文件设置,以控制延迟时间影响。
-
创建来源连接配置文件。
连接配置文件包含 Database Migration Service 与源数据库建立连接所需的信息。连接详细信息因您使用的 来源网络连接方法而异。
第 2 步:准备 Cloud SQL for PostgreSQL 目标实例
如需配置目标 Cloud SQL 实例,请执行以下步骤:
- 选择并配置目标网络连接方法。
-
创建并配置 Cloud SQL for PostgreSQL 目标实例。
请确保您使用足够的计算和内存资源来满足迁移需求。如需了解详情,请参阅 迁移建议。
-
创建目标连接配置文件。
连接配置文件包含 Database Migration Service 与目标数据库建立连接所需的信息。连接详细信息因您使用的 目标网络连接方法而异。
第 3 步:将 Oracle 对象转换为 PostgreSQL 语法
数据库通常包含数千个对象。在单个会话中转换所有这些内容可能是一个具有挑战性的过程。借助转换工作区,您可以将转换过程分为多个阶段,在这些阶段中,您可以向转换添加新对象、修复问题,然后在目标数据库中测试这些对象。
如需转换源数据库中的对象,请执行以下操作:
第 4 步:创建并运行迁移作业
如需配置和运行迁移,请执行以下步骤:
- 可选:如果您想自行管理迁移作业的证书,请 准备必要的加密密钥。
-
可选:如果您想自行执行完整转储阶段,可以从 Oracle 源数据库导出所有数据,并将其加载到 Database Migration Service 外部的目标 Cloud SQL for PostgreSQL 实例。
如果您决定在迁移作业流程之外执行完整转储,请务必记录 Database Migration Service 应开始 CDC 复制的系统变更编号 (SCN)。
-
创建并运行迁移作业。
目标 Cloud SQL 数据库在迁移期间可写,以便在需要时应用 DML 更改。请注意,不要对数据库配置或表结构进行任何可能导致迁移过程中断或影响数据完整性的更改。
您可以使用 Database Migration Service 可观测性功能监控迁移进度以及目标实例的运行状况。请参阅 迁移作业指标。
第 5 步:完成迁移
当您决定将应用切换到新的 AlloyDB for PostgreSQL 实例时,请按照以下步骤完成迁移:
一次性迁移
当 Database Migration Service 完成完整转储阶段后,迁移作业状态会更改为已准备好提升。
持续迁移
后续步骤
详细了解 Google Cloud Cloud SQL for PostgreSQL 的功能。请参阅 Cloud SQL for PostgreSQL 的特性。