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

ソースから宛先インスタンスにデータがどのように流れるかを理解するには、移行タイプと移行フェーズという 2 つの重要な概念を理解する必要があります。Database Migration Service は、継続的移行と 1 回限りの移行の 2 種類の移行をサポートしています。異種の Oracle から Cloud SQL for PostgreSQL への移行では、継続的な移行のみを使用できます。

継続的な移行では、データは完全なダンプと変更データ キャプチャ(CDC)の 2 つのフェーズで移行されます。

完全なダンプ フェーズ

完全なダンプフェーズは、移行プロセスの最初の部分です。完全なダンプ中、Database Migration Service は移行元インスタンスに接続し、移行用に選択したデータベースのコンテンツを読み取り、Cloud SQL for PostgreSQL の移行先インスタンスにデータを読み込みます。このフェーズでは、Database Migration Service がデータベースの実際のコンテンツをキャプチャします。

完全なダンプフェーズ中に、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 ログファイルの操作をご覧ください。