Database Migration Service は、移行ジョブを使用して、移行元のデータベース インスタンスから移行先の AlloyDB for PostgreSQL データベース インスタンスにデータを移行します。
移行ジョブの作成には以下が含まれます。
- 移行ジョブの設定を定義します
- ソース データベース用に作成した接続プロファイル(ソース接続プロファイル)に関する情報を指定します
- 宛先データベース用に作成した接続プロファイル(宛先接続プロファイル)に関する情報を指定します。
- ソース データベースから移行するオブジェクトの構成
- 移行ジョブをテストして、ジョブに指定した接続情報が有効であることを確認します
始める前に
移行ジョブを作成する前に、次のことを確認します。
- 移行元の Oracle データベースと移行先の AlloyDB for PostgreSQL データベースの両方の接続プロファイルを作成します。接続プロファイルを作成するをご覧ください。
- Database Migration Service が移行元データベースのスキーマとオブジェクトを移行先データベース インスタンスと互換性のある形式に変換するために使用するコンバージョン ワークスペースを作成します。コンバージョン ワークスペースを作成するをご覧ください。
移行ジョブの設定を定義する
- Google Cloud コンソールで、[Migration jobs] ページに移動します。
- ページ上部の [移行ジョブを作成] をクリックします。
- 移行ジョブの名前を指定します。移行ジョブを識別できるわかりやすい名前を選択します。ジョブ名には機密情報や個人を特定できる情報を含めないでください。
自動生成された移行ジョブ ID を保持します。
[移行元データベース エンジン] メニューから [Oracle] を選択します。
[移行先データベース エンジン] メニューから [AlloyDB for PostgreSQL] を選択します。
移行先のリージョンを選択します。Database Migration Service インスタンスが作成される場所です。Compute Engine インスタンス、App Engine アプリ、その他のサービスなど、データを必要とするサービスのロケーションに基づいて選択する必要があります。宛先リージョンを選択した後、この選択を変更することはできません。
省略可: [暗号化の詳細オプション] セクションを開き、ソースから移行先に移行されるデータの暗号化を管理するかどうかを指定します。デフォルトでは、データは Google Cloudによって管理される鍵で暗号化されます。
暗号化を管理する場合は、顧客管理の暗号鍵(CMEK)を使用できます。鍵は Cloud SQL for MySQL データベースと同じロケーションにあることが必要です。たとえば、us-west1 にあるデータベースでは、us-west1 の鍵のみを使用できます。
- [顧客管理の暗号鍵(CMEK)] ラジオボタンを選択します。
- [顧客管理の暗号鍵を選択] メニューから CMEK を選択します。
鍵が表示されない場合は、[鍵のリソース名を入力] をクリックして、使用する鍵のリソース名を指定します。たとえば、[Key resource name] フィールドに「
projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key
」と入力し、[SAVE] をクリックします。
移行ジョブに環境を準備する方法が反映されるように、自動的に生成される必須の前提条件を確認します。これらの前提条件には、移行元データベースの構成方法や移行先データベース インスタンスへの接続方法が含まれます。この手順でこれらの前提条件を完了することをおすすめしますが、移行ジョブをテストまたは開始する前にいつでも完了できます。これらの前提条件の詳細については、移行元 Oracle データベースの構成をご覧ください。
[保存して続行] をクリックします。
ソース設定を定義する
[ソースの定義] ページで、次の操作を行います。
- [ソース接続プロファイル] プルダウン メニューから、Oracle インスタンスのソース接続プロファイルを選択します。
- [保存して次へ] をクリックします。
- (省略可)[接続プロファイルをテストする] セクションで [テストを実行] をクリックし、Database Migration Service がソース インスタンスへのネットワーク接続を確立できるかどうかを確認します。
接続テストが失敗した場合でも移行ジョブを作成できますが、移行ジョブを実行する前に接続の問題を修正する必要があります。
- [ソース構成をカスタマイズする] セクションで、次の設定を行います。
- 完全なダンプの構成
- このセクションでは、移行の完全ダンプ フェーズを実行する方法を指定します。
- 移行対象として選択したデータベースから既存のすべてのデータを自動的に読み取り、そのデータを移行先クラスタに自動的に読み込むには、[自動] を選択します。
- 既存のデータをソースから Database Migration Service 外の移行先クラスタに読み込む場合は、[カスタマー マネージド] を選択します。このオプションを選択すると、移行ジョブは完全なダンプ フェーズをスキップし、すぐに CDC フェーズを開始します。
お客様が管理する完全なダンプ フェーズを使用するには、Database Migration Service で変更データ キャプチャのレプリケーションを開始するログ位置をマークする Oracle システム変更番号(SCN)を指定する必要があります。
- 移行元読み取り設定
- 完全なダンプ フェーズまたは CDC フェーズで Database Migration Service がソース インスタンスに確立できる最大同時接続数をカスタマイズできます。
Database Migration Service は、指定された接続上限内で最適なパフォーマンスを確保するために接続数を調整します。最大接続上限を増やすと移行速度は向上しますが、移行元データベースの負荷が増加します。
次の設定を構成できます。
- 完全なダンプの最大同時接続数
デフォルト値:
50
指定できる値: 最小
1
、最大50
- CDC の最大同時接続数
デフォルト値:
5
指定できる値: 最小
1
、最大50
- 完全なダンプの最大同時接続数
- [保存して次へ] をクリックします。
転送先の設定を定義する
[宛先の定義] ページで、次の操作を行います。
- [宛先接続プロファイル] プルダウン メニューから、宛先接続プロファイルを選択します。
- [保存して次へ] をクリックします。
- (省略可)[Test connection profile] セクションで、[Run test] をクリックして、Database Migration Service が宛先へのネットワーク接続を確立できるかどうかを確認します。
接続テストが失敗した場合でも移行ジョブを作成できますが、移行ジョブを実行する前に接続の問題を修正する必要があります。
- [宛先構成をカスタマイズする] セクションで、次の設定を行います。
- 移行先の最大同時接続数
-
デフォルト値:
128
指定できる値: 最小
2
、最大256
Database Migration Service が移行先インスタンスに確立できる最大同時接続数をカスタマイズできます。
Database Migration Service は、指定された接続上限内で最適なパフォーマンスを確保するために接続数を調整します。最大接続上限を増やすと移行速度は向上しますが、移行先データベースに追加の負荷がかかります。
- トランザクションのタイムアウト
-
デフォルト値:
30
指定できる値: 最小
30
、最大300
移行プロセス中に、Database Migration Service で特定の問題が発生し、トランザクションがタイムアウトすることがあります。Database Migration Service がトランザクションの完了を待機してからキャンセルするまでの秒数を調整できます。
キャンセルされたトランザクションが原因で移行ジョブが失敗することはありません。移行ジョブはデータのコピーを続行しますが、ステータスは [Running with errors] に変わります。移行ジョブの詳細を表示して、対処が必要な問題を確認できます。
- [保存して次へ] をクリックします。
移行するオブジェクトの選択
[コンバージョン ワークスペース] プルダウン リストからコンバージョン ワークスペースを選択します。
省略可。[詳細を表示] をクリックすると、コンバージョン ワークスペースの詳細が表示されます。
コンバージョン ワークスペースを選択すると、ページの [移行するオブジェクトを選択] 領域に、移行先に移行できる Oracle ソース データベースのすべてのオブジェクト(スキーマとテーブル)が一覧表示されます。
Database Migration Service で移行するデータベース オブジェクトをリストから選択します。
[保存して続行] をクリックします。
移行ジョブをテストして作成する
この最後の手順では、移行ジョブの設定、ソース、宛先の概要を確認し、移行ジョブの設定の有効性をテストします。問題が発生した場合は、移行ジョブの設定を変更できます。すべての設定を編集できるわけではありません。
[TEST JOB] をクリックして、次のことが確認されていることを確認します。
前提条件に基づいて、移行元データベースが正しく構成されている。
Database Migration Service が移行先データベースに接続できる。
変換されたテーブルはすべて、宛先データベースに存在します。
宛先データベース内の変換されたテーブルにはすべて主キーがあります。
宛先データベース内の変換されたテーブルに外部キーはありません。外部キーは移行の妨げにはなりませんが、移行の全体的なパフォーマンスには影響します。移行先データベースに外部キーを含むテーブルがある場合、Database Migration Service は警告を発行します。
テストに失敗した場合は、フローの適切な部分で問題に対処してから、再テストに戻ることができます。
テストが失敗しても移行ジョブは作成できますが、ジョブの開始後に実行中に失敗する可能性があります。
[ジョブを作成して開始] をクリックして移行ジョブを作成してすぐに開始するか、[ジョブを作成] をクリックして移行ジョブを作成してすぐに開始しないでください。
ジョブが作成時に開始されなかった場合は、[移行ジョブ] ページで [開始] をクリックして開始できます。
移行ジョブの開始時間に関係なく、移行先インスタンスの存在に対して料金が発生します。
移行ジョブは移行ジョブのリストに追加され、直接表示できます。