PostgreSQL から AlloyDB Omni に移行する
AlloyDB Omni は PostgreSQL に基づいているため、PostgreSQL から AlloyDB Omni への移行は簡単です。
PostgreSQL から AlloyDB Omni にデータを移行する手順は次のとおりです。
移行元の PostgreSQL データベースで使用されている拡張機能が AlloyDB Omni でサポートされていることを確認します。一部の拡張機能は AlloyDB Omni に含まれていますが、それ以外の拡張機能は手動でインストールする必要があります。
AlloyDB Omni に含まれている拡張機能については、サポートされているデータベース拡張機能をご覧ください。
データの移行には、データ移行の複雑さとダウンタイムに基づいて次の表のツールを使用します。
移行タイプ ツール 十分なダウンタイムを伴う基本的な移行 pg_dumpを使用して、既存の PostgreSQL データベースをバックアップします。pg_restoreを使用して、バックアップを新しい AlloyDB Omni データベースに復元します。十分なダウンタイムを伴う複雑な移行 pgloaderを使用して、移行元データベースから移行先データベースにデータをストリーミングします。ダウンタイムを最小限に抑えた複雑な移行 pglogicalを使用して、移行元データベースから移行先データベースにデータをレプリケートします。移行元システムから移行する前に、移行先 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 ベースのデータベースへの変換を支援するオープンソース ツールです。 |
| 移行のダウンタイムを最小限に抑える必要がある。 | コードとスキーマの移行には、次のオプションを使用します。
|
|
| さまざまなソースから 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 をご覧ください。 |