将数据迁移到 AlloyDB Omni

选择文档版本:

您可以将数据从 PostgreSQL 或 Oracle 迁移到 AlloyDB Omni。本页面假定您熟悉 PostgreSQL 和 Oracle 实用程序,了解如何进行配置和使用。

从 PostgreSQL 迁移到 AlloyDB Omni

由于 AlloyDB Omni 基于 PostgreSQL,因此可以轻松地从 PostgreSQL 迁移到 AlloyDB Omni。

如需将数据从 PostgreSQL 迁移到 AlloyDB Omni,请按以下步骤操作:

  1. 验证源 PostgreSQL 数据库上使用的任何扩展程序是否在 AlloyDB Omni 上受支持。虽然 AlloyDB Omni 包含一些扩展程序,但您需要手动安装其他扩展程序。

    如需了解 AlloyDB Omni 中包含哪些扩展程序,请参阅支持的数据库扩展程序

  2. 如需迁移数据,请根据数据迁移复杂程度和停机时间,使用下表中的工具。

    迁移类型 工具
    基本迁移,有充足的停机时间 使用 pg_dump 备份现有的 PostgreSQL 数据库。使用 pg_restore 将备份恢复到新的 AlloyDB Omni 数据库。
    复杂迁移,有充足的停机时间 使用 pgloader 将数据从源数据库流式传输到目标数据库。
    复杂迁移,极有限的停机时间 使用 pglogical 将数据从源数据库复制到目标数据库。
  3. 在从源系统迁移任何内容之前,请先在目标 AlloyDB Omni 系统上安装扩展程序。

从 Oracle 迁移到 AlloyDB Omni

将数据从 Oracle 迁移到 AlloyDB Omni 通常涉及将 Oracle PL/SQL 代码转换为 PgSQL。PL/SQL 代码的数量和复杂程度通常决定了从 Oracle 迁移到 AlloyDB Omni 所需的工作量。使用的 Oracle 特定功能越多,就越有可能需要手动完成一些代码转换工作。

下表列出了可帮助您执行代码转换的开源工具和商业工具。

用例 工具或文档 说明
介绍 Oracle 和 AlloyDB Omni 之间的概念和代码/语法差异。 将 Oracle® 数据库用户和架构迁移到 AlloyDB Omni --
您有充足的停机时间来迁移 Oracle 中的数据量并要将所有 Oracle 常驻应用逻辑都转换为 PostgreSQL。 使用 Ora2Pg 进行架构转换、数据迁移和代码转换。 Ora2Pg 是一款开源工具,可帮助您从 Oracle 转换为基于 PostgreSQL 的数据库。
迁移的停机时间极有限。 如需迁移代码和架构,请使用以下选项:
  • 开源选项
    Ora2Pg,用于架构转换、数据迁移和代码转换
  • 第三方商业选项
    用于架构和代码转换的 Ispirer
如需迁移数据,请在切换之前执行初始加载,然后使用变更数据捕获和增量应用来保持同步,直到切换完成。
  • 开源选项
    如果停机时间足够长,可以一次性迁移所有数据,请使用 Ora2Pg 进行一次性数据迁移。此选项不提供更改数据捕获或增量应用。
  • 商业选项
    Ispirer 可以执行初始数据迁移,然后以批处理模式增量应用。

    Striim 可以执行初始数据移动,然后持续捕获变更数据并以增量方式应用,从而最大限度地缩短停机时间。为了支持回退,此选项会从 AlloyDB Omni 复制回 Oracle。
  • Striim 是一款商业产品,可帮助您在数据库平台之间迁移数据。它可执行初始数据迁移和持续复制,还可在迁移期间提供数据转换。如需了解详情,请参阅 Striim
您需要将各种来源的数据加载到基于 PostgreSQL 的数据库中。 使用 pgloader。 pgloader 是一款开源工具,用于将各种来源的数据加载到基于 PostgreSQL 的数据库中。
如需了解详情,请参阅 pgloader 的文档
您需要模拟 Oracle 软件包和函数。 使用 Orafce 扩展程序。 如需了解详情,请参阅 “orafce”项目

此扩展程序未包含在 AlloyDB Omni 中,必须手动安装。如需了解详情,请参阅为 AlloyDB Omni 安装 Orafce
您希望将 Oracle 数据库链接迁移到 AlloyDB Omni。 使用 oracle_fdw 扩展程序。此扩展程序可提供从 AlloyDB Omni 内部到 Oracle 数据库的连接,并允许您将 Oracle DBLink 迁移到 AlloyDB Omni。 此扩展程序未包含在 AlloyDB Omni 中,必须手动安装。
如需了解详情,请参阅 GitHub - laurenz/oracle_fdw:适用于 Oracle 的 PostgreSQL 外部数据封装器

后续步骤