Oracle から Cloud SQL for PostgreSQL へのデータフローの概要

移行元インスタンスから移行先インスタンスへのデータの流れを理解するには、移行タイプと移行フェーズという 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 ログファイルの操作をご覧ください。