すべてのプロダクト
Search
ドキュメントセンター

Data Transmission Service:ApsaraDB RDS for PostgreSQLインスタンス間の双方向データ同期の設定

最終更新日:Oct 31, 2024

Data Transmission Service (DTS) は、ApsaraDB RDS for PostgreSQLインスタンスのデータベースや自己管理型PostgreSQLデータベースなど、2つのPostgreSQLデータベース間の双方向データ同期をサポートします。 この機能は、アクティブなgeo冗長性 (ユニットベース) やgeoディザスタリカバリなどのシナリオに適用されます。 このトピックでは、ApsaraDB RDS for PostgreSQLインスタンス間の双方向データ同期を設定する方法について説明します。

前提条件

制限事項

カテゴリ

説明

ソースデータベースとターゲットデータベースの制限

  • 同期するテーブルには、PRIMARY KEYまたはUNIQUE制約が必要であり、すべてのフィールドが一意である必要があります。 そうでない場合、宛先データベースは重複するデータレコードを含み得る。

  • 同期するオブジェクトとしてテーブルを選択し、ターゲットデータベースのテーブルまたは列の名前を変更するなど、テーブルを編集する場合は、1つのデータ同期タスクで最大5,000のテーブルを同期できます。 タスクを実行して5,000を超えるテーブルを同期すると、リクエストエラーが発生します。 この場合、複数のタスクを構成してテーブルを同期するか、タスクを構成してデータベース全体を同期することをお勧めします。

  • WALログの次の要件を満たす必要があります。

    • wal_levelパラメーターの値はlogicalに設定されます。

    • 増分データ同期のみを実行する場合、ソースデータベースのWALログを24時間以上保存する必要があります。 完全データ同期と増分データ同期の両方を実行する場合、ソースデータベースのWALログを少なくとも7日間保存する必要があります。 そうしないと、DTSはWALログの取得に失敗し、タスクが失敗する可能性があります。 例外的な状況では、データの不整合または損失が発生します。 完全なデータ同期が完了したら、保持期間を24時間以上に設定できます。 上記の要件に基づいて、WALログの保持期間を設定してください。 そうしないと、DTSのサービスレベル契約 (SLA) のサービスの信頼性またはパフォーマンスが保証されない場合があります。

  • ソースApsaraDB RDS for PostgreSQLインスタンスでプライマリ /セカンダリの切り替えを実行する場合は、Logical Replication Slotフェールオーバー機能を有効にする必要があります。 これにより、論理サブスクリプションの中断を防ぎ、データ同期タスクを期待どおりに実行できます。 詳細については、「論理レプリケーションスロットフェールオーバー」をご参照ください。

  • ソースデータベースに長時間のトランザクションがあり、増分データがデータ同期タスクで同期されている場合、ソースデータベースの長時間のトランザクションがコミットされる前に生成されたWALログを蓄積することができます。 その結果、ソースデータベースのディスク容量が不足する可能性があります。

その他の制限

  • データ同期タスクは、1つのデータベースからのみデータを同期できます。 複数のデータベースのデータを同期するには、各データベースのデータ同期タスクを作成する必要があります。

  • スキーマにテーブルを作成するか、RENAMEコマンドを実行してテーブルの名前を変更する場合は、テーブルにデータを書き込む前にALTER table schema.table REPLICA IDENTITY FULL; ステートメントを実行する必要があります。 これによりデータの整合性が保証されます。 このステートメントを実行するときは、テーブルをロックしないことをお勧めします。 そうでなければ、デッドロックが発生する。

    説明
    • 上記のサンプルステートメントのスキーマテーブルを、実際のスキーマ名とテーブル名に置き換えます。

    • そのため、ピーク時間外に操作を実行することを推奨します。

  • DTSは、シーケンスなどのメタデータの有効性をチェックしません。 メタデータの有効性を手動で確認する必要があります。

  • ワークロードがターゲットデータベースに切り替えられた後、新しく書き込まれたシーケンスは、ソースデータベースのシーケンスの最大値から増加しません。 したがって、ワークロードをターゲットデータベースに切り替える前に、ソースデータベース内のシーケンスの最大値を照会する必要があります。 次に、クエリされた最大値をターゲットデータベースのシーケンスの開始値として指定する必要があります。 次のステートメントを実行して、ソースデータベース内のシーケンスの最大値を照会できます。

    do language plpgsql $$
    declare
      nsp name;
      rel name;
      val int8;
    begin
      for nsp,rel in select nspname,relname from pg_class t2 , pg_namespace t3 where t2.relnamespace=t3.oid and t2.relkind='S'
      loop
        execute format($_$select last_value from %I.%I$_$, nsp, rel) into val;
        raise notice '%',
        format($_$select setval('%I.%I'::regclass, %s);$_$, nsp, rel, val+1);
      end loop;
    end;
    $$;
  • DTSは、増分データのDDLステートメント、増分テーブルのスキーマ、およびハートビート情報を取得するために、ソースデータベースに次の一時テーブルを作成します。 データ同期中は、ソースデータベースの一時テーブルを削除しないでください。 そうでなければ、例外が生じる。 DTSインスタンスがリリースされると、一時テーブルは自動的に削除されます。

    public.dts_pg_classpublic.dts_pg_attributepublic.dts_pg_typepublic.dts_pg_enumpublic.dts_postgres_heartbeatpublic.dts_ddl_command、およびpublic.dts_args_session

  • データ同期のレイテンシを正確にするために、DTSはソースデータベースにハートビートテーブルを追加します。 ハートビートテーブルの名前はdts_postgres_heartbeatです。

  • データ同期中、DTSはソースデータベースのレプリケーションスロットを作成します。 レプリケーションスロットの先頭にdts_sync_ があります。 DTSは、このレプリケーションスロットを使用して、過去15分以内にソースデータベースの増分ログを取得できます。

    説明
    • DTSインスタンスがリリースされると、レプリケーションスロットは自動的に削除されます。 ソースデータベースのパスワードを変更した場合、またはIPアドレスホワイトリストからDTSのIPアドレスを削除した場合、レプリケーションスロットを自動的に削除することはできません。 この場合、複製スロットが積み重ならないように、ソースデータベースの複製スロットを削除する必要があります。

    • データ同期タスクがリリースされるか失敗すると、DTSは自動的にレプリケーションスロットをクリアします。 ソースPostgreSQLデータベースでプライマリ /セカンダリの切り替えを実行する場合は、セカンダリデータベースにログインしてレプリケーションスロットをクリアする必要があります。

    Amazon slot查询信息

  • データを同期する前に、ソースデータベースとターゲットデータベースのパフォーマンスに対するデータ同期の影響を評価します。 オフピーク時にデータを同期することを推奨します。 最初の完全データ同期中、DTSはソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。 これは、データベースサーバの負荷を増加させる可能性がある。

  • 初期の完全データ同期中に、同時INSERT操作により、ターゲットデータベースのテーブルが断片化されます。 したがって、最初の完全データ同期が完了した後、ターゲットデータベースの使用されるテーブルスペースのサイズは、ソースデータベースのサイズよりも大きくなります。

  • DTSのみを使用してテーブルデータをターゲットデータベースに書き込む場合、DMSを使用して、データ同期中にソーステーブルに対してオンラインDDL操作を実行できます。 詳細については、「ロックテーブルなしでスキーマを変更する」をご参照ください。

  • データ同期中は、DTSのみを使用してデータをターゲットデータベースに書き込むことをお勧めします。 これにより、ソースデータベースとターゲットデータベース間のデータの不一致が防止されます。 たとえば、DTS以外のツールを使用してターゲットデータベースにデータを書き込む場合、DMSを使用してオンラインDDL操作を実行すると、ターゲットデータベースでデータ損失が発生する可能性があります。

  • 完全なデータ同期または増分データ同期を実行するために特権アカウントまたはスーパーユーザーアカウントを宛先データベースアカウントとして使用し、ソースデータベースの同期するテーブルに外部キー、トリガー、またはイベントトリガーが含まれている場合、DTSは一時的にsession_replication_roleパラメーターをセッションレベルでレプリカに設定します。 移行先データベースアカウントに必要な権限がない場合は、session_replication_roleパラメーターを手動でレプリカに設定する必要があります。 session_replication_roleパラメーターの値がreplicaであり、完全データ同期または増分データ同期中にソースデータベースに対してカスケード更新または削除操作を実行すると、データの不整合が発生する可能性があります。 DTS同期タスクがリリースされた後、session_replication_roleパラメーターの値を元に戻すことができます。

  • テーブルが順方向同期と逆方向同期の両方で同期され、テーブルの完全データと増分データの両方が順方向同期で同期される場合、DTSは逆方向同期でテーブルの増分データのみを同期します。

特別なケース

  • ソースインスタンスがApsaraDB RDS for PostgreSQLインスタンスの場合、次の制限事項に注意してください。

    データ同期中は、ApsaraDB RDS for PostgreSQLインスタンスのエンドポイントまたはゾーンを変更しないでください。 それ以外の場合、データ同期タスクは失敗します。

課金

同期タイプ

タスク設定料金

スキーマ同期と完全データ同期

無料です。

増分データ同期

有料。 詳細については、「課金の概要」をご参照ください。

サポートしている同期トポロジ

DTSは、2つのPostgreSQLデータベース間でのみ双方向データ同期をサポートします。 DTSは、複数のPostgreSQLデータベース間の双方向データ同期をサポートしていません。

競合の検出

データの一貫性を確保するために、同じプライマリキー、ビジネスプライマリキー、または一意のキーを持つデータレコードが、同期ノードの1つでのみ更新されるようにしてください。 両方のノードでデータレコードが更新された場合、DTSはデータ同期タスクに指定した競合解決ポリシーに基づいて競合に応答します。

DTS は競合をチェックして修正し、双方向同期インスタンスの安定性を最大化します。 DTS は以下のタイプの競合を検出できます。

  • INSERT 操作による一意性の競合

    一意性の制約に従わないINSERT操作は同期できません。 たとえば、同じプライマリキー値を持つレコードがほぼ同時に2つの同期ノードに挿入された場合、挿入されたレコードのうちの1つは同期されません。 同じプライマリキー値を持つレコードが他のノードに既に存在するため、同期は失敗します。

  • UPDATE 操作が原因の整合性のないレコード

    • 更新するレコードが同期先インスタンスに存在しない場合、DTS はUPDATE 操作を INSERT 操作に変換します。 ただし、一意性の競合が発生する可能性があります。

    • 挿入するレコードの主キーまたは一意キーは、宛先インスタンス内の既存のレコードの主キーまたは一意キーと競合する場合があります。

  • 存在しないレコードの削除

    削除対象のレコードが同期先インスタンスに存在しない場合があります。 この場合、指定した競合解決ポリシーに関係なく、DTSはDELETE操作を無視します。

重要
  • 双方向同期時に、同期元インスタンスと同期先インスタンスのシステム時刻が異なる場合があります。 同期レイテンシが発生する可能性があります。 これらの理由により、DTSは、競合検出メカニズムがすべてのデータ競合を防ぐことができることを保証しません。 双方向同期を実行するには、同じプライマリキー、ビジネスプライマリキー、または一意のキーを持つレコードが、いずれかの同期ノードでのみ更新されるようにします。

  • DTS は、データの同期中に発生する可能性のある競合を防止するための競合解決ポリシーが用意されています。 双方向データ同期を設定するときに、競合解決ポリシーを選択できます。

同期可能なSQL操作

操作タイプ

SQL文

DML

挿入、更新、および削除

DDL

  • DDL操作は、2020年10月1日以降に作成されたデータ同期タスクによってのみ同期できます。

    重要
    • 5月12日より前に作成されたデータ同期タスク2023を使用してDDL操作を同期するには、データ同期タスクを設定する前に、ソースデータベースにトリガーと関数を作成してDDL情報を取得する必要があります。 詳細については、「トリガーと関数を使用してPostgreSQLデータベースの増分DDL移行を実装する」をご参照ください。

    • 増分データ同期中は、BITタイプのデータを同期できません。

  • ソースデータベースのデータベースアカウントが特権アカウントであり、ApsaraDB RDS for PostgreSQLインスタンスのマイナーエンジンバージョンが20210228以降の場合、DTSは次のDDLステートメントを同期できます。 インスタンスのマイナーエンジンバージョンを更新する方法については、「マイナーエンジンバージョンの更新」をご参照ください。

    • テーブルとドロップテーブルの作成

    • ALTER TABLE (RENAME TABLE、ADD COLUMN、ADD COLUMN DEFAULT、ALTER COLUMN TYPE、DROP COLUMN、ADD CONSTRAINT、ADD CONSTRAINT CHECK、およびALTER COLUMN DROP DEFAULTを含む)

    • TRUNCATE TABLE (ソースApsaraDB RDS for PostgreSQLインスタンスのメジャーエンジンバージョンは、PostgreSQL 11以降である必要があります) 。

    • テーブルにインデックスを作成する

    重要
    • CASCADEやRESTRICTなど、DDLステートメントの追加情報を同期することはできません。

    • SET session_replication_role = replicaステートメントが実行されたセッションからDDLステートメントを同期することはできません。

    • ソースデータベースによって一度に送信された複数のSQL文にDML文とDDL文の両方が含まれている場合、DDL文は同期されません。

    • ソースデータベースによって一度に送信された複数のSQL文に、同期されないDDL文が含まれている場合、DDL文は同期されません。

重要

DDL操作は、ソースデータベースからターゲットデータベースへの順方向でのみ同期できます。 DDL操作は逆方向では無視されるため、DDL操作をターゲットデータベースからソースデータベースに同期することはできません。

手順

  1. 双方向データ同期用のインスタンスを購入します。 詳細については、「DTSインスタンスの購入」をご参照ください。

    重要

    購入ページで、ソースインスタンスと宛先インスタンスの両方のパラメーターをPostgreSQLに設定し、同期トポロジパラメーターを双方向同期に設定します。

  2. 新しいDTSコンソールのデータ同期ページに移動します。

    説明

    データ管理 (DMS) コンソール にログインすることもできます。 上部のナビゲーションバーで、[DTS] をクリックします。 左側のナビゲーションウィンドウで、[DTS (DTS)] > [データ同期] を選択します。

  3. ページの左上隅で、購入したデータ同期インスタンスが存在するリージョンを選択します。

  4. データ同期インスタンスを見つけ、最初のデータ同期タスクの [操作] 列で [タスクの設定] をクリックします。

  5. [タスク設定の編集] ウィザードで、ソースデータベースとターゲットデータベースを構成します。

    警告

    ソースデータベースとターゲットデータベースを設定した後、ページの上部に表示される制限を読むことをお勧めします。 そうしないと、タスクが失敗したり、データの不一致が発生します。

    セクション

    パラメーター

    説明

    N/A

    タスク名

    タスクの名前。 DTSはタスクに名前を自動的に割り当てます。 タスクを簡単に識別できるように、わかりやすい名前を指定することをお勧めします。 一意のタスク名を指定する必要はありません。

    ソースデータベース

    データベースタイプ

    移行元ディスクのタイプを設定します。 [PostgreSQL] を選択します。

    アクセス方法

    ソースデータベースのアクセス方法。 [Alibaba Cloudインスタンス] を選択します。

    インスタンスリージョン

    購入ページで選択したソースリージョン。 このパラメーターは変更できません。

    インスタンスID

    ソースApsaraDB RDS for PostgreSQLインスタンスのID。

    データベース名

    ソースApsaraDB RDS for PostgreSQLインスタンスのソースデータベースの名前。

    データベースアカウント

    ソースApsaraDB RDS for PostgreSQLインスタンスの特権アカウント。 アカウントは、ソースデータベースの所有者である必要があります。 ApsaraDB RDS For PostgreSQLインスタンスのアカウントを作成し、このアカウントに権限を付与する方法の詳細については、「アカウントの作成」および「データベースの作成」をご参照ください。

    データベースパスワード

    データベースアカウントのパスワードを設定します。

    宛先データベース

    データベースタイプ

    ターゲットデータベースのタイプ。 [PostgreSQL] を選択します。

    アクセス方法

    ターゲットデータベースのアクセス方法。 [Alibaba Cloudインスタンス] を選択します。

    インスタンスリージョン

    購入ページで選択したターゲットリージョン。 このパラメーターは変更できません。

    インスタンスID

    移行先のApsaraDB RDS for PostgreSQLインスタンスのID。

    データベース名

    移行先ApsaraDB RDS for PostgreSQLインスタンスの移行先データベースの名前。

    データベースアカウント

    移行先ApsaraDB RDS for PostgreSQLインスタンスの特権アカウント。 アカウントは、ターゲットデータベースの所有者である必要があります。 ApsaraDB RDS For PostgreSQLインスタンスのアカウントを作成し、このアカウントに権限を付与する方法の詳細については、「アカウントの作成」および「データベースの作成」をご参照ください。

    データベースパスワード

    データベースアカウントのパスワードを設定します。

  6. ページの下部で、[接続をテストして続行] をクリックします。

    ソースまたはターゲットデータベースがAlibaba Cloudデータベースインスタンス (ApsaraDB RDS for MySQLインスタンスやApsaraDB for MongoDBインスタンスなど) の場合、DTSは自動的にDTSサーバーのCIDRブロックをインスタンスのホワイトリストに追加します。 ソースデータベースまたはターゲットデータベースがElastic Compute Service (ECS) インスタンスでホストされている自己管理データベースの場合、DTSサーバーのCIDRブロックがECSインスタンスのセキュリティグループルールに自動的に追加されます。ECSインスタンスがデータベースにアクセスできるようにする必要があります。 ソースデータベースまたはターゲットデータベースが、データセンターにデプロイされているか、サードパーティのクラウドサービスプロバイダーによって提供される自己管理データベースである場合、DTSサーバーのCIDRブロックをデータベースのホワイトリストに手動で追加して、DTSがデータベースにアクセスできるようにする必要があります。 詳細については、「DTSサーバーのCIDRブロックをオンプレミスデータベースのセキュリティ設定に追加する」をご参照ください。

    警告

    DTSサーバーのCIDRブロックがデータベースまたはインスタンスのホワイトリスト、またはECSセキュリティグループルールに自動的または手動で追加されると、セキュリティリスクが発生する可能性があります。 したがって、DTSを使用してデータを同期する前に、潜在的なリスクを理解して認識し、次の対策を含む予防策を講じる必要があります。VPNゲートウェイ、またはSmart Access Gateway。

  7. 同期するオブジェクトと詳細設定を設定します。

    パラメーター

    説明

    同期タイプ

    デフォルトでは、増分データ同期が選択されています。 [スキーマ同期] および [完全データ同期] も選択する必要があります。 事前チェックが完了すると、DTSは選択したオブジェクトの履歴データをソースインスタンスからターゲットインスタンスに同期します。 履歴データは、その後の増分同期の基礎となる。

    説明

    [スキーマ同期] を選択した場合、DTSは同期するテーブルのスキーマをソースデータベースからターゲットデータベースに同期します。 スキーマは外部キーを含む。

    競合するテーブルの処理モード

    • 事前チェックエラーとレポートエラー: ターゲットデータベースに、ソースデータベースのテーブルと同じ名前のテーブルが含まれているかどうかを確認します。 ソースデータベースとターゲットデータベースに同じテーブル名のテーブルが含まれていない場合は、事前チェックに合格します。 それ以外の場合、事前チェック中にエラーが返され、データ同期タスクを開始できません。

      説明

      オブジェクト名マッピング機能を使用して、ターゲットデータベースに同期されるテーブルの名前を変更できます。 この機能は、ソースデータベースとターゲットデータベースに同じテーブル名が含まれていて、ターゲットデータベースのテーブルを削除または名前変更できない場合に使用できます。 詳細については、「マップオブジェクト名」をご参照ください。

    • エラーを無視して続行: ソースデータベースとターゲットデータベースの同じテーブル名の事前チェックをスキップします。

      警告

      [エラーを無視して続行] を選択すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。

      • ソースデータベースとターゲットデータベースが同じスキーマを持ち、データレコードがターゲットデータベースの既存のデータレコードと同じ主キー値を持つ場合:

        • 完全データ同期中、DTSはデータレコードをターゲットデータベースに同期しません。 ターゲットデータベースの既存のデータレコードが保持されます。

        • 増分データ同期中、DTSはデータレコードをターゲットデータベースに同期します。 ターゲットデータベースの既存のデータレコードが上書きされます。

      • ソースデータベースとターゲットデータベースのスキーマが異なる場合、データの初期化に失敗したり、一部の列のみが同期されたり、データ同期タスクが失敗したりすることがあります。 注意して操作してください。

    同期トポロジ

    データ同期タスクの同期トポロジ。 双方向同期 を選択します。

    DDL 操作を除外

    • Yes: DDL操作を除外します。

    • No: DDL操作を同期します。

    重要

    DDL操作は、ソースデータベースからターゲットデータベースへの順方向でのみ同期できます。 DDL操作は、ターゲットデータベースからソースデータベースへの逆方向では無視されます。 したがって、このパラメーターは、タスクを順方向に設定した場合にのみ表示されます。

    競合解決ポリシー

    このトピックの [競合検出] セクションで説明されている競合が発生した場合は、ビジネス要件に基づいて競合解決ポリシーを選択します。

    • タスク失敗

      データ同期中に競合が発生した場合、データ同期タスクはエラーを報告し、プロセスを終了します。 タスクが失敗状態になり、競合を手動で解決する必要があります。

    • 無視する

      データ同期中に競合が発生した場合、データ同期タスクは現在のステートメントを無視してプロセスを続行します。 宛先データベース内の競合するレコードが使用されます。

    • 上書き

      データ同期中に競合が発生した場合、ターゲットデータベース内の競合するレコードは上書きされます。

    説明

    データ同期タスクを一時停止または再起動するときにレイテンシが発生した場合、選択した競合解決ポリシーはレイテンシの間は有効になりません。 デフォルトでは、同期先データベースのデータは、遅延中に同期されたデータによって上書きされます。

    移行先インスタンスでのオブジェクト名の大文字化

    ターゲットインスタンスのデータベース名、テーブル名、および列名の大文字化。 デフォルトでは、DTSデフォルトポリシーが選択されています。 他のオプションを選択して、オブジェクト名の大文字化をソースまたはターゲットデータベースの大文字化と一致させることができます。 詳細については、「ターゲットインスタンスのオブジェクト名の大文字化の指定」をご参照ください。

    ソースオブジェクト

    [ソースオブジェクト] セクションから1つ以上のオブジェクトを選択し、Rightwards arrowアイコンをクリックして [選択済みオブジェクト] セクションにオブジェクトを追加します。

    説明

    同期するオブジェクトとして、列、テーブル、またはスキーマを選択できます。

    選択中のオブジェクト

    • 同期先のインスタンスに同期するオブジェクトの名前を変更するには、[選択済みオブジェクト] セクションでオブジェクトを右クリックします。 詳細については、「単一オブジェクトの名前のマッピング」をご参照ください。

    • 一度に複数のオブジェクトの名前を変更するには、[選択済みオブジェクト] セクションの右上隅にある [一括編集] をクリックします。 詳細については、「一度に複数のオブジェクト名をマップする」をご参照ください。

    説明
    • 特定のデータベースまたはテーブルで実行されたSQL操作を選択するには、[選択済みオブジェクト] セクションでオブジェクトを右クリックします。 表示されるダイアログボックスで、同期するSQL操作を選択します。

    • データをフィルタリングするWHERE条件を指定するには、[選択済みオブジェクト] セクションでテーブルを右クリックします。 表示されるダイアログボックスで、条件を指定します。 詳細については、「SQL条件を使用したデータのフィルタリング」をご参照ください。

    • オブジェクト名マッピング機能を使用してオブジェクトの名前を変更すると、そのオブジェクトに依存する他のオブジェクトの同期が失敗する可能性があります。

  8. [次へ: 詳細設定] をクリックして詳細設定を構成します。

    • データ検証設定

      データ検証機能の使用方法の詳細については、「データ検証の有効化」をご参照ください。

    • 詳細設定

      パラメーター

      説明

      タスクのスケジュールに使用する専用クラスターの選択

      デフォルトでは、DTSはタスクを共有クラスターにスケジュールします。 このパラメーターを設定する必要はありません。 指定した仕様の専用クラスターを購入して、DTS同期タスクを実行できます。 詳細については、「DTS専用クラスターの概要」をご参照ください。

      アラートの設定

      データ同期タスクのアラートを設定するかどうかを指定します。 タスクが失敗するか、同期レイテンシが指定されたしきい値を超えると、アラート送信先は通知を受け取ります。 有効な値:

      失敗した接続の再試行時間

      失敗した接続のリトライ時間範囲。 データ同期タスクの開始後にソースデータベースまたはターゲットデータベースの接続に失敗した場合、DTSはその時間範囲内ですぐに接続を再試行します。 有効な値: 10 ~ 1440 単位は分です。 デフォルト値: 720 パラメーターを30より大きい値に設定することを推奨します。 DTSが指定された時間範囲内にソースデータベースとターゲットデータベースに再接続すると、DTSはデータ同期タスクを再開します。 それ以外の場合、データ同期タスクは失敗します。

      説明
      • 同じソースまたはターゲットデータベースを持つ複数のDTSタスクに対して異なるリトライ時間範囲を設定した場合、設定された最短のリトライ時間範囲が優先されます。

      • DTSが接続を再試行すると、DTSインスタンスに対して課金されます。 業務要件に基づいて再試行時間範囲を指定することを推奨します。 ソースインスタンスとターゲットインスタンスがリリースされた後、できるだけ早くDTSインスタンスをリリースすることもできます。

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。

      その他の問題の再試行時間範囲。 たとえば、データ同期タスクの開始後にDDLまたはDML操作の実行に失敗した場合、DTSはその時間範囲内ですぐに操作を再試行します。 有効な値: 1 ~ 1440 単位は分です。 デフォルト値は 10 です。 パラメーターを10より大きい値に設定することを推奨します。 指定された時間範囲内で失敗した操作が正常に実行されると、DTSはデータ同期タスクを再開します。 それ以外の場合、データ同期タスクは失敗します。

      重要

      ソースデータベースとターゲットデータベースで他の問題が発生した場合の再試行までの待機時間パラメーターの値は、[失敗した接続の再試行時間] パラメーターの値よりも小さくする必要があります。

      完全移行率を制限するかどうか

      完全データ移行中、DTSはソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。 これは、データベースサーバの負荷を増加させる可能性がある。 1 秒あたりのソースデータベースのクエリ率 QPS完全なデータ移行の BPS、および完全なデータ移行の BPSパラメーターをフルデータ同期タスク用に設定して、ターゲットデータベースへの負荷を軽減できます。

      説明

      このパラメーターは、完全データ同期同期タイプ として選択されている場合にのみ設定できます。

      増分同期率を制限するかどうか

      ターゲットデータベースへの負荷を軽減するために、増分データ同期タスク用に増分データ移行の RPSおよび増分データ移行の BPSパラメーターを設定できます。

      環境タグ

      DTSインスタンスを識別するために使用される環境タグ。 ビジネス要件に基づいて環境タグを選択できます。

      ETL の設定

      抽出、変換、および読み込み (ETL) 機能を有効にするかどうかを指定します。 詳細については、「ETLとは」をご参照ください。 有効な値:

  9. ページの下部にある [次へ: タスク設定と事前チェック] をクリックします。

    ポインタを 次:タスク設定の保存と事前チェック に移動し、[OpenAPIパラメーターのプレビュー] をクリックして、インスタンスを設定するために呼び出されるAPI操作のパラメーター設定を表示します。

    説明
    • データ同期タスクを開始する前に、DTSは事前チェックを実行します。 データ同期タスクは、タスクが事前チェックに合格した後にのみ開始できます。

    • タスクが事前チェックに合格しなかった場合は、失敗した各項目の横にある [詳細の表示] をクリックします。 原因に基づいて問題をトラブルシューティングした後、再度事前チェックを実行します。

    • 事前チェック中にアイテムに対してアラートがトリガーされた場合:

      • アラートアイテムを無視できない場合は、失敗したアイテムの横にある [詳細の表示] をクリックして問題のトラブルシューティングを行います。 次に、もう一度プレチェックを実行します。

      • アラート項目を無視できる場合は、[アラート詳細の確認] をクリックします。 [詳細の表示] ダイアログボックスで、[無視] をクリックします。 表示されたメッセージボックスで、[OK] をクリックします。 次に、[再度事前チェック] をクリックして、事前チェックを再度実行します。 アラート項目を無視すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。

  10. 成功率100% になるまで待ちます。 [戻る] をクリックします。

  11. 順方向のデータ同期タスクが開始されます。 タスクリストでタスクの進行状況を確認できます。

  12. 初期同期が完了し、順方向のデータ同期タスクが 実行中 状態になるまで待ちます。ステータス

  13. 逆方向でデータ同期タスクを見つけ、[タスクの設定] をクリックします。

  14. ステップ5からステップ10までの操作を実行して、データ同期タスクを逆方向に設定します。

    重要
    • データ同期タスクを逆方向に設定する場合は、正しいソースインスタンスとターゲットインスタンスを選択する必要があります。 逆方向のソースインスタンスは、順方向の宛先インスタンスである。 逆方向の宛先インスタンスは、順方向のソースインスタンスである。 また、データベース名、アカウント、パスワードなどのパラメーター設定が一貫していることを確認する必要があります。

    • データ同期タスクのソースデータベースとターゲットデータベースを逆方向に設定する場合、インスタンスのリージョンパラメーターは変更できません。 逆方向のデータ同期タスクに設定する必要があるパラメーターの数は、順方向のデータ同期タスクの場合よりも少なくなります。 コンソールに表示されるパラメーターを設定します。

    • DTSが逆方向で競合するテーブルをチェックする場合、順方向でターゲットインスタンスに同期されたテーブルは無視されます。競合するテーブルの処理モード

    • 逆方向のデータ同期タスクに対して、順方向のデータ同期タスクの選択したオブジェクトを選択することはできません。選択中のオブジェクト

    • データ同期タスクを逆方向に設定する場合は、オブジェクト名マッピング機能を使用しないことをお勧めします。 DDL 操作を実行すると、データの不整合が発生する可能性があります。

  15. 逆方向のデータ同期タスクが設定されたら、両方のタスクが 実行中 状態になるまで待ちます。 双方向データ同期が設定されています。ステータス