Database Migration Service は、移行ジョブを使用して、移行元データベースから Cloud SQL 移行先インスタンスにデータを移行します。移行ジョブを使用すると、移行元と移行先の接続プロファイルを整理し、移行プロセスに固有の設定を定義し、進行状況をモニタリングして、オペレーション全体を安全に完了できます。
移行ジョブの作成には、次のタスクの実行が含まれます。
移行元と移行先の接続プロファイルの選択。
コンバージョン ワークスペースを選択して、移行するオブジェクトを指定します。
移行ジョブテストを実行して、Database Migration Service がデータソースと移行先に接続できることを確認します。
移行ジョブの開始と進行状況のモニタリング。
アプリケーションを新しいインスタンスに切り替えるときに移行ジョブを昇格させる。
始める前に
- 次の要件を満たしていることを確認してください。
-
移行用に 移行元データベースを構成しました。
- 移行元のネットワーク接続を構成しました。
- データベースの ソース接続プロファイルがあります。
- 移行先の Cloud SQL インスタンスを作成して構成しました。
- 宛先ネットワーク接続を構成しました。
- Cloud SQL インスタンスの 移行先接続プロファイルがある。
- Database Migration Service コンバージョン ワークスペースを使用して、 移行元の Oracle スキーマを変換しました。
- 省略可: 移行ジョブの独自の証明書を管理する場合は、 必要な暗号鍵を準備します。
-
- Google Cloud コンソールの [プロジェクト セレクタ] ページで、 Google Cloud プロジェクトを選択または 作成します。
- Database Migration Service API と Cloud SQL Admin API を有効にします。
必要なロール
異種 Oracle 移行の移行ジョブの作成に必要な権限を取得するには、次の 移行プロセスに関連するアカウントに対して、プロジェクトで必要な IAM ロールを付与するよう管理者に依頼してください。
- 移行を実行するユーザー アカウント:
-
データベース移行管理者(
roles/datamigration.admin
) -
Cloud SQL 編集者(
roles/cloudsql.editor
)
-
データベース移行管理者(
- Database Migration Service サービス アカウント:
-
データベース移行管理者(
roles/datamigration.admin
) -
Cloud SQL 編集者(
roles/cloudsql.editor
)
-
データベース移行管理者(
ロールの付与の詳細については、Identity and Access Management のドキュメントの アクセスを管理するをご覧ください。
これらの事前定義ロールには、Database Migration Service で異種の Oracle 移行を実行するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
Database Migration Service で異種の Oracle 移行を実行するには、次の権限が必要です。
datamigration.*
resourcemanager.projects.get
resourcemanager.projects.list
cloudsql.instances.create
cloudsql.instances.get
cloudsql.instances.list
cloudsql.databases.get
cloudsql.databases.delete
cloudsql.operations.get
compute.machineTypes.list
compute.machineTypes.get
compute.projects.get
カスタムロールや他の 事前定義ロールを使用して、これらの権限を取得することもできます。
移行ジョブの設定を定義する
移行ジョブを作成するには、次の操作を行います。
- Google Cloud コンソールで、[移行ジョブ] ページに移動します。
- [移行ジョブを作成] をクリックします。
移行ジョブ構成ウィザードのページが開きます。このウィザードには、各構成ステップを案内する複数のパネルがあります。
[Save and exit] をクリックすると、移行ジョブの作成を一時停止できます。その時点で入力したデータはすべて、下書きの移行ジョブに保存されます。下書きの移行ジョブは後で完了できます。 ドラフト移行ジョブを更新するをご覧ください。
- [開始] ページで、次の情報を入力します。
- 移行ジョブ名: 移行ジョブのわかりやすい名前です。この値は Google Cloud コンソールに表示されます。
- 移行ジョブ ID: 移行ジョブの機械読み取り可能な ID です。この値は、Database Migration Service の Google Cloud CLI コマンドまたは API を使用して移行ジョブを操作する場合に使用します。
- [移行元データベース エンジン] リストから [Oracle] を選択します。
- [移行先データベース エンジン] プルダウン メニューから [Cloud SQL for PostgreSQL] を選択します。
- 省略可: 移行用に独自のデータ暗号鍵を管理する場合は、[Advanced encryption options] を開いて次の操作を行います。
- [Cloud KMS 鍵] オプションを選択します。
- [キーのタイプ] の設定では、デフォルトの [Cloud KMS] オプションのままにします。
Database Migration Service は、Cloud KMS with Autokey 機能をサポートしていません。
- [顧客管理の暗号鍵を選択] プルダウン メニューから、暗号鍵を選択します。鍵の完全修飾 ID を手動で入力することもできます。
- [保存して次へ] をクリックします。
- [ソースを定義する] ページで、次の操作を行います。
- [ソース接続プロファイル] プルダウン メニューから、移行元の接続プロファイルを選択します。
- [ソース構成をカスタマイズする] セクションで、次の設定を行います。
-
完全なダンプ構成: このセクションでは、移行の完全なダンプ フェーズを実行する方法を選択できます。デフォルト値は Automatic です。使用可能な設定の詳細については、[完全ダンプ設定] セクションを開きます。
完全なダンプの設定
- 移行対象として選択したデータベースから既存のすべてのデータを自動的に読み取り、そのデータを移行先インスタンスに自動的に読み込むには、[自動] を選択します。
- 移行元から Database Migration Service 外の移行先インスタンスに既存のデータを読み込む場合は、[カスタマー マネージド] を選択します。このオプションを選択すると、移行ジョブは完全なダンプ フェーズをスキップし、CDC フェーズをすぐに開始します。
お客様が管理する完全なダンプ フェーズを使用するには、Database Migration Service で変更データ キャプチャのレプリケーションを開始するログ位置をマークする Oracle システム変更番号(SCN)を指定する必要があります。
-
ソース読み取りの設定: フルダンプ フェーズまたは CDC フェーズで Database Migration Service が移行元インスタンスに確立できる同時接続の最大数をカスタマイズできます。使用可能な設定の詳細については、[最大同時接続数設定] セクションを開きます。
最大同時接続数の設定
Database Migration Service は、指定された接続上限内で最適なパフォーマンスを確保するために接続数を調整します。最大接続上限を増やすと移行速度は向上しますが、移行元データベースの負荷が増加します。
次の設定を使用できます。
- 完全なダンプの最大同時接続数
デフォルト値:
50
指定できる値: 最小
1
、最大50
- CDC の最大同時接続数
デフォルト値:
5
指定できる値: 最小
1
、最大50
- 完全なダンプの最大同時接続数
-
- [保存して次へ] をクリックします。
- [宛先の定義] ページの [宛先接続プロファイル] プルダウン メニューから、宛先接続プロファイルを選択します。
- [宛先構成をカスタマイズする] セクションで、次の設定を行います。
- 移行先の最大同時接続数
-
デフォルト値:
128
指定できる値: 最小
2
、最大256
Database Migration Service が移行先インスタンスに確立できる最大同時接続数をカスタマイズできます。
Database Migration Service は、指定された接続上限内で最適なパフォーマンスを確保するために接続数を調整します。最大接続上限を増やすと移行速度を向上させることができますが、移行先データベースに追加の負荷がかかります。
- トランザクションのタイムアウト
-
デフォルト値:
30
指定できる値: 最小
30
、最大300
移行プロセス中に、Database Migration Service で特定の問題が発生し、トランザクションがタイムアウトすることがあります。Database Migration Service がトランザクションの完了を待機してからキャンセルするまでの秒数を調整できます。
キャンセルされたトランザクションが原因で移行ジョブが失敗することはありません。移行ジョブはデータのコピーを続行しますが、ステータスは [Running with errors] に変わります。移行ジョブの詳細を表示して、対処が必要な問題を確認できます。
- [保存して次へ] をクリックします。
- [移行オブジェクトを構成する] ページで、次の操作を行います。
- [コンバージョン ワークスペース] プルダウン メニューから、コンバージョン ワークスペースを選択します。
- [移行するオブジェクトを選択する] セクションで、チェックボックスを使用して、この移行ジョブに含めるオブジェクトを選択します。このリストには、変換ワークスペースで PostgreSQL スキーマに変換したオブジェクトが入力されます。
- [保存して次へ] をクリックします。
- [移行ジョブのテストと作成] で、次の操作を行います。
- (省略可)[ジョブをテスト] をクリックして、Database Migration Service がすべてのバックアップ ファイルを正常に識別し、必要なネットワーク接続を確立できるかどうかを確認します。
テストに失敗した場合は、エラー メッセージを参照して問題に対処し、テストを再度実行できます。発生する可能性のあるエラーの詳細については、 問題の診断をご覧ください。
- [ジョブを作成して開始] をクリックして移行を開始します。
移行ジョブを別の時間に実行する場合は、[保存] をクリックして後でジョブを実行します。 移行ジョブを開始するをご覧ください。
- (省略可)[ジョブをテスト] をクリックして、Database Migration Service がすべてのバックアップ ファイルを正常に識別し、必要なネットワーク接続を確立できるかどうかを確認します。