ソースから宛先インスタンスへのデータフローを理解するには、移行タイプと移行フェーズという 2 つの重要なコンセプトを理解する必要があります。Database Migration Service は、継続的と 1 回限りの 2 種類の移行をサポートしています。
継続的な移行では、データはフルダンプと変更データ キャプチャ(CDC)の 2 つのフェーズで移行されます。1 回限りの移行には、完全なダンプフェーズのみが含まれます。
完全なダンプフェーズ
完全ダンプフェーズは、移行プロセスの最初の部分です。完全ダンプ中、Database Migration Service は移行元インスタンスに接続し、移行対象として選択したデータベースの内容を読み取り、Cloud SQL for PostgreSQL 移行先インスタンスにデータを読み込みます。このフェーズでは、Database Migration Service がデータベースの実際のコンテンツをキャプチャします。1 回限りの移行の場合、すでに読み取られたバッチのデータに加えられた変更は移行されません。
完全ダンプフェーズでは、Database Migration Service はパフォーマンスを向上させるために、移行元データベースへの複数の接続を開くことができます。同時接続数は、 移行ジョブを作成するときに構成できます。
データ移動をきめ細かく制御するために、Database Migration Service の外部で、完全なダンプを実行してデータを移行先インスタンスに読み込むこともできます。このフェーズを手動で行う場合は、移行ジョブが CDC フェーズから開始され、Database Migration Service は、redo ログファイルのシステム変更番号(SCN)を開始点として提供することを想定します。
変更データ キャプチャ(CDC)
完全ダンプフェーズが終了すると(または、完全ダンプを自分で実行して CDC フェーズから開始することを選択した場合)、Database Migration Service は CDC フェーズに切り替わり、移行元データベースの変更をモニタリングし、移行先インスタンスに継続的に複製します。このフェーズでは、Database Migration Service は移行元データベースから実際のデータをコピーするのではなく、ログファイルを読み取って移行先の変更を複製します。
Database Migration Service は、Oracle LogMiner API を使用して、移行元データベース内のアーカイブされた Oracle REDO ログファイルにアクセスして解析します。Database Migration Service を使用して Oracle データベースを Cloud SQL for PostgreSQL に移行する前に、最適なパフォーマンスとデータの忠実性を実現するために、Oracle redo ログファイルの設定を調整することをおすすめします。詳細については、 Oracle の REDO ログファイルを操作するをご覧ください。