異種の Oracle から Cloud SQL for PostgreSQL への Database Migration Service

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

このページでは、異種環境の Oracle から Cloud SQL for PostgreSQL への移行における Database Migration Service の主な機能の概要について説明します。

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

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

  • 継続的移行のデータフローでは、移行プロセス中に Google Cloud でデータがどのように移動するかについて、エンドツーエンドの概要を確認できます。

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

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

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

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

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

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

移行元データベース 移行先データベース
Oracle 11g、バージョン 11.2.0.4 Cloud SQL for PostgreSQL 12、13、14、15、16、17。
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 アシスト ワークフローもサポートされています。

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

継続的な移行のデータフロー

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

Oracle 移行フローの概要。
図 1. Database Migration Service for Oracle の異種移行中のデータ移動。(クリックして拡大)
Oracle 移行フローの概要。

大まかに、データは移行フェーズを次のように移動します。

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

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

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

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

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

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

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

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

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

    このフェーズでは、Database Migration Service は移行元テーブルから実際のデータをコピーしません。代わりに、 データベース ログファイルから抽出された情報を読み取り、宛先の変更を複製します。このメカニズムの詳細については、 変更データ キャプチャをご覧ください。

進行中のレプリケーションを停止し、移行ジョブをプロモートして、Cloud SQL for PostgreSQL の移行先インスタンスを本番環境データベースとして使用するようにアプリケーションを切り替えることができます。詳細な移行ガイドについては、 Oracle から Cloud SQL for PostgreSQL への移行ガイドをご覧ください。

モニタリング

Database Migration Service の移行ジョブのレプリケーション遅延の図の例。
図 2. Database Migration Service のモニタリングの図の例。(クリックして拡大)
Database Migration Service の移行ジョブのレプリケーション遅延の図の例。

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

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

移行のセキュリティ

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

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

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

次のステップ