Database Migration Service は、移行ジョブを使用して、移行元のデータベースから移行先の Cloud SQL インスタンスにデータを移行します。移行ジョブを使用すると、移行元と移行先の接続プロファイルを整理して移行プロセスに固有の設定を定義し、進行状況をモニタリングして、オペレーション全体を安全に完了できます。
移行ジョブの作成には、次のタスクの実行が含まれます。
ソースと宛先の接続プロファイルの選択。
コンバージョン ワークスペースを選択し、移行するオブジェクトを指定する。
移行ジョブのテストを実行して、Database Migration Service がデータソースと移行先に接続できることを確認します。
移行ジョブを開始し、進行状況をモニタリングする。
アプリケーションを新しいインスタンスに切り替えるときに、移行ジョブをプロモートする。
始める前に
- 次の要件を満たしていることを確認してください。
-
移行元データベースを移行用に構成しました。 継続的な移行のために移行元データベースを構成する または 1 回限りの移行のために移行元データベースを構成するをご覧ください。
- ソース ネットワーク接続を構成している。
- データベースの ソース接続プロファイルがある。
- 移行先の 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.getresourcemanager.projects.listcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.databases.getcloudsql.databases.deletecloudsql.operations.getcompute.machineTypes.listcompute.machineTypes.getcompute.projects.get
カスタムロールや他の 事前定義ロールを使用して、これらの権限を取得することもできます。
移行ジョブの設定を定義する
移行ジョブを作成するには、次の手順を行います。
- Google Cloud コンソールで、[移行ジョブ] ページに移動します。
- [移行ジョブを作成] をクリックします。
移行ジョブ構成ウィザードのページが開きます。このウィザードには、各構成手順を説明する複数のパネルが含まれています。
移行ジョブの作成は、[保存して終了] をクリックすることで、いつでも一時停止できます。その時点までに入力したすべてのデータは、下書きの移行ジョブに保存されます。下書きの移行ジョブは後で完了できます。 ドラフト移行ジョブを更新するをご覧ください。
- [開始] ページで、次の情報を入力します。
- 移行ジョブ名: 移行ジョブの人が読める名前です。この値は Google Cloud コンソールに表示されます。
- 移行ジョブ ID: 移行ジョブの機械で読み取り可能な識別子です。この値は、Database Migration Service の Google Cloud CLI コマンドまたは API を使用して移行ジョブを操作するときに使用します。
- [移行元データベース エンジン] リストから [Oracle] を選択します。
- [移行先データベース エンジン] プルダウン メニューから [Cloud SQL for PostgreSQL] を選択します。
- [移行ジョブの種類] メニューから、[1 回限り] または [継続的] を選択します。
- 省略可: 移行用に独自のデータ暗号鍵を管理する場合は、[詳細な暗号化オプション] を開き、次の操作を行います。
- [Cloud KMS 鍵] オプションを選択します。
- [鍵のタイプ] の設定は、デフォルトの [Cloud KMS] オプションのままにします。
Database Migration Service は、Cloud KMS with Autokey 機能をサポートしていません。
- [顧客管理の鍵を選択] プルダウン メニューから、暗号鍵を選択します。鍵の完全修飾 ID を手動で入力することもできます。
- [保存して次へ] をクリックします。
- [ソースを定義する] ページで、次の操作を行います。
- [ソース接続プロファイル] プルダウン メニューから、移行元の接続プロファイルを選択します。
- [ソース構成のカスタマイズ] セクションで、次の設定を構成します。
-
完全なダンプの構成: この設定は、継続的な移行でのみ使用できます。移行のフルダンプ フェーズの実行方法を選択できます。この設定のデフォルト値は [自動] です。 使用可能な設定の詳細については、[フルダンプの設定] セクションを開いてください。
完全なダンプの設定
- 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
- 完全なダンプの最大同時接続数
-
- [保存して次へ] をクリックします。
- [宛先の定義] ページの [宛先接続プロファイル] プルダウン メニューから、宛先接続プロファイルを選択します。
- [宛先の構成をカスタマイズする] セクションで、次の設定を構成します。
- 移行先の最大同時接続数
-
デフォルト値:
128使用できる値: 最小
2、最大256Database Migration Service が移行先インスタンスに対して確立できる最大同時接続数をカスタマイズできます。
Database Migration Service は、指定された接続制限内で最適なパフォーマンスを確保するために、接続数を調整します。最大接続数の上限を増やすと、移行速度が向上しますが、移行先データベースの負荷が増加します。
- トランザクションのタイムアウト
-
デフォルト値:
30使用できる値: 最小
30、最大300移行プロセス中に、Database Migration Service でトランザクションのタイムアウトを引き起こす特定の問題が発生することがあります。Database Migration Service がトランザクションの完了を待機する秒数を調整できます。この秒数が経過すると、トランザクションはキャンセルされます。
キャンセルされたトランザクションによって移行ジョブが失敗することはありません。移行ジョブはデータのコピーを続行しますが、[エラーありで実行中] ステータスに移行します。移行ジョブの詳細を表示して、対処が必要な問題を確認できます。
- [保存して次へ] をクリックします。
- [移行オブジェクトの構成] ページで、次の操作を行います。
- [コンバージョン ワークスペース] プルダウン メニューから、コンバージョン ワークスペースを選択します。
- [移行するオブジェクトを選択] セクションで、チェックボックスを使用して、この移行ジョブに含めるオブジェクトを選択します。このリストは、コンバージョン ワークスペースで PostgreSQL スキーマに変換したオブジェクトに基づいて入力されます。
- [保存して次へ] をクリックします。
- [移行ジョブのテストと作成] で、次の操作を行います。
- (省略可)[ジョブをテスト] をクリックして、Database Migration Service がすべてのバックアップ ファイルを正常に識別し、必要なネットワーク接続を確立できるかどうかを確認します。
テストに失敗した場合は、エラー メッセージを参照して問題に対処し、テストを再度実行できます。発生する可能性のあるエラーの詳細については、 問題の診断をご覧ください。
- [ジョブを作成して開始] をクリックして移行を開始します。
別のタイミングで移行ジョブを実行する場合は、[保存] をクリックし、後でジョブを実行します。 移行ジョブを開始するをご覧ください。
- (省略可)[ジョブをテスト] をクリックして、Database Migration Service がすべてのバックアップ ファイルを正常に識別し、必要なネットワーク接続を確立できるかどうかを確認します。