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