Oracle から AlloyDB for PostgreSQL への移行の概要

Database Migration Service を使用すると、Oracle データベースのスキーマ、テーブル、コード オブジェクトを PostgreSQL 構文に変換し、Oracle データベースから AlloyDB for PostgreSQL にデータを移行できます。 Database Migration Service は、Bare Metal Solution、Oracle Real Application Clusters(RAC)、 セルフマネージド インスタンスなど、さまざまな Oracle サービスをサポートしています。

このページでは、Oracle から AlloyDB for PostgreSQL への異種移行のための Database Migration Service の主な機能の概要について説明します。

  • サポートされている移行元と移行先には、Database Migration Service でサポートされているすべての Oracle バージョンが一覧表示されます。

  • コードとスキーマの変換では、Database Migration Service を使用して、スキーマ、テーブル、その他のオブジェクトを Oracle 構文から PostgreSQL 構文に変換する方法について説明します。

  • 継続的な移行のデータフローでは、エンドツーエンドの概要 で、移行プロセス中にデータがどのように移動するかの概要を説明します。 Google Cloud

  • モニタリング では、移行ジョブの進行状況と健全性を確認するのに役立つログと指標について説明します。

  • 移行のセキュリティでは、 Database Migration Service が提供する暗号化機能について説明します。

サポートされているソースと宛先のデータベース

Database Migration Service は、移行元として次の Oracle データベースをサポートしています。

  • Amazon RDS for Oracle
  • 自己ホスト型デプロイメント(以下を含む):
    • Oracle シングル インスタンス データベース デプロイ
    • Oracle Exadata
    • Oracle Active Data Guard
    • Oracle Real Application Clusters(RAC)

完全なサポートは、移行元の Oracle バージョンによっても異なります。 次の表に、Oracle の異種移行でサポートされているすべてのバージョンを示します。

移行元データベース 移行先データベース
Oracle 11g、バージョン 11.2.0.4 AlloyDB for PostgreSQL 12、13、14、15、16、17、18
Oracle 12c、バージョン 12.1.0.2
Oracle 12c、バージョン 12.2.0.1
Oracle 18c
Oracle 19c
Oracle 21c

サポートされていない移行元データベース

Database Migration Service は、Oracle Autonomous Database からの移行をサポートしていません。

コードスキーマの変換

Database Migration Service コンバージョン ワークスペースには、スキーマ、テーブル、その他のオブジェクトを Oracle 構文から PostgreSQL 構文に変換できるインタラクティブなエディタが用意されています。インタラクティブなコンバージョン ワークスペースでは、Gemini によるアシスト ワークフロー(コードの説明可能性と変換の問題の修正)もサポートされています。

詳細については、 コンバージョン ワークスペースをご覧ください。

移行データフロー

Oracle から PostgreSQL への異種移行の場合、 Database Migration Service は 継続的な移行フローと 1 回限りの移行フローをサポートしています。 継続的な移行では、データは最初に完全ダンプから読み込まれ、その後 データベース ログファイルから抽出されたデータ変更情報に基づいて継続的に更新されます。1 回限りの移行では、完全ダンプ フェーズのみが行われます。

Database Migration Service を使用した Oracle から AlloyDB for PostgreSQL への移行のデータフロー図。移行元から移行先への継続的なレプリケーションを示しています。
図 1.Oracle から AlloyDB for PostgreSQL への Database Migration Service の異種移行中の継続的なデータ移動。(クリックして拡大)
Database Migration Service を使用した Oracle から AlloyDB for PostgreSQL への移行のデータフロー図。移行元から移行先への継続的なレプリケーションを示しています。

移行フェーズでのデータの移動の概要は次のとおりです。

1 回限りの移行

  1. Database Migration Service コンバージョン ワークスペースを使用して、スキーマ、 テーブル、その他のオブジェクトを Oracle 構文から PostgreSQL 構文に変換します。

    Oracle データベースには、スキーマを変換する必要があるオブジェクトが数千個含まれている場合があります 。Database Migration Service を使用すると、 作業を複数のフェーズに分割できます。Database Migration Service は、必要に応じて移行元データベースに接続し、必要なスキーマ情報を取得できます。

  2. すべてのエンティティを PostgreSQL 構文に変換したら、 移行先インスタンスのデータベースにスキーマを適用します。

    この段階の目的は、移行先データベースを準備して、 Database Migration Service が移行元テーブルから AlloyDB for PostgreSQL の正しい同等のテーブルにデータを複製できるようにすることです。

    スキーマが適用されたら、データ移行を開始できます。

  3. 完全ダンプ フェーズ は、1 回限りの移行 プロセスの一部です。このフェーズでは、Database Migration Service は移行元 インスタンスに接続し、移行用に選択したテーブルの内容を読み取って、 AlloyDB for PostgreSQL 移行先インスタンスにデータを読み込みます。

    1 回限りの移行では、完全ダンプ フェーズ中に移行元データベースへの書き込みを無効にすることをおすすめします。これにより、移行プロセス開始後に作成されたデータの損失を防ぐことができます。

  4. 完全ダンプ フェーズが終了したら、移行先 データベースを昇格させ、新しい移行先データベースを使用するようにアプリケーションを切り替えることができます。

継続的な移行

  1. Database Migration Service コンバージョン ワークスペースを使用して、スキーマ、 テーブル、その他のオブジェクトを Oracle 構文から PostgreSQL 構文に変換します。

    Oracle データベースには、スキーマを変換する必要があるオブジェクトが数千個含まれている場合があります 。Database Migration Service を使用すると、 作業を複数のフェーズに分割できます。Database Migration Service は、必要に応じて移行元データベースに接続し、必要なスキーマ情報を取得できます。

  2. すべてのエンティティを PostgreSQL 構文に変換したら、 移行先インスタンスのデータベースにスキーマを適用します。

    この段階の目的は、移行先データベースを準備して、 Database Migration Service が移行元テーブルから AlloyDB for PostgreSQL の正しい同等のテーブルにデータを複製できるようにすることです。

    スキーマが適用されたら、データ移行を開始できます。

  3. 完全ダンプ フェーズ は、移行プロセスの最初の部分です。 完全ダンプを完了する方法は 2 つあります。

    • 自動: Database Migration Service は移行元インスタンスに接続し、移行用に選択したテーブルの内容を読み取って、AlloyDB for PostgreSQL 移行先インスタンスにデータを読み込みます。

      このフェーズでは、Database Migration Service はデータベースの実際のコンテンツを キャプチャします。

    • 手動: 完全ダンプ フェーズをスキップして、Database Migration Service の外部で自分で実行できます。 その場合は、レプリケーションの開始点として Oracle システム変更番号を指定して、変更データ キャプチャ(CDC)フェーズから移行プロセスを開始できます。
  4. 継続的な移行の場合、完全ダンプ フェーズが終了すると、 Database Migration Service は CDC フェーズ に切り替わります。CDC 中、 Database Migration Service は移行元データベースの変更をモニタリングし、 移行先インスタンスで継続的に複製します。

    CDC フェーズでは、Database Migration Service は移行元 テーブルから実際のデータをコピーしません。代わりに、 データベース ログファイル から抽出された情報を読み取って、移行先で変更を複製します。このメカニズムの詳細については、 変更データ キャプチャをご覧ください。アプリケーションを切り替えて、AlloyDB for PostgreSQL 移行先インスタンスを本番環境データベースとして使用する場合は、進行中のレプリケーションを停止して移行ジョブを昇格させることができます。

詳細なステップバイステップの移行ガイドについては、 Oracle から AlloyDB for PostgreSQL への移行ガイドをご覧ください。

モニタリング

Database Migration Service の Oracle から AlloyDB for PostgreSQL への移行ジョブのレプリケーション遅延指標を示すグラフの例。
図 2.Database Migration Service 移行ジョブのレプリケーション遅延を示すサンプル オブザーバビリティ チャート。(クリックして拡大)
Database Migration Service の Oracle から AlloyDB for PostgreSQL への移行ジョブのレプリケーション遅延指標を示すグラフの例。

Database Migration Service には、移行の進行状況をモニタリングするのに役立つ、広範なロギング機能とオブザーバビリティ機能が用意されています。これらの機能には、レプリケーション遅延と CDC の進行状況のリアルタイム診断、AlloyDB for PostgreSQL 移行先インスタンスの健全性と移行ジョブの状態の詳細なログが含まれます。

詳細については、 移行ジョブの指標をご覧ください。

移行のセキュリティ

Database Migration Service には、移行プロセス中のセキュリティを強化するために使用できる複数の暗号化メカニズムが用意されています。これらのメカニズムは次のとおりです。

  • Database Migration Service と移行元データベース間のネットワーク接続を暗号化するための SSL/TLS 証明書。詳細については、 暗号化の概要をご覧ください。

  • 完全ダンプ フェーズと CDC フェーズでのデータ移動を保護するための暗号化証明書。詳細については、移行ジョブの CMEK をご覧ください。

次のステップ