このページでは、Oracle データベースを PostgreSQL 構文に変換し、Database Migration Service を使用してデータを Cloud SQL for PostgreSQL に移行する方法について説明します。
移行プロセスには次のタスクが含まれます。
移行接続用に移行元データベースを構成し、PostgreSQL への変換用にデータを準備します。
移行先の Cloud SQL for PostgreSQL インスタンスを作成します。
Database Migration Service コンバージョン ワークスペースを使用して、Oracle スキーマとその他のオブジェクトを PostgreSQL 構文に変換します。
Database Migration Service で移行ジョブを作成し、実行します。
Database Migration Service のオブザーバビリティ機能を使用して、移行ジョブの進行状況をモニタリングします。
データが完全に移行された後、移行ジョブをプロモートします。
費用
このドキュメントでは、課金対象である次の Google Cloudコンポーネントを使用します。
- Cloud SQL( Cloud SQL の料金をご覧ください)。
- 顧客管理の暗号鍵(CMEK)の保存に使用する場合: Cloud Storage ( Cloud Storage の料金をご覧ください。)
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
始める前に
- この移行パスでシナリオを完全にサポートできるかどうかを確認します。
次のページをご覧ください。
- 「シナリオの概要」ページのサポートされている移行元と移行先には、サポートされているすべての移行元と移行先のバージョンが記載されています。
- 既知の制限事項では、 サポートされているデータ型、データベース サイズ、その他の制限について説明しています。
-
ネットワークの概要では、利用可能なネットワーク接続
ソリューションについて説明しています。
データを移行するには、Database Migration Service で移行元インスタンスと移行先インスタンスへのネットワーク 接続を確立する必要があります。アーキテクチャによっては、ネットワーク接続を容易にするために追加の準備が必要になる場合があります。
- 1 回限りの移行の場合: 移行のスケジュールを検討します。 1 回限りの移行では、完全なダンプとロード オペレーションのみが実行され、その後の変更データ キャプチャは行われません。データが失われないように、移行プロセス中は移行元データベースへの書き込みを無効にすることをおすすめします。
- 移行先データベースを作成するリージョンを検討します。 Database Migration Service は完全なリージョン プロダクトです。つまり、移行に関連するすべてのエンティティ (移行元と移行先の接続プロファイル、 移行ジョブ、移行先データベース、コンバージョン ワークスペース)は、 単一のリージョンに保存する必要があります。
- Google Cloud コンソールのプロジェクト セレクタ ページで、 プロジェクトを選択または Google Cloud 作成します。
- Database Migration Service、Compute Engine、Cloud Storage、 Cloud SQL Admin API を有効にします。
必要なロール
Database Migration Service を使用して異種 Oracle 移行を実行するために必要な権限を取得するには、プロジェクトに必要な IAM ロールを付与するよう管理者に依頼してください。
-
データベース移行管理者 (
roles/datamigration.admin) -
Cloud SQL 管理者 (
roles/cloudsql.admin)
ロールの付与の詳細については、 Identity and Access Management ドキュメントのアクセスを管理するをご覧ください。
これらの事前定義ロールには、Database Migration Service を使用して異種 Oracle 移行を実行するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限 」セクションを開いてご確認ください。
必要な権限
Database Migration Service を使用して異種 Oracle 移行を実行するには、次の権限が必要です:
datamigration.*cloudaicompanion.entitlements.getこの権限は
roles/datamigration.adminロールに含まれています。 Gemini 拡張変換機能に必要です。cloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.updatecloudsql.instances.deletecloudsql.operations.getcloudsql.users.listcloudsql.users.getcloudsql.users.createcloudsql.users.updatecloudsql.users.delete
カスタムロールや他の 事前定義ロールを使用して、これらの権限を取得することもできます。
ステップ 1. 移行元データベースを準備する
移行元データを移行用に準備する手順は次のとおりです。
- 移行元データベースの接続を設定します。次の操作を行います。
- 省略可: SSL/TLS 証明書を使用して移行元ネットワーク接続を保護するかどうかを検討します。
詳細については、
TLS を使用した安全なネットワーク接続をご覧ください。
SSL/TLS 暗号化は、Oracle バージョン 12 以降でサポートされています。 Database Migration Service は、TLS 暗号化方式のみをサポートしています。 SSL/TLS の構成によっては、移行元データベースで追加の構成手順が必要になる場合があります。
- 移行元ネットワーク接続方法を選択して構成します。
- 省略可: SSL/TLS 証明書を使用して移行元ネットワーク接続を保護するかどうかを検討します。
詳細については、
TLS を使用した安全なネットワーク接続をご覧ください。
- 移行元データベース インスタンスを構成します。
- 継続的な 移行の場合は、 継続的な移行用に移行元データベースを構成するをご覧ください。
- 1 回限りの移行の場合は、 1 回限りの移行用に移行元データベースを構成するをご覧ください。
このステップでは、専用の移行データベース ユーザー アカウントを作成し、必要なレプリケーション機能を有効にします。
-
省略可: ログファイル構成を最適化します。
アーカイブされたログファイルにアクセスすると、移行プロセスに 遅延が発生します。特定のログファイル設定を調整して、遅延の影響を制御できます。 遅延の影響を制御できます。
-
ソース接続プロファイルを作成します。
接続プロファイルには、Database Migration Service が移行元データベースへの接続を確立するために必要な情報が含まれています。接続の詳細は、使用する 移行元ネットワーク接続方法によって異なります。
ステップ 2. 移行先の Cloud SQL for PostgreSQL インスタンスを準備する
移行先の Cloud SQL インスタンスを構成する手順は次のとおりです。
- 移行先ネットワーク接続方法を選択して構成します。
-
移行先の Cloud SQL for PostgreSQL インスタンスを作成して構成します。
移行のニーズに対応するために十分なコンピューティング リソースとメモリリソースを使用していることを確認してください。詳細については、 移行に関する推奨事項をご覧ください。
-
デスティネーション接続プロファイルを作成します。
接続プロファイルには、Database Migration Service が移行先データベースへの接続を確立するために必要な情報が含まれています。接続の詳細は、使用する 移行先ネットワーク接続方法によって異なります。
ステップ 3. Oracle オブジェクトを PostgreSQL 構文に変換する
データベースには数千ものオブジェクトが含まれていることがあります。これらをすべて 1 つのセッションで変換するのは難しい場合があります。コンバージョン ワークスペースを使用すると、変換プロセスを複数のフェーズに分割できます。新しいオブジェクトを変換に追加し、問題を修正してから、移行先データベースでテストします。
移行元データベースからオブジェクトを変換する手順は次のとおりです。
ステップ 4. 移行ジョブを作成して実行する
移行を構成して実行する手順は次のとおりです。
- 省略可: 移行ジョブの証明書を自分で管理する場合は、 必要な暗号鍵を準備します。
-
省略可: 完全ダンプ フェーズを自分で実行する場合は、Oracle 移行元データベースからすべてのデータをエクスポートし、Database Migration Service の外部で移行先の Cloud SQL for PostgreSQL インスタンスにロードできます。
移行ジョブ フローの外部で完全ダンプを実行する場合は、 Database Migration Service が CDC レプリケーションを開始するシステム変更番号(SCN)を記録してください。
-
移行ジョブを作成して実行します。
移行先の Cloud SQL データベースは、移行中に書き込み可能であるため、必要に応じて DML の変更を適用できます。 データベース構成やテーブル構造を変更すると、移行プロセスが中断したり、データの完全性に影響する可能性があるため、注意してください。
Database Migration Service のオブザーバビリティ 機能を使用して、移行の進行状況と移行先インスタンス ヘルスをモニタリングできます。 移行ジョブの指標をご覧ください。
ステップ 5. 移行を完了する
アプリケーションを新しい AlloyDB for PostgreSQL インスタンスに切り替える場合は、次の手順で移行を完了します。
1 回限りの移行
Database Migration Service が完全ダンプ フェーズを完了すると、移行 ジョブのステータスが [**プロモートの準備完了**] に変わります。
継続的な移行
- 移行元データベースのすべての書き込みオペレーションを停止します。読み取り専用モードに切り替えて、オペレーション機能を維持できます。
- 省略可: 移行データが完全であることを確認します。
- 移行ジョブをプロモートします。
次のステップ
Cloud SQL for PostgreSQL の機能の詳細を確認する Google Cloud 。 Cloud SQL for PostgreSQL の機能をご覧ください。