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。 |
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 は継続的な移行フローをサポートしています。この方法では、まず完全なダンプからデータが読み込まれ、 データベース ログファイルから取得されたデータ変更情報に基づいて継続的に更新されます。
データは、次の移行フェーズを経て移行されます。
-
Database Migration Service 変換ワークスペースを使用して、スキーマ、テーブル、その他のオブジェクトを Oracle 構文から PostgreSQL 構文に変換します。
Oracle データベースには、スキーマを変換する必要があるオブジェクトが数千個あることがよくあります。Database Migration Service を使用すると、作業を複数のフェーズに分割できます。Database Migration Service は、ソース データベースに接続し、必要に応じて必要なスキーマ情報を取得できます。
-
すべてのエンティティを PostgreSQL 構文に変換したら、移行先インスタンスのデータベースにスキーマを適用します。
このステージの目的は、Database Migration Service が後で移行元テーブルから Cloud SQL for PostgreSQL の正しい同等テーブルにデータを複製できるように、移行先データベースを準備することです。
スキーマが適用されたら、データ移行を開始できます。
-
完全なダンプフェーズは、移行プロセスの最初の部分です。完全ダンプを行う方法は 2 つあります。
-
自動: Database Migration Service は移行元インスタンスに接続し、移行用に選択したテーブルの内容を読み取り、Cloud SQL for PostgreSQL の移行先インスタンスにデータを読み込みます。
このフェーズでは、Database Migration Service がデータベースの実際のコンテンツをキャプチャします。
- 手動: 完全なダンプ フェーズをスキップし、Database Migration Service の外部で自分で実行できます。その場合は、レプリケーションの開始点として Oracle システム変更番号を指定して、変更データ キャプチャ(CDC)フェーズで移行プロセスを開始できます。
-
-
フルダンプ フェーズが終了すると、Database Migration Service は CDC フェーズに切り替わります。CDC 中、Database Migration Service は移行元データベースの変更を継続的にモニタリングし、移行先インスタンスに継続的にレプリケートします。
このフェーズでは、Database Migration Service は移行元テーブルから実際のデータをコピーしません。代わりに、 データベース ログファイルから抽出された情報を読み取り、移行先に変更を複製します。このメカニズムの詳細については、 変更データ キャプチャをご覧ください。
アプリケーションを切り替えて Cloud SQL for PostgreSQL の移行先インスタンスを本番環境データベースとして使用する場合、進行中のレプリケーションを停止して移行ジョブを昇格できます。詳細な移行ガイドについては、 Oracle から Cloud SQL for PostgreSQL への移行ガイドをご覧ください。
モニタリング


Database Migration Service には、移行の進行状況をモニタリングするために役立つ、広範なロギング機能とオブザーバビリティ機能が用意されています。これらの機能には、レプリケーションの遅延と CDC の進行状況に関するリアルタイム診断、Cloud SQL for PostgreSQL の移行先インスタンスの健全性と移行ジョブの状態に関する詳細なログが含まれます。
詳細については、移行ジョブの指標をご覧ください。
移行のセキュリティ
Database Migration Service には、移行プロセス中のセキュリティ強化に使用できる複数の暗号化メカニズムがあります。これらのメカニズムには次のようなものがあります。
Database Migration Service とソース データベース間のネットワーク接続を暗号化するための SSL/TLS 証明書。詳細については、 暗号化の概要をご覧ください。
完全なダンプと CDC フェーズでのデータ移動を保護するための暗号化証明書。詳細については、 移行ジョブの CMEK をご覧ください。
次のステップ
Database Migration Service での Oracle データ型と機能のサポートの詳細については、 既知の制限事項をご覧ください。
移行の詳細な手順については、 Oracle から Cloud SQL for PostgreSQL への移行ガイドをご覧ください。