データを 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® Database のユーザーとスキーマを AlloyDB Omni に移行する --
Oracle 内の大量のデータを移動し、Oracle に常駐するすべてのアプリケーション ロジックを PostgreSQL に変換するのに十分なダウンタイムがある。 Ora2Pg をスキーマ変換、データ移動、コード変換に使用します。 Ora2Pg は、Oracle から PostgreSQL ベースのデータベースへの変換を支援するオープンソース ツールです。
移行のダウンタイムを最小限に抑える必要がある。 コードとスキーマの移行には、次のオプションを使用します。
  • オープンソース オプション
    Ora2Pg をスキーマ変換、データ移動、コード変換に使用
  • サードパーティの商用オプション
    Ispirer をスキーマとコードの変換に使用
データを移行するには、切り替え前に初期読み込みを実行し、切り替えまで変更データ キャプチャと増分適用を使用して同期を維持します。
  • オープンソース オプション
    すべてのデータを一度に移行する十分なダウンタイムがある場合は、Ora2Pg を使用してデータ移動を 1 回だけ行います。このオプションでは、変更データ キャプチャや増分適用は提供されません。
  • 商用オプション
    Ispirer を使用すると、最初にデータ移動を実行した後、バッチモードで増分適用を行うことができます。

    Striim を使用すると、最初にデータ移動を実行した後、継続的に変更データ キャプチャと増分適用を行うことで、ダウンタイムを最小限に抑えることができます。フォールバックをサポートするため、AlloyDB Omni から Oracle へのレプリケーションも行います。
  • Ispirer は、スキーマとコードを変換する商用プロダクトです。Oracle から AlloyDB Omni への変換に加え、初期データ読み込みとバッチモードの増分更新をサポートします。詳細については、Ispirer の Oracle から PostgreSQL への変換ツールをご覧ください。
  • 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 にある PostgreSQL の Oracle 向け外部データラッパー laurenz/oracle_fdw をご覧ください。

次のステップ