Oracle データベースを Cloud SQL for PostgreSQL に移行する

このページでは、Oracle データベースを PostgreSQL 構文に変換し、Database Migration Service を使用してデータを Cloud SQL for PostgreSQL に移行する方法について説明します。

移行プロセスには、次のタスクが含まれます。

  1. 移行接続用にソース データベースを構成し、PostgreSQL への変換用にデータを準備します。

  2. 移行先の Cloud SQL for PostgreSQL インスタンスの作成。

  3. Database Migration Service 変換ワークスペースを使用して、Oracle スキーマなどのオブジェクトを PostgreSQL 構文に変換する。

  4. Database Migration Service で移行ジョブを作成し、実行します。

  5. Database Migration Service のオブザーバビリティ機能を使用して移行ジョブの進行状況をモニタリングする。

  6. データが完全に移行された後、移行ジョブをプロモートします。

料金

このドキュメントでは、Google Cloudの次の課金対象コンポーネントを使用します。

料金計算ツールを使用すると、予想使用量に基づいて費用の見積もりを生成できます。

始める前に

  1. この移行パスがシナリオを完全にサポートできるかどうかを確認します。次のページをご覧ください。
    • [シナリオの概要] ページの [ サポートされているソースとリンク先] に、サポートされているソースとリンク先のバージョンがすべて一覧表示されます。
    • 既知の制限事項では、サポートされているデータ型、データベース サイズ、その他の制限事項について説明します。
    • ネットワーキングの概要では、利用可能なネットワーク接続ソリューションについて説明します。

      データを移行するには、Database Migration Service が移行元インスタンスと移行先インスタンスへのネットワーク接続を確立する必要があります。アーキテクチャによっては、ネットワーク接続を容易にするために追加の準備が必要になる場合があります。

  2. 宛先データベースを作成するリージョンを検討します。Database Migration Service は完全にリージョン ベースのサービスです。つまり、移行に関連するすべてのエンティティ(移行元と移行先の接続プロファイル、移行ジョブ、移行先データベース、変換ワークスペース)を単一のリージョンに保存する必要があります。
  3. Google Cloud コンソールの [プロジェクト セレクタ] ページで、 Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  4. Database Migration Service、Compute Engine、Cloud Storage、Cloud SQL Admin API を有効にします。

    API を有効にする

必要なロール

Database Migration Service で異種の Oracle 移行を実行するために必要な権限を取得するには、プロジェクトに対する必要な IAM ロールを付与するよう管理者に依頼します。

ロールの付与の詳細については、Identity and Access Management のドキュメントの アクセスを管理するをご覧ください。

これらの事前定義ロールには、Database Migration Service で異種の Oracle 移行を実行するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

Database Migration Service で異種の Oracle 移行を実行するには、次の権限が必要です。

  • datamigration.*
  • cloudsql.instances.create
  • cloudsql.instances.get
  • cloudsql.instances.list
  • cloudsql.instances.update
  • cloudsql.instances.delete
  • cloudsql.operations.get
  • cloudsql.users.list
  • cloudsql.users.get
  • cloudsql.users.create
  • cloudsql.users.update
  • cloudsql.users.delete

カスタムロールや他の 事前定義ロールを使用して、これらの権限を取得することもできます。

ステップ 1. 移行元データベースを準備する

移行するソースデータを準備する手順は次のとおりです。

  1. ソース データベースの接続を設定します。次のように対応します。
    1. 省略可: SSL/TLS 証明書を使用して移行元ネットワーク接続を保護するかどうかを検討します。詳細については、 TLS を使用してネットワーク接続を保護するをご覧ください。

      SSL/TLS 暗号化は、Oracle バージョン 12 以降でサポートされています。Database Migration Service は TLS 暗号化方法のみをサポートしています。SSL/TLS 構成によっては、移行元データベースで追加の構成手順を実行することが必要になる場合があります。

    2. 移行元のネットワーク接続方法を選択して構成します
  2. 移行元データベース インスタンスを構成します

    このステップでは、移行専用のデータベース ユーザー アカウントを作成し、必要なレプリケーション機能を有効にします。

  3. 省略可: ログファイルの構成を最適化します。

    アーカイブされたログファイルにアクセスすると、移行プロセスにレイテンシが発生します。特定のログファイル設定を調整して、レイテンシの影響を制御できます。

  4. ソース接続プロファイルを作成します

    接続プロファイルには、Database Migration Service がソース データベースへの接続を確立するために必要な情報が含まれています。接続の詳細は、使用する ソース ネットワーク接続方法によって異なります。

ステップ 2. Cloud SQL for PostgreSQL の移行先インスタンスを準備する

移行先の Cloud SQL インスタンスを構成するには、次の操作を行います。

  1. 目的のネットワーク接続方法を選択して構成します
  2. Cloud SQL for PostgreSQL の移行先インスタンスを作成して構成します

    移行のニーズを満たすのに十分なコンピューティング リソースとメモリ リソースを使用していることを確認します。詳細については、 移行の推奨事項をご覧ください。

  3. 宛先接続プロファイルを作成します

    接続プロファイルには、Database Migration Service が移行先データベースへの接続を確立するために必要な情報が含まれています。接続の詳細は、使用する 宛先ネットワーク接続方法によって異なります。

ステップ 3. Oracle オブジェクトを PostgreSQL 構文に変換する

データベースには数千ものオブジェクトが存在することがあります。1 回のセッションですべて変換するのは難しいプロセスになる可能性があります。コンバージョン ワークスペースを使用すると、コンバージョン プロセスを複数のフェーズに分割して、コンバージョンに新しいオブジェクトを追加し、問題を修正してから、移行先データベースでテストできます。

移行元データベースからオブジェクトを変換するには、次の操作を行います。

  1. コンバージョン ワークスペースを作成し、最初のコンバージョンを実行します
  2. 変換の問題を修正し、スキーマを移行先データベースに適用します

ステップ 4. 移行ジョブを作成して実行する

移行を構成して実行する手順は次のとおりです。

  1. 省略可: 移行ジョブの独自の証明書を管理する場合は、 必要な暗号鍵を準備します。
  2. 省略可: フルダンプ フェーズを自分で実行する場合は、Oracle ソース データベースからすべてのデータをエクスポートし、Database Migration Service の外部にある移行先の Cloud SQL for PostgreSQL インスタンスに読み込むことができます。

    移行ジョブフロー外で完全なダンプを行う場合は、Database Migration Service が CDC レプリケーションを開始するシステム変更番号(SCN)を必ず記録してください。

  3. 移行ジョブを作成して実行します

    移行中、移行先の Cloud SQL データベースは書き込み可能であるため、必要に応じて DML の変更を適用できます。データベース構成やテーブル構造を変更して、移行プロセスが中断したり、データの完全性に影響したりしないように注意してください。

    Database Migration Service のオブザーバビリティ機能を使用して、移行の進行状況と移行先インスタンスの状態をモニタリングできます。 移行ジョブの指標をご覧ください。

ステップ 5. 移行を完了する

アプリケーションを新しい Cloud SQL for PostgreSQL インスタンスに切り替える場合は、次の手順で移行を完了します。

  1. 移行元データベースのすべての書き込みオペレーションを停止します。読み取り専用モードに切り替えて、運用機能を維持できます。
  2. 省略可: 移行データの完全性を確認します。
  3. 移行ジョブをプロモートします

接続プロファイル、移行ジョブ、コンバージョン ワークスペースなど、Database Migration Service のすべてのエンティティをクリーンアップできます。保持して別の移行で再利用することもできます。

次のステップ

Google Cloud Cloud SQL for PostgreSQL の機能の詳細 Cloud SQL for PostgreSQL の機能をご覧ください。