Data Transmission Service (DTS) を使用して、PolarDB for PostgreSQL (Oracle 互換) クラスタ間でデータを移行できます。
概要
PolarDB for PostgreSQL (Oracle 互換) は、幅広いアプリケーションに対応し、強力なコミュニティサポートを提供するエンタープライズレベルのリレーショナルデータベース管理システムです。新しいリリースごとに、パフォーマンス、可用性、セキュリティを強化するための多くの新機能と改善が加えられています。PolarDB for PostgreSQL (Oracle 互換) 2.0 では、データベースのパフォーマンスとユーザーエクスペリエンスが大幅に向上しています。
PolarDB for PostgreSQL (Oracle 互換) 2.0 では、クエリ速度と同時処理能力を向上させるために、新しいクエリ最適化アルゴリズムとストレージエンジンが導入されています。大量のデータをより高速に処理し、データベースの応答性とパフォーマンスを向上させることができます。PolarDB for PostgreSQL (Oracle 互換) 2.0 では、多くの新機能と拡張機能を使用して、より優れたユーザーエクスペリエンスと開発ツールも提供しています。たとえば、JSON データ型のサポートが強化されたため、JSON データの処理とクエリが容易になります。豊富な監視および診断ツールは、データベースのパフォーマンスをより深く理解し、最適化するのに役立ちます。データベースのセキュリティと信頼性が強化されています。より厳格な RAM ポリシーと権限管理機能により、データが潜在的なセキュリティの脅威から保護されます。バックアップとリカバリの改善により、データの保護と復元が向上します。
PolarDB for PostgreSQL (Oracle 互換) 2.0 にアップグレードすると、PostgreSQL コミュニティからより多くのリソースとサポートを得ることができ、問題の解決やデータベースのベストプラクティスの学習に役立ちます。そのメリットを最大限に活用するために、PolarDB for PostgreSQL (Oracle 互換) 2.0 にアップグレードすることをお勧めします。
事前評価
PolarDB for PostgreSQL (Oracle 互換) 1.0 クラスタを購入済みの場合は、移行評価機能を使用して、クラスタを移行する前にクラスタの互換性を検証できます。これにより、移行の進行に影響を与える前提条件を事前に特定して処理し、処理とリソースのコストを削減できます。
サポートされているリージョン
移行評価機能は、以下のリージョンで使用できます。
中国 (杭州)、中国 (上海)、中国 (深セン)、中国 (北京)、中国 (張家口)、中国 (ウランチャブ)、中国 (成都)、中国 (香港)、日本 (東京)、シンガポール、インドネシア (ジャカルタ)、米国 (シリコンバレー)、米国 (バージニア)。
影響
移行評価はワークロードに影響を与えません。
移行評価タスクの作成
PolarDB コンソール にログインします。
コンソールの左上隅で、管理するクラスタがデプロイされているリージョンを選択します。
移行評価タスクを作成します。PolarDB では、評価タスクを作成するために以下の方法が提供されています。
[クラスタ] ページから: 左上隅にある [移行/アップグレード評価] をクリックします。

[移行/アップグレード] ページから: 左上隅にある [移行/アップグレード評価] をクリックします。

[移行/アップグレード評価] ダイアログボックスで、パラメータを設定し、[次へ] をクリックします。
パラメータ
説明
作成方法
[PolarDB からのアップグレード] を選択します。
ソース PolarDB バージョン
[Oracle 1.0] を選択します。
ソース PolarDB クラスタ
ソースクラスタを選択します。
宛先データベースエンジン
[Oracle 2.0] を選択します。
データベース名
ソースデータベースを選択します。
[移行/アップグレード評価] ダイアログボックスで、クラスタの互換性に関する概要と詳細を確認できます。
概要を確認します。

詳細を確認します。
説明互換性評価結果で互換性のないオブジェクトに焦点を当てることができます。
Oracle ネイティブオブジェクトは無視できます。
SQL 文に含まれる互換性のないオブジェクトを適合させる必要があります。ビジネス側で適合できない場合は、お問い合わせください。R&D エンジニアがお手伝いします。
移行評価タスクの管理
作成された評価タスクの詳細を表示するには、移行/評価 ページに移動します。
評価タスクは 7 日間保持され、その後自動的に削除されます。評価タスクの期限が切れている場合は、新しく作成してください。
前提条件
ソースと宛先の PolarDB for PostgreSQL (Oracle 互換) クラスタが作成されていること。詳細については、「PolarDB for PostgreSQL (Oracle 互換) クラスタを作成する」をご参照ください。
ソースと宛先の PolarDB for PostgreSQL (Oracle 互換) クラスタの wal_level パラメータが logical に設定されていること。詳細については、「クラスタパラメータを設定する」をご参照ください。
宛先データベースの使用可能なストレージ容量が、ソースデータベースのデータの合計サイズよりも大きいこと。
制限事項
スキーマ同期中、DTS はソースデータベースから宛先データベースに外部キーを同期します。
完全データ同期および増分データ同期中、DTS はセッションレベルで外部キーの制約チェックとカスケード操作を一時的に無効にします。データ同期中にソースデータベースでカスケード更新または削除が実行されると、データの不整合が発生する可能性があります。
項目 | 説明 |
ソースデータベース (PolarDB for PostgreSQL (Oracle 互換) 1.0) の制限 |
|
その他の制限 |
|
課金ルール
同期タイプ | インスタンス構成料金 |
スキーマ同期と完全データ同期 | 無料。 |
増分データ同期 | 課金されます。詳細については、「課金概要」をご参照ください。 |
移行タイプ
移行タイプ | 注記 |
スキーマ移行 1 | DTS は、必要なオブジェクトのスキーマを宛先データベースに移行します。DTS は、テーブル、ビュー、シノニム、トリガー、ストアドプロシージャ、ストアドファンクション、パッケージ、ユーザー定義型などのオブジェクトのスキーマ移行をサポートしています。 説明 このシナリオでは、DTS はトリガーのスキーマ移行をサポートしていません。トリガーによってデータの不整合が発生するのを防ぐために、ソースデータベースのトリガーを削除することをお勧めします。詳細については、「トリガーを含むソースデータベースのデータ同期または移行タスクを設定する」をご参照ください。 |
完全データ移行 | DTS は、オブジェクトの既存データをソースデータベースから宛先データベースに移行します。 説明 スキーマ移行と完全データ移行中は、移行対象のオブジェクトに対して DDL 操作を実行しないでください。実行すると、オブジェクトが移行されない可能性があります。 |
増分データ移行 | DTS は、ソースデータベースから WAL ログファイルを取得します。次に、DTS はソースデータベースから宛先 PolarDB for PostgreSQL (Oracle 互換) クラスタに増分データを同期します。 増分データ移行により、PolarDB for PostgreSQL (Oracle 互換) クラスタ間でデータを移行する際のサービスの継続性を確保できます。 |
同期可能な SQL 文
タイプ | SQL 文 |
DML | INSERT、UPDATE、DELETE |
DDL | 重要
ソースデータベースのデータベースアカウントが特権アカウントの場合、データ同期タスクは次の DDL 操作をサポートします。
重要
|
データベースアカウントに必要な権限
データベース | 必要な権限 |
ソース PolarDB for PostgreSQL (Oracle 互換) クラスタ | 特権アカウントの権限。 |
宛先 PolarDB for PostgreSQL (Oracle 互換) クラスタ | データベース所有者の権限。 重要 データベースを作成するときにデータベース所有者を指定できます。データベースアカウントの作成と承認方法の詳細については、「データベースアカウントを作成する」をご参照ください。 |
データ同期タスクの設定
次のいずれかの方法を使用して、データ移行ページに移動し、データ移行インスタンスが存在するリージョンを選択します。
DTS コンソール
DTS コンソール にログインします。
左側のナビゲーションウィンドウで、データの移行 をクリックします。
ページの左上隅で、データ移行インスタンスが存在するリージョンを選択します。
DMS コンソール
説明実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモード」および「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。
DMS コンソール にログインします。
上部のナビゲーションバーで、ポインタを の上に移動します。
[データ移行タスク] の右側にあるドロップダウンリストから、データ同期インスタンスが存在するリージョンを選択します。
タスクの作成 をクリックし、ソースデータベースと宛先データベースを設定します。
説明データベースタイプを PolarDB for PostgreSQL (Oracle 互換) に設定します。
セクション
パラメータ
説明
該当なし
タスク名
タスクの名前。DTS はタスクに自動的に名前を割り当てます。タスクを識別しやすい名前を指定することをお勧めします。一意のタスク名を指定する必要はありません。
ソースデータベース (PolarDB for PostgreSQL (Oracle 互換) 1.0)
既存の接続を選択
使用するデータベースインスタンス。ビジネス要件に基づいて既存のインスタンスを選択するかどうかを選択できます。
既存のインスタンスを選択すると、DTS はインスタンスのパラメータを自動的に入力します。
既存のインスタンスを使用しない場合は、宛先データベースのパラメータを設定する必要があります。
データベースタイプ
[PolarDB for PostgreSQL (Oracle 互換)] を選択します。
アクセス方法
宛先データベースのアクセス方法。[Alibaba Cloud インスタンス] を選択します。
インスタンスリージョン
ソース PolarDB for PostgreSQL (Oracle 互換) クラスタがデプロイされているリージョン。
Alibaba Cloud アカウント間でデータをレプリケートする
Alibaba Cloud アカウント間でデータを同期するかどうかを指定します。この例では、[いいえ] が選択されています。
インスタンス ID
ソース PolarDB for PostgreSQL (Oracle 互換) クラスタの ID。
データベース名
ソース PolarDB for PostgreSQL (Oracle 互換) クラスタの名前。
データベースアカウント
ソース PolarDB for PostgreSQL (Oracle 互換) クラスタのデータベースアカウント。
データベースパスワード
データベースアカウントのパスワード。
宛先データベース (PolarDB for PostgreSQL (Oracle 互換) 2.0)
既存の接続を選択
使用するデータベースインスタンス。ビジネス要件に基づいて既存のインスタンスを選択するかどうかを選択できます。
既存のインスタンスを選択すると、DTS はインスタンスのパラメータを自動的に入力します。
既存のインスタンスを使用しない場合は、宛先データベースのパラメータを設定する必要があります。
データベースタイプ
[PolarDB for PostgreSQL (Oracle 互換)] を選択します。
アクセス方法
宛先データベースのアクセス方法。[Alibaba Cloud インスタンス] を選択します。
インスタンスリージョン
宛先 PolarDB for PostgreSQL (Oracle 互換) クラスタがデプロイされているリージョン。
インスタンス ID
宛先 PolarDB for PostgreSQL (Oracle 互換) クラスタの ID。
データベース名
宛先 PolarDB for PostgreSQL (Oracle 互換) クラスタの名前。
データベースアカウント
宛先 PolarDB for PostgreSQL (Oracle 互換) クラスタの特権データベースアカウント。詳細については、「データベースアカウントを作成する」をご参照ください。
データベースパスワード
データベースアカウントのパスワード。
ページの下部にある [接続テストと続行] をクリックします。
DTS は、DTS サーバーの CIDR ブロックを宛先クラスタのホワイトリストに追加します。
警告DTS サーバーの CIDR ブロックがデータベースまたはインスタンスの IP アドレスホワイトリスト、または ECS セキュリティグループルールに自動または手動で追加されると、セキュリティリスクが発生する可能性があります。したがって、DTS を使用してデータを移行する前に、潜在的なリスクを理解し、認識し、以下の対策を含むがこれらに限定されない予防措置を講じる必要があります。ユーザー名とパスワードのセキュリティを強化する、公開するポートを制限する、API 呼び出しを認証する、ホワイトリストまたは ECS セキュリティグループルールを定期的にチェックし、許可されていない CIDR ブロックを禁止する、または Express Connect、VPN Gateway、Smart Access Gateway を使用してデータベースを DTS に接続する。
移行するオブジェクトを選択し、詳細設定を行います。
説明ソースデータベースのすべての名前空間が一覧表示されます。ビジネス要件に基づいて名前空間を選択します。
パラメータ
説明
同期タイプ
同期タイプ。デフォルトでは、[増分データ同期] が選択されています。[スキーマ同期] と [完全データ同期] も選択する必要があります。事前チェックが完了すると、DTS は選択したオブジェクトの既存データをソースインスタンスから宛先インスタンスに同期します。既存データは、後続の増分同期の基礎となります。
説明すべての同期タイプを選択する必要があります。
同期トポロジ
一方向同期: ソースデータベースから宛先データベースへの一方向同期リンクのみが確立されます。これには、既存のデータ同期リンクと増分同期リンクが含まれます。
双方向同期: ソースデータベースから宛先データベースへの双方向同期リンクが確立されます。増分データ同期はソースデータベースから宛先データベースに実行され、逆データ伝送は宛先データベースからソースデータベースに実行されます。
説明逆データ伝送はデータ同期のみをサポートし、DDL 操作はサポートしていません。
既存のターゲットテーブルの処理モード
[事前チェックとエラー報告]: 宛先データベースにソースデータベースのテーブルと同じ名前のテーブルが含まれているかどうかをチェックします。ソースデータベースと宛先データベースに同じテーブル名が含まれていない場合、事前チェックは合格です。それ以外の場合、事前チェック中にエラーが返され、データ同期タスクを開始できません。
説明ソースデータベースと宛先データベースに同じテーブル名が含まれていて、宛先データベースのテーブルを削除または名前変更できない場合は、オブジェクト名マッピング機能を使用して、宛先データベースに同期されるテーブルの名前を変更できます。詳細については、「オブジェクト名をマッピングする」をご参照ください。
[エラーを無視して続行]: ソースデータベースと宛先データベースの同じテーブル名の事前チェックをスキップします。
警告[エラーを無視して続行] を選択すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。
ソースデータベースと宛先データベースのスキーマが同じで、データレコードのプライマリキー値が宛先データベースの既存のデータレコードと同じである場合:
完全データ同期中、DTS はデータレコードを宛先データベースに同期しません。宛先データベースの既存のデータレコードは保持されます。
増分データ同期中、DTS はデータレコードを宛先データベースに同期します。宛先データベースの既存のデータレコードは上書きされます。
ソースデータベースと宛先データベースのスキーマが異なる場合、データの初期化に失敗したり、一部の列のみが同期されたり、データ同期タスクが失敗したりする可能性があります。注意して操作してください。
宛先インスタンスのオブジェクト名の大文字と小文字の区別
宛先インスタンスのデータベース名、テーブル名、列名の大文字と小文字の区別。デフォルトでは、[DTS デフォルトポリシー] が選択されています。他のオプションを選択して、オブジェクト名の大文字と小文字の区別がソースデータベースまたは宛先データベースと一致するようにすることができます。詳細については、「宛先インスタンスのオブジェクト名の大文字と小文字の区別を指定する」をご参照ください。
ソースオブジェクト
[ソースオブジェクト] セクションから 1 つ以上のオブジェクトを選択し、
アイコンをクリックして、オブジェクトを [選択済みオブジェクト] セクションに追加します。説明同期するオブジェクトとして、列、テーブル、またはデータベースを選択できます。同期するオブジェクトとしてテーブルまたは列を選択した場合、DTS はビュー、トリガー、ストアドプロシージャなどの他のオブジェクトを宛先データベースに同期しません。
選択済みオブジェクト
宛先インスタンスに同期するオブジェクトの名前を変更するには、[選択済みオブジェクト] セクションでオブジェクトを右クリックします。詳細については、「オブジェクト名をマップする」をご参照ください。
同期する複数のオブジェクトの名前を変更するには、[選択済みオブジェクト] セクションの右上隅にある [一括編集] をクリックします。詳細については、「データベーステーブルの列名マッピング」をご参照ください。
説明特定のデータベースまたはテーブルで実行される SQL 操作を同期するには、[選択済みオブジェクト] セクションでオブジェクトを右クリックします。表示されるダイアログボックスで、同期する SQL 操作を選択します。詳細については、このトピックの「同期可能な SQL 操作」セクションをご参照ください。
データをフィルタリングするための WHERE 条件を指定するには、[選択済みオブジェクト] セクションでオブジェクトを右クリックします。表示されるダイアログボックスで、条件を指定します。詳細については、「SQL 条件を使用してデータをフィルタリングする」をご参照ください。
[次へ: 詳細設定] をクリックして詳細設定を行います。
パラメータ
説明
タスクスケジューリング専用のクラスタ
DTS 専用クラスタは、リージョン内の同じ仕様の複数の Elastic Compute Service (ECS) インスタンスで構成されます。DTS 専用クラスタは、DTS データ移行、データ同期、変更追跡タスクの管理と設定に使用されます。DTS パブリッククラスタと比較して、DTS 専用クラスタは、専用リソース、優れた安定性、優れたパフォーマンス、コスト削減という特徴があります。詳細については、「DTS 専用クラスタとは」をご参照ください。
失敗した接続の再試行時間範囲を指定する
失敗した接続の再試行時間範囲。データ同期タスクの開始後にソースデータベースまたは宛先データベースへの接続に失敗した場合、DTS は時間範囲内で直ちに接続を再試行します。有効値: 10 ~ 1440。単位: 分。デフォルト値: 720。このパラメータは 30 より大きい値に設定することをお勧めします。指定した時間範囲内に DTS がソースデータベースと宛先データベースに再接続すると、DTS はデータ同期タスクを再開します。それ以外の場合、データ同期タスクは失敗します。
説明同じソースデータベースまたは宛先データベースを持つ複数の DTS タスクに異なる再試行時間範囲を設定した場合、設定されている最短の再試行時間範囲が優先されます。
DTS が接続を再試行すると、DTS インスタンスの料金が発生します。ビジネス要件に基づいて再試行時間範囲を指定するか、ソースインスタンスと宛先インスタンスがリリースされた後、できるだけ早く DTS インスタンスをリリースすることをお勧めします。
その他の問題の再試行時間
その他の問題の再試行時間範囲。たとえば、データ同期タスクの開始後に DDL または DML 操作の実行に失敗した場合、DTS は時間範囲内で直ちに操作を再試行します。有効値: 1 ~ 1440。単位: 分。デフォルト値: 10。このパラメータは 10 より大きい値に設定することをお勧めします。指定した時間範囲内に失敗した操作が正常に実行されると、DTS はデータ同期タスクを再開します。それ以外の場合、データ同期タスクは失敗します。
重要[その他の問題の再試行時間] パラメータの値は、[失敗した接続の再試行時間] パラメータの値よりも小さくする必要があります。
完全データ移行のスロットリングを有効にする
完全データ移行中、ソースデータベースでは同時読み取りが有効になり、宛先データベースでは同時書き込みが有効になります。この動作は、データベースに負荷をかける可能性があります。データベースに影響を与えたくない場合は、移行率を制限できます。
増分データ移行のスロットリングを有効にする
増分データ移行中、ソースデータベースでは同時読み取りが有効になり、宛先データベースでは同時書き込みが有効になります。一方のデータベースのビジネス負荷が高い場合、もう一方のデータベースで書き込み負荷が発生する可能性があります。データベースに影響を与えたくない場合は、移行率を制限できます。
環境タグ
環境タグは、DTS タスクの重要度を識別するのに役立ちます。タスクの通常の動作には影響しません。
ETL の設定
抽出、変換、書き出し (ETL) 機能を設定するかどうかを指定します。詳細については、「ETL とは」をご参照ください。有効値:
[はい]: ETL 機能を設定します。コードエディタにデータ処理文を入力できます。詳細については、「データ移行またはデータ同期タスクで ETL を設定する」をご参照ください。
[いいえ]: ETL 機能を設定しません。
監視とアラート
データ同期タスクのアラートを設定するかどうかを指定します。タスクが失敗した場合、または同期レイテンシが指定したしきい値を超えた場合、アラート連絡先に通知が送信されます。
アラートを設定しない場合は、[いいえ] を選択します。
[はい] を選択した場合は、アラートしきい値とアラート連絡先も指定する必要があります。詳細については、「監視とアラートを設定する」をご参照ください。
[次へ: データ検証] をクリックします。[データ検証] ページで、次のパラメータを設定します。
パラメータ
説明
データ検証モード
完全データ検証: すべてのデータを検証します。[完全データ検証] を選択した場合は、検証パラメータとオブジェクトを設定する必要があります。詳細については、「DTS でのデータ同期または移行タスクのデータ検証機能を設定する」をご参照ください。
増分データ検証: 増分同期または移行されたデータを検証します。このオプションはデフォルトで選択されています。
スキーマ検証: 選択したオブジェクトのスキーマを検証します。
ページの下部にある [次へ: タスク設定の保存と事前チェック] をクリックします。
DTS タスクを設定するための関連 API 操作のパラメータを表示するには、[次へ: タスク設定の保存と事前チェック] の上にポインタを移動し、[OpenAPI パラメータのプレビュー] をクリックします。
パラメータを表示する必要がない場合、または表示済みの場合は、ページの下部にある [次へ: タスク設定の保存と事前チェック] をクリックします。
説明データ同期タスクを開始する前に、DTS は事前チェックを実行します。タスクが事前チェックに合格した後にのみ、データ同期タスクを開始できます。
タスクが事前チェックに失敗した場合は、失敗した各項目の横にある [詳細の表示] をクリックします。チェック結果に基づいて原因を分析した後、問題をトラブルシューティングします。その後、事前チェックを再度実行します。
事前チェック中に項目のアラートが生成された場合は、シナリオに基づいて次の操作を実行します。
アラート項目を無視できない場合は、失敗した項目の横にある [詳細の表示] をクリックして問題をトラブルシューティングします。その後、事前チェックを再度実行します。
アラート項目を無視できる場合は、[アラート詳細の確認] をクリックします。[詳細の表示] ダイアログボックスで、[無視] をクリックします。表示されるメッセージで、[OK] をクリックします。次に、[再チェック] をクリックして事前チェックを再度実行します。アラート項目を無視すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。
成功率が 100% になるまで待ちます。次に、[次へ: インスタンスの購入] をクリックします。
[インスタンスの購入] ページで、データ同期インスタンスの課金方法とインスタンスクラスのパラメータを設定します。次の表にパラメータを示します。
セクション
パラメータ
説明
新しいインスタンスクラス
課金方法
サブスクリプション: インスタンスを作成するときにサブスクリプション料金を支払います。サブスクリプション課金方法は、長期使用の場合、従量課金方法よりも費用対効果が高くなります。
従量課金: 従量課金インスタンスは 1 時間単位で課金されます。従量課金方法は、短期使用に適しています。従量課金インスタンスが不要になった場合は、インスタンスをリリースしてコストを削減できます。
リソースグループ
インスタンスが実行されるリソースグループ。デフォルト値: デフォルトリソースグループ。詳細については、「リソース管理とは」をご参照ください。
インスタンスクラス
DTS は、さまざまなパフォーマンスを提供するさまざまな同期仕様を提供します。同期速度は、選択した同期仕様によって異なります。ビジネスシナリオに基づいて同期仕様を選択できます。詳細については、「データ同期インスタンスの仕様」をご参照ください。
期間
サブスクリプション課金方法を選択した場合は、サブスクリプション期間と作成するインスタンス数を指定します。サブスクリプション期間は、1 ~ 9 か月、1 年、2 年、3 年、または 5 年にすることができます。
説明このパラメータは、[サブスクリプション] 課金方法を選択した場合にのみ表示されます。
[Data Transmission Service (従量課金) サービス条件] を読み、チェックボックスをオンにします。
[購入して開始] をクリックしてデータ同期タスクを開始します。タスクリストでタスクの進行状況を確認できます。
データ同期タスクの実行
手順
事前チェック: データ移行または同期プロセスが開始される前の準備段階。必要なすべての条件が満たされているかどうかを確認するために使用されます。たとえば、ネットワーク接続、システム権限、データ形式と整合性がチェックされます。
フロントフェーシングモジュール: データ処理プロセスでは、プレモジュールは通常、データを前処理します。このプロセスでは、後続のデータを処理するために必要なトリガーがいくつか作成されます。
増分データ収集: 最後の収集操作後に変更または追加されたデータのみが収集されます。効率を向上させ、変更されていないデータの収集を回避するのに役立ちます。
スキーマ移行 1: スキーマの整合性を維持しながら、データをあるシステムから別のシステムに転送したり、データをある形式から別の形式に変換したりすることを伴います。これは通常、新しい環境のスキーマを作成するための予備的な移行手順です。スキーマ、シーケンス、関数、ストアドプロシージャ、ビュー、インデックスなど、ほとんどの移行要素はこの手順で作成されます。
完全データ移行: データベースまたはデータウェアハウスから別のシステムにすべてのデータを移行します。
スキーマ移行 2: スキーマを微調整および最適化したり、初期移行で発生した問題を解決したりするために使用される 2 回目のスキーマ調整。この手順では、一部のテーブルに外部キーが作成されます。
増分書き込み: 完全データ移行が完了した後、新規および変更されたデータを識別し、宛先システムに移行する必要があります。この手順では、増分データ書き込みを実装します。
バックフェーシングモジュール: データ移行または同期が完了した後、ポストモジュールは一連のラップアップタスクを実行します。データのクリア、インデックスの作成、パフォーマンスの最適化などが含まれる場合があります。
完全データ検証: データ移行後、データの整合性と精度を確保するために検証が必要です。完全データ検証では、移行されたすべてのデータをチェックして、データが新しいシステムに正しくコピーされたかどうかを確認します。
増分データ検証: 完全データ検証に似ています。増分データ検証は増分データに焦点を当てています。最後の検証以降に行われたデータ変更がすべて正確にキャプチャされ、移行されたことを確認します。
例
新しい DTS コンソールのデータ同期ページ にログインして、移行の詳細を表示できます。
事前チェック
説明この手順は自動的に実行されます。
フロントフェーシングモジュール
説明この手順は自動的に実行されます。
増分データ収集
説明この手順は自動的に実行されます。
スキーマ移行
ほとんどのテーブル、インデックス、シーケンスは自動的に移行されます。テーブルが移行されます。
説明スキーマ移行中にタスクが失敗した場合は、スキーマ改訂機能を使用して、移行で使用される SQL 文を手動で修正できます。

完全データ移行
指定した範囲内のすべてのテーブルのデータが移行されます。[データ同期] ページでデータトラフィックと伝送速度を表示できます。

スキーマ移行 2
この手順では、テーブルの外部キー制約の移行に焦点を当てています。外部キーを追加することは、データが移行された後、テーブル間のデータの整合性を確保するために重要です。

増分書き込み
ソースデータベースからの一方向データ同期が実行されます。ソースデータベースのすべてのデータがサブスクライブされて転送され、宛先データベースで処理および適用されます。

バックフェーシングモジュール

完全データ検証
この手順では、ソースデータベースと宛先データベースのデータを比較します。この例では、ソースデータベースの
t1テーブルと宛先データベースのt1テーブルの 835,266 行が比較されます。データは一致しているため、検証は成功です。
増分データ検証
上記すべてのタスクが完了すると、システムは自動的に増分同期と増分データ検証の手順を開始します。増分データ検証手順では、システムは 2 つのデータベース間の増分データの差分を比較します。

カットオーバーとリリース
移行が完了したら、宛先データベースをテスト環境に追加し、包括的な方法でテストすることをお勧めします。ソースデータベースのデータは宛先データベースに完全に同期する必要があります (データ再生中にわずかなレイテンシが発生するのは正常です)。テスト期間は、ビジネス要件によって異なる場合があります。カットオーバーとリリースを開始する前に、宛先データベースが正常に動作していることを確認するために、少なくとも 1 週間テストを実行することをお勧めします。
10 時間などのカットオーバー時間枠を計画する必要があります。この期間中、ソースデータベースは使用できません。宛先データベースでデータ再生が完了したら、ビジネスのデータベース接続文字列を更新し、業務システムを再起動できます。次に、必要な基本的なビジネステストを開始できます。テストで問題が見つからない場合は、宛先データベースをサービスに投入できます。
宛先データベースが完全に安定していることを確認するまで、一定期間ソースデータベースを保持してから、ソースデータベースを破棄することをお勧めします。
