将 Oracle 数据库迁移到 AlloyDB for PostgreSQL

本页介绍了如何使用 Database Migration Service 将 Oracle 数据库转换为 PostgreSQL 语法,并将数据迁移到 AlloyDB for PostgreSQL。

迁移过程涉及以下任务:

  1. 配置源数据库以实现迁移连接,并准备好数据以转换为 PostgreSQL。

  2. 创建 AlloyDB for PostgreSQL 目标实例。

  3. 使用 Database Migration Service 转换工作区将 Oracle 架构和其他对象转换为 PostgreSQL 语法。

  4. 在 Database Migration Service 中创建并运行迁移作业。

  5. 使用 Database Migration Service 可观测性功能监控迁移作业进度。

  6. 在数据完全迁移后提升迁移作业。

费用

在本文档中,您将使用Google Cloud的以下可计费组件:

如需根据您的预计使用量来估算费用,请使用价格计算器

准备工作

  1. 验证此迁移路径是否可以完全支持您的场景。 请参阅以下页面:
    • 场景概览页面上的 支持的源和目标位置列出了所有支持的源和目标位置版本。
    • 已知限制介绍了支持的数据类型、数据库大小和其他限制。
    • 网络概览介绍了可用的网络连接解决方案。

      为了迁移数据,Database Migration Service 需要与源实例和目标实例建立网络连接。根据您的架构,您可能需要进行额外的准备,以便实现网络连接。

  2. 考虑要在哪个区域创建目标数据库。 Database Migration Service 是一款完全区域性产品,这意味着与迁移相关的所有实体(源和目标连接配置文件、迁移作业、目标数据库、转换工作区)都必须保存在单个区域中。
  3. 在 Google Cloud 控制台的“项目选择器”页面上,选择或 创建 Google Cloud 项目

    转到“项目选择器”

  4. 启用 Database Migration Service、Compute Engine、Cloud Storage 和 Cloud SQL Admin API。

    启用 API

所需的角色

如需获得使用数据库迁移服务执行异构 SQL Server 迁移所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅 Identity and Access Management 文档中的 管理访问权限

这些预定义角色包含使用数据库迁移服务执行异构 SQL Server 迁移所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

若要使用 Database Migration Service 执行异构 SQL Server 迁移,您需要具有以下权限:

  • datamigration.*
  • alloydb.clusters.create
  • alloydb.clusters.get
  • alloydb.clusters.list
  • alloydb.clusters.update
  • alloydb.clusters.delete
  • alloydb.instances.create
  • alloydb.instances.get
  • alloydb.instances.list
  • alloydb.instances.update
  • alloydb.instances.delete
  • alloydb.operations.get
  • alloydb.users.list
  • alloydb.users.get
  • alloydb.users.create
  • alloydb.users.update
  • alloydb.users.delete

第 1 步:准备源数据库

如需为迁移准备源数据,请按以下步骤操作:

  1. 设置源数据库连接。执行以下操作:
    1. 可选:考虑是否要使用 SSL/TLS 证书来保护源网络连接。如需了解详情,请参阅 使用 TLS 保护网络连接

      Oracle 12 及更高版本支持 SSL/TLS 加密。 Database Migration Service 仅支持 TLS 加密方法。 根据您的 SSL/TLS 配置,您可能需要对源数据库执行其他配置步骤。

    2. 选择并配置源网络连接方法
  2. 配置源数据库实例

    在此步骤中,您将创建专用的迁移数据库用户账号,并启用必要的复制功能。

  3. 可选: 优化日志文件配置

    访问归档的日志文件本身就会增加迁移流程的延迟时间。您可以调整某些日志文件设置,以控制延迟时间影响。

  4. 创建来源连接配置文件

    连接配置文件包含 Database Migration Service 建立与源数据库的连接所需的信息。连接详情因您使用的 源网络连接方法而异。

第 2 步:准备 AlloyDB for PostgreSQL 目标实例

如需配置目标 Cloud SQL 实例,请执行以下步骤:

  1. 选择并配置目的地网络连接方法
  2. 创建并配置 AlloyDB for PostgreSQL 目标实例

    确保您使用的计算资源和内存资源足以满足您的迁移需求。如需了解详情,请参阅 迁移建议

  3. 创建目标连接配置文件

    连接配置文件包含 Database Migration Service 建立与目标数据库的连接所需的信息。连接详情因您使用的 目标网络连接方法而异。

第 3 步:将 Oracle 对象转换为 PostgreSQL 语法

数据库通常包含数千个对象。在单个会话中将所有这些都转换为 64 位可能是一个具有挑战性的过程。借助转换工作区,您可以将转换流程划分为多个阶段,在这些阶段中,您可以向转换添加新对象、解决问题,然后在目标数据库中对其进行测试。

如需转换源数据库中的对象,请执行以下操作:

  1. 创建转换工作区并运行初始转换
  2. 解决转换问题并将架构应用到目标数据库

第 4 步:创建和运行迁移作业

如需配置和运行迁移,请执行以下步骤:

  1. 可选:如果您想自行管理迁移作业的证书,请 准备必要的加密密钥
  2. 可选:如果您想自行执行完整转储阶段,可以从 Oracle 源数据库导出所有数据,并将其加载到 Database Migration Service 之外的目标 AlloyDB for PostgreSQL 实例中。

    如果您决定在迁移作业流程之外执行完整转储,请务必记录数据库迁移服务应开始 CDC 复制的系统变更编号 (SCN)。

  3. 创建并运行迁移作业

    在迁移期间,目标 Cloud SQL 数据库处于可写状态,以便在需要时应用 DML 更改。请务必不要对数据库配置或表结构进行任何更改,因为这可能会导致迁移过程中断或影响数据完整性。

    您可以使用 Database Migration Service 可观测性功能监控迁移进度以及目标实例的运行状况。请参阅 迁移作业指标

第 5 步:完成迁移

当您决定将应用切换到新的 AlloyDB for PostgreSQL 实例时,请按照以下步骤完成迁移:

  1. 停止对源数据库执行所有写入操作。您可以将其切换到只读模式,以保留操作功能。
  2. 可选: 验证迁移数据,确保其完整性。
  3. 提升迁移作业

现在,您可以清理所有 Database Migration Service 实体,例如连接配置文件、迁移作业和转换工作区。您也可以选择保留这些实体,并在下次迁移时重复使用这些实体。

后续步骤

详细了解 Google Cloud AlloyDB for PostgreSQL 的功能。请参阅 AlloyDB for PostgreSQL 功能