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

Data Transmission Service:自主管理 PostgreSQL データベースから PolarDB for PostgreSQL (Oracle 互換) クラスターへのデータ同期

最終更新日:Jan 06, 2026

このトピックでは、Data Transmission Service (DTS) を使用して、自主管理 PostgreSQL データベースから PolarDB for PostgreSQL (Oracle 互換) クラスターにデータを同期する方法について説明します。

前提条件

  • ソースの自主管理 PostgreSQL データベースとターゲットの PolarDB for PostgreSQL (Oracle 互換) クラスターが作成済みであること。

    説明
  • ターゲットの PolarDB for PostgreSQL (Oracle 互換) クラスターで利用可能なディスク領域が、ソースの自主管理 PostgreSQL データベースが占有するストレージ領域よりも大きいこと。

注意事項

説明
  • スキーマ同期中、DTS はソースデータベースからターゲットデータベースに外部キーを同期します。

  • 完全データ同期および増分データ同期中、DTS はセッションレベルで外部キーの制約チェックとカスケード操作を一時的に無効にします。データ同期中にソースデータベースでカスケード更新および削除操作を実行すると、データ不整合が発生する可能性があります。

タイプ

説明

ソースデータベースの制限事項

  • 同期対象のテーブルには、プライマリキーまたは一意性制約が必要であり、フィールドは一意である必要があります。そうでない場合、ターゲットデータベースに重複データが存在する可能性があります。

    説明

    ターゲットテーブルが DTS によって作成されない場合 (つまり、同期タイプスキーマ同期 を選択しない場合)、テーブルがソーステーブルと同じプライマリキーまたは非 NULL の一意制約を持つようにする必要があります。そうしないと、ターゲットデータベースに重複データが発生する可能性があります。

  • テーブルレベルでデータを同期し、列名のマッピングなどのオブジェクトを編集する必要があり、単一の同期タスク内のテーブル数が 5,000 を超える場合は、テーブルを複数のタスクに分割するか、データベース全体を同期するようにタスクを設定してください。そうしないと、タスクを送信した後にリクエストエラーが報告される可能性があります。

  • 同期するデータベースの名前にハイフン (-) を含めることはできません (例:dts-testdata)。

  • 先行書き込みログ (WAL):

    • WAL を有効にする必要があります。wal_level パラメーターを logical に設定します。

    • 増分同期タスクの場合、DTS はソースデータベースの WAL ログを 24 時間以上保持することを要求します。完全同期と増分同期の両方を実行するタスクの場合、DTS は WAL ログを少なくとも 7 日間保持することを要求します。初期完全データ同期が完了した後、ログ保持期間を 24 時間以上に変更できます。DTS が必要な WAL ログを取得できないためにタスクが失敗した場合、または極端なケースでデータ不整合やデータ損失が発生した場合、指定されたログ保持期間が必要な期間より短いため、この問題は DTS サービスレベルアグリーメント (SLA) の対象外となります。

  • 自主管理 PostgreSQL データベースでフェールオーバーが発生した場合、同期は失敗します。

  • max_wal_senders および max_replication_slots パラメーターの値が、使用中のレプリケーションスロットの数と、この自主管理 PostgreSQL データベースをソースとして作成される DTS インスタンスの数の合計よりも大きいことを確認してください。

  • ソースデータベースに長時間トランザクションがあり、インスタンスに増分同期タスクが含まれている場合、長時間トランザクションがコミットされる前に生成された先行書き込みログ (WAL) はクリアできず、蓄積される可能性があります。これにより、ソースデータベースのディスク領域が不足する可能性があります。

  • ソースインスタンスが Google Cloud Platform Cloud SQL for PostgreSQL の場合、ソースデータベースの データベースアカウント には `cloudsqlsuperuser` 権限が必要です。同期オブジェクトを選択する場合、このアカウントが管理する権限を持つオブジェクトを選択するか、同期対象のオブジェクトのオーナー権限をこのアカウントに付与する必要があります (たとえば、GRANT <owner_of_the_object_to_be_synchronized> TO <source_database_account_used_by_the_task> コマンドを実行して、このアカウントがオブジェクト所有者として関連操作を実行できるようにします)。

    説明

    cloudsqlsuperuser 権限を持つアカウントは、所有者が別の cloudsqlsuperuser 権限を持つアカウントであるデータを管理することはできません。

  • ソースデータベースの論理サブスクリプションの制限により、増分変更後に同期される単一のデータが 256 MB を超えると、同期インスタンスが失敗し、回復できなくなる可能性があります。同期インスタンスを再設定する必要があります。

  • 初期スキーマ同期および初期完全データ同期中は、データベースまたはテーブルのスキーマを変更するデータ定義言語 (DDL) 操作を実行しないでください。そうしないと、データ同期タスクが失敗します。

    説明

    初期完全データ同期中、DTS はソースデータベースにクエリを実行します。これによりメタデータロックが作成され、ソースデータベースでの DDL 操作がブロックされる可能性があります。

  • 同期インスタンスの実行中にソースデータベースでメジャーエンジンバージョンのアップグレードを実行すると、インスタンスは失敗し、回復できなくなります。同期インスタンスを再設定する必要があります。

その他の制限事項

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

  • 同期対象のテーブルに SERIAL フィールドが含まれている場合、ソースデータベースはそのフィールドに対して自動的にシーケンスを作成します。したがって、ソースオブジェクト を設定する際に、同期タイプスキーマ同期 を選択した場合は、[Sequence] も選択するか、スキーマ全体を同期することを推奨します。そうしないと、同期インスタンスが失敗する可能性があります。

  • 1 つのデータ同期タスクで同期できるデータベースは 1 つだけです。複数のデータベースを同期するには、データベースごとにデータ同期タスクを設定する必要があります。

  • DTS は TimescaleDB 拡張機能テーブルや、スキーマ間の継承を持つテーブルを同期しません。

  • 以下の 3 つのシナリオでは、データを書き込む前に、同期対象のテーブルで ALTER TABLE schema.table REPLICA IDENTITY FULL; コマンドを実行する必要があります。これにより、データ整合性が確保されます。このコマンドの実行中は、テーブルロック操作を実行しないでください。そうしないと、テーブルがロックされる可能性があります。事前チェックで関連するチェック項目をスキップした場合、DTS はインスタンスの初期化中にこのコマンドを自動的に実行します。

    • インスタンスが初めて実行されるとき。

    • 同期の粒度がスキーマであり、同期対象のスキーマに新しいテーブルが作成されるか、RENAME コマンドを使用して同期対象のテーブルが再構築されるとき。

    • オブジェクトの変更機能を使用するとき。

    説明
    • コマンドで、schematable を、同期対象のデータが属するスキーマとテーブルの名前に置き換えてください。

    • この操作はオフピーク時間中に実行してください。

  • DTS はデータの内容を検証しますが、シーケンスなどのメタデータは検証しません。メタデータはご自身で検証する必要があります。

  • ビジネスをターゲットに切り替えた後、新しいシーケンスはソースデータベースの最大シーケンス値を増分の初期値として使用しません。ビジネスの切り替え前に、ターゲットデータベースのシーケンス値を更新する必要があります。詳細については、「ターゲットデータベースのシーケンス値の更新」をご参照ください。

  • DTS は、増分データの DDL 文、増分テーブルの構造、およびハートビート情報を取得するために、ソースデータベースに以下の一時テーブルを作成します。同期中は、これらの一時テーブルを削除しないでください。そうしないと、DTS タスクが異常になります。一時テーブルは、DTS インスタンスがリリースされた後に自動的に削除されます。

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

  • 表示される同期遅延の精度を確保するために、DTS はソースデータベースに dts_postgres_heartbeat という名前のハートビートテーブルを追加します。

  • データ同期中、DTS はソースデータベースにプレフィックス dts_sync_ を持つレプリケーションスロットを作成してデータをレプリケーションします。DTS はこのレプリケーションスロットを使用して、15 分以内にソースデータベースから増分ログを取得します。データ同期が失敗した場合、または同期インスタンスがリリースされた場合、DTS はこのレプリケーションスロットを自動的にクリアしようとします。

    説明
    • データ同期中にタスクで使用されるデータベースアカウントのパスワードを変更したり、ソースデータベースから DTS IP アドレスのホワイトリストを削除したりすると、レプリケーションスロットは自動的にクリアされません。この場合、ソースデータベースで手動でレプリケーションスロットをクリアして、それが蓄積されてディスク領域を占有し、ソースデータベースが利用できなくなるのを防ぐ必要があります。

    • ソースデータベースでフェールオーバーが発生した場合は、セカンダリデータベースにログインして手動でレプリケーションスロットをクリアする必要があります。

    Amazon slot查询信息

  • データを同期する前に、ソースデータベースとターゲットデータベースのパフォーマンスを評価してください。データはオフピーク時間中に同期してください。そうしないと、初期完全データ同期がソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを消費し、データベースの負荷が増加する可能性があります。

  • 初期完全データ同期は同時 INSERT 操作を実行するため、ターゲットデータベースでテーブルの断片化が発生します。その結果、初期完全データ同期が完了した後、ターゲットインスタンスのテーブルスペースがソースインスタンスよりも大きくなります。

  • テーブルレベルのデータ同期で、DTS からのデータ以外にターゲットデータベースにデータが書き込まれない場合は、Data Management (DMS) を使用してオンライン DDL 操作を実行できます。詳細については、「テーブルロックなしでのスキーマ変更の実行」をご参照ください。

  • DTS 同期中は、DTS からのデータ以外にターゲットデータベースにデータを書き込まないでください。そうしないと、ソースデータベースとターゲットデータベース間でデータ不整合が発生します。たとえば、他のデータがターゲットデータベースに書き込まれている間に DMS を使用してオンライン DDL 操作を実行すると、ターゲットデータベースでデータが失われる可能性があります。

  • インスタンスが失敗した場合、DTS ヘルプデスクは 8 時間以内にインスタンスの回復を試みます。回復プロセス中に、インスタンスの再起動やパラメーターの調整などの操作が実行される場合があります。

    説明

    パラメーターが調整される場合、DTS インスタンスのパラメーターのみが変更され、データベースのパラメーターは変更されません。変更される可能性のあるパラメーターには、「インスタンスパラメーターの変更」で説明されているものが含まれますが、これらに限定されません。

  • パーティションテーブルを同期する場合、親テーブルとその子テーブルの両方を同期オブジェクトとして含める必要があります。そうしないと、パーティションテーブルでデータ不整合が発生する可能性があります。

    説明

    PostgreSQL パーティションテーブルの親テーブルは直接データを保存しません。すべてのデータは子テーブルに保存されます。同期タスクには、親テーブルとそのすべての子テーブルを含める必要があります。そうしないと、子テーブルのデータが同期されず、ソースとターゲット間でデータ不整合が発生する可能性があります。

課金の説明

同期タイプ

タスク設定料金

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

無料です。

増分同期

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

サポートされる同期トポロジ

  • 一方向 1 対 1 同期

  • 一方向 1 対多同期

  • 一方向カスケード同期

  • 一方向多対 1 同期

同期トポロジとその注意事項の詳細については、「同期トポロジ」をご参照ください。

同期でサポートされるオブジェクト

    サポートされる同期 SQL 操作

    データベースアカウントに必要な権限

    事前準備

    説明

    以下の手順では、Linux オペレーティングシステムを例として使用します。

    自主管理 PostgreSQL のすべてのバージョンで以下の操作を実行してください。

    1. 自主管理 PostgreSQL データベースが存在するサーバーにログインします。

    2. 次のコマンドを実行して、データベースで使用されているレプリケーションスロットの数をクエリします。

      select count(1) from pg_replication_slots;
    3. postgresql.conf ファイルを修正します。wal_level パラメーターを logical に設定します。max_wal_senders および max_replication_slots パラメーターの値が、使用中のレプリケーションスロットの数と、この自主管理 PostgreSQL データベースをソースとして使用する DTS インスタンスの数の合計よりも大きいことを確認してください。

      # - Settings -
      
      wal_level = logical			# minimal, replica, or logical
      					# (change requires restart)
      
      ......
      
      # - Sending Server(s) -
      
      # Set these on the master and on any standby that will send replication data.
      
      max_wal_senders = 10		# max number of walsender processes
      				# (change requires restart)
      #wal_keep_segments = 0		# in logfile segments, 16MB each; 0 disables
      #wal_sender_timeout = 60s	# in milliseconds; 0 disables
      
      max_replication_slots = 10	# max number of replication slots
      				# (change requires restart)
      説明

      設定ファイルを変更した後、パラメーター設定を有効にするには、自主管理 PostgreSQL データベースを再起動する必要があります。

    4. DTS サーバーの IP アドレスを、自主管理 PostgreSQL データベースの pg_hba.conf ファイルに追加します。ターゲットデータベースが配置されているリージョンの DTS IP アドレス CIDR ブロックを追加するだけで十分です。詳細については、「自主管理データベースのホワイトリストに DTS サーバーの CIDR ブロックを追加する」をご参照ください。

      説明
      • 設定ファイルを変更した後、SELECTpg_reload_conf(); コマンドを実行するか、自主管理 PostgreSQL データベースを再起動して変更を有効にします。

      • この設定ファイルの設定の詳細については、「The pg_hba.conf File」をご参照ください。次の図に示すように、信頼できるアドレスを 0.0.0.0/0 に設定している場合は、このステップをスキップできます。

      IP

    5. ターゲットデータベースインスタンスで、同期対象オブジェクトのデータベースとスキーマ情報に基づいて、対応するデータベースとスキーマを作成します。

    自主管理 PostgreSQL データベースのバージョンが 9.4.8 から 10.0 の場合は、以下の操作も実行する必要があります。

    1. PostgreSQL のソースコードをダウンロードし、コンパイルしてインストールします。

      1. 自主管理 PostgreSQL データベースが存在するサーバーにログインします。

      2. PostgreSQL 公式ウェブサイトから、ソースの自主管理 PostgreSQL データベースのバージョンに対応するソースコードをダウンロードします。

      3. sudo ./configuresudo makesudo make install コマンドを順に実行して、ソースコードを設定、コンパイル、インストールします。

        重要
        • PostgreSQL をコンパイルしてインストールする際、オペレーティングシステムのバージョンは GCC のバージョンと互換性がある必要があります。

        • sudo ./configure コマンドの実行中にエラーが発生した場合は、エラーメッセージに基づいてコマンドを修正できます。たとえば、エラーメッセージが readline library not found. Use --without-readline to disable readline support. の場合、コマンドを sudo ./configure --without-readline に変更できます。

        • 別の方法で PostgreSQL をインストールする場合は、同じオペレーティングシステムと GCC バージョンを持つステージング環境で ali_decoding をコンパイルする必要があります。

    2. DTS が提供する ali_decoding 拡張機能をダウンロードし、コンパイルしてインストールします。

      1. ali_decoding をダウンロードします。

      2. ali_decoding ディレクトリ全体を、コンパイルおよびインストールされた PostgreSQL の contrib ディレクトリにコピーします。

        contrib目录

      3. ali_decoding ディレクトリに移動し、Makefile ファイルの内容を次のスクリプトに置き換えます。

        # contrib/ali_decoding/Makefile
        MODULE_big = ali_decoding
        MODULES = ali_decoding
        OBJS    = ali_decoding.o
        
        DATA = ali_decoding--0.0.1.sql ali_decoding--unpackaged--0.0.1.sql
        
        EXTENSION = ali_decoding
        
        NAME = ali_decoding
        
        #subdir = contrib/ali_decoding
        #top_builddir = ../..
        #include $(top_builddir)/src/Makefile.global
        #include $(top_srcdir)/contrib/contrib-global.mk
        
        #PG_CONFIG = /usr/pgsql-9.6/bin/pg_config
        #pgsql_lib_dir := $(shell $(PG_CONFIG) --libdir)
        #PGXS := $(shell $(PG_CONFIG) --pgxs)
        #include $(PGXS)
        
        # Use the following for source code installation
        ifdef USE_PGXS
        PG_CONFIG = pg_config
        PGXS := $(shell $(PG_CONFIG) --pgxs)
        include $(PGXS)
        else
        subdir = contrib/ali_decoding
        top_builddir = ../..
        include $(top_builddir)/src/Makefile.global
        include $(top_srcdir)/contrib/contrib-global.mk
        endif
      4. ali_decoding ディレクトリに移動します。sudo makesudo make install コマンドを順に実行して ali_decoding をコンパイルし、インストールに必要なファイルを取得します。

      5. 次のファイルを指定の場所にコピーします。

        指定位置

    3. ターゲットデータベースインスタンスで、同期対象オブジェクトのデータベースとスキーマ情報に基づいて、対応するデータベースとスキーマを作成します。

    操作手順

    1. ターゲットリージョンのデータ同期タスクリストページに移動します。次のいずれかの方法を使用できます。

      DTS コンソールから

      1. DTS コンソールにログインします。

      2. 左側のナビゲーションウィンドウで、データ同期 をクリックします。

      3. ページの左上隅で、同期インスタンスが配置されているリージョンを選択します。

      DMS コンソールから

      説明

      実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモードコンソール」および「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。

      1. DMS コンソールにログインします。

      2. トップメニューバーから、[Data + AI] > [データ転送 (DTS)] > [データ同期] を選択します。

      3. データ同期タスク の右側で、同期インスタンスのリージョンを選択します。

    2. タスクの作成 をクリックします。タスク構成ページが開きます。

    3. ソースデータベースとターゲットデータベースを設定します。

      カテゴリ

      設定

      説明

      N/A

      タスク名

      DTS は自動的にタスク名を生成します。簡単に識別できるように、わかりやすい名前を指定することを推奨します。名前は一意である必要はありません。

      ソースデータベース

      既存の接続情報の選択

      • システムに登録されているデータベースインスタンス (新規作成または保存済み) を使用するには、ドロップダウンリストから目的のデータベースインスタンスを選択します。以下のデータベース情報は自動的に設定されます。

        説明

        DMS コンソールでは、この設定項目は DMS データベースインスタンスの選択 です。

      • データベースインスタンスをシステムに登録していない場合、または登録済みのインスタンスを使用する必要がない場合は、以下のデータベース情報を手動で設定します。

      データベースタイプ

      [PostgreSQL] を選択します。

      アクセス方法

      [CEN] を選択します。

      インスタンスリージョン

      自主管理 PostgreSQL データベースが配置されているリージョンを選択します。

      Alibaba Cloudアカウント全体でのデータの複製

      同一の Alibaba Cloud アカウント内でデータを同期する場合、[いいえ] を選択します。

      ソースデータベース VPC

      自主管理 PostgreSQL データベースに接続されている VPC を選択します。

      IP アドレス

      自主管理 PostgreSQL データベースのサーバー IP アドレスを入力します。

      ポート

      自主管理 PostgreSQL データベースサービス用のポートを入力します。デフォルトは 5432 です。

      データベース名

      同期対象のオブジェクトを含む自主管理 PostgreSQL インスタンス内のデータベースの名前を入力します。

      データベースアカウント

      自主管理 PostgreSQL データベースのデータベースアカウントを入力します。必要な権限については、「データベースアカウントに必要な権限」をご参照ください。

      データベースパスワード

      データベースアカウントに対応するパスワードを入力します。

      暗号化

      ソースデータベースへの接続を暗号化するかどうかを指定します。ビジネス要件に基づいて設定できます。この例では、非暗号化 が選択されています。

      ソースデータベースへの SSL 暗号化接続を確立する場合は、次の手順を実行します。SSL 暗号化 を選択し、必要に応じて CA 証明書クライアント証明書、および クライアント証明書の秘密鍵 をアップロードし、次に クライアント証明書の秘密鍵のパスワード を指定します。

      説明
      • 自主管理 PostgreSQL データベースで、暗号化を SSL 暗号化 に設定した場合、CA 証明書 をアップロードする必要があります。

      • クライアント証明書を使用する場合は、クライアント証明書クライアント証明書の秘密鍵 をアップロードし、クライアント証明書の秘密鍵のパスワード を指定する必要があります。

      • ApsaraDB RDS for PostgreSQL インスタンスの SSL 暗号化の設定方法については、「SSL 暗号化」をご参照ください。

      宛先データベース

      既存の接続情報の選択

      • システムに登録されているデータベースインスタンス (新規作成または保存済み) を使用するには、ドロップダウンリストから目的のデータベースインスタンスを選択します。以下のデータベース情報は自動的に設定されます。

        説明

        DMS コンソールでは、この設定項目は DMS データベースインスタンスの選択 です。

      • データベースインスタンスをシステムに登録していない場合、または登録済みのインスタンスを使用する必要がない場合は、以下のデータベース情報を手動で設定します。

      データベースタイプ

      PolarDB (Oracle と互換性) を選択します。

      アクセス方法

      [専用線/VPN Gateway/スマートゲートウェイ] を選択します。

      インスタンスリージョン

      ターゲットの PolarDB for PostgreSQL (Oracle 互換) クラスターが配置されているリージョンを選択します。

      ソースデータベースに接続された VPC

      PolarDB for PostgreSQL (Oracle 互換) クラスターに接続されている VPC を選択します。

      DNS または IP アドレス

      ターゲットの PolarDB for PostgreSQL (Oracle 互換) クラスターのプライマリノードのエンドポイントを入力します。

      説明

      お使いのコンピューターで ping コマンドを実行して、ターゲットの PolarDB for PostgreSQL (Oracle 互換) クラスターの直接接続エンドポイントに対応する IP アドレスを取得できます。

      ポート

      対象のデータベースのサービスポートを入力します。デフォルトは[1521] です。

      データベース名

      同期対象のオブジェクトを含むターゲットの PolarDB for PostgreSQL (Oracle 互換) インスタンス内のデータベースの名前を入力します。

      データベースアカウント

      ターゲットの PolarDB for PostgreSQL (Oracle 互換) インスタンスのデータベースアカウントを入力します。必要な権限については、「データベースアカウントに必要な権限」をご参照ください。

      データベースパスワード

      データベースアカウントに対応するパスワードを入力します。

    4. 構成が完了したら、ページの下部にある接続をテストして続行をクリックします。

      説明
      • DTS サーバーからのアクセスを許可するために、DTS サービスの IP アドレスブロックがソースデータベースとターゲットデータベースのセキュリティ設定に自動または手動で追加されていることを確認してください。詳細については、「DTS サーバーの IP アドレスホワイトリストを追加する」をご参照ください。

      • ソースまたはターゲットデータベースが自己管理データベース (アクセス方法Alibaba Cloud インスタンス ではない) の場合、DTS サーバーの CIDR ブロック ダイアログボックスで 接続テスト もクリックする必要があります。

    5. タスクオブジェクトを設定します。

      1. オブジェクト設定 ページでは、同期するオブジェクトを設定できます。

        設定

        説明

        同期タイプ

        [増分同期] はデフォルトで選択されています。 また、[スキーマ同期][完全データ同期] を選択する必要もあります。 事前チェックが完了すると、DTS はソースインスタンスの完全データを使用して宛先クラスターの同期オブジェクトを初期化します。 このデータは、後続の増分同期のベースラインとして機能します。

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

        • エラーの事前チェックと報告: ターゲットデータベース内に同じ名前のテーブルが存在するかどうかをチェックします。同じ名前のテーブルが見つかった場合、事前チェック中にエラーが報告され、データ同期タスクは開始されません。それ以外の場合、事前チェックは成功します。

          説明

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

        • エラーを無視して続行: ターゲットデータベースでの名前の競合のチェックをスキップします。

          警告

          エラーを無視して続行 を選択すると、データ不整合が発生し、ビジネスにリスクが生じる可能性があります。例:

          • テーブルスキーマが一致し、ターゲットデータベースのレコードがソースデータベースのレコードと同じプライマリキーまたは一意キーの値を持つ場合:

            • 完全データ同期中、DTS はターゲットクラスターのレコードを保持します。ソースデータベースの対応するレコードは同期されません。

            • 増分同期中、ソースデータベースのレコードがターゲットデータベースのレコードを上書きします。

          • テーブルスキーマが一致しない場合、データ初期化が失敗する可能性があります。これにより、一部の列のみが同期されるか、同期が完全に失敗する可能性があります。注意して進めてください。

        ソースオブジェクト

        ソースオブジェクト ボックスでオブジェクトをクリックし、向右 をクリックして、オブジェクトを 選択中のオブジェクト ボックスに移動します。

        説明
        • 同期対象としてスキーマまたはテーブルを選択できます。同期対象としてテーブルを選択した場合、DTS はビュー、トリガー、ストアドプロシージャなどの他のオブジェクトをターゲットデータベースに移行しません。

        • 同期対象のテーブルに SERIAL データの型が含まれており、[同期タイプ] として [スキーマ同期] を選択する場合は、シーケンスまたはスキーマ全体の同期も選択することをお勧めします。

        選択中のオブジェクト

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

        • 同期オブジェクトの名前を一括で変更するには、選択中のオブジェクト ボックスの右上にある 一括編集 をクリックします。 詳細については、「複数のオブジェクト名を一括でマッピングする」をご参照ください。

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

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

      2. 詳細設定へ をクリックします。

        設定

        説明

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

        デフォルトでは、DTS は共有クラスターでタスクをスケジュールするため、選択する必要はありません。タスクの安定性を高めるために、DTS 同期タスクを実行するための専用クラスターを購入できます。詳細については、「DTS 専用クラスターとは」をご参照ください。

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

        同期タスクが開始された後、ソースまたはターゲットデータベースへの接続が失敗した場合、DTS はエラーを報告し、すぐに接続のリトライを開始します。デフォルトのリトライ時間は 720 分です。リトライ時間は 10 分から 1,440 分の間でカスタマイズできます。30 分以上の設定を推奨します。DTS が指定されたリトライ時間内に再接続した場合、タスクは自動的に再開されます。それ以外の場合、タスクは失敗します。

        説明
        • 同じソースまたはターゲットを持つ複数の DTS インスタンス (DTS インスタンス A と DTS インスタンス B など) で、ネットワークリトライ時間が A で 30 分、B で 60 分に設定されている場合、より短い 30 分が適用されます。

        • DTS は接続リトライ中にタスク実行時間に対して課金するため、ビジネスニーズに基づいてリトライ時間をカスタマイズするか、ソースおよびターゲットデータベースインスタンスがリリースされた後、できるだけ早く DTS インスタンスをリリースすることを推奨します。

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

        同期タスクが開始された後、ソースまたはターゲットデータベースで接続以外の問題 (DDL または DML 実行エラーなど) が発生した場合、DTS はエラーを報告し、すぐに連続的なリトライ操作を開始します。デフォルトのリトライ時間は 10 分です。リトライ時間は 1 分から 1,440 分の間でカスタマイズすることもできます。10 分以上の設定を推奨します。設定されたリトライ時間内に関連操作が成功した場合、同期タスクは自動的に再開されます。それ以外の場合、タスクは失敗します。

        重要

        移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 の値は、失敗した接続の再試行時間 の値よりも小さくする必要があります。

        完全同期レートを制限するかどうか

        完全データ同期フェーズ中、DTS はソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを消費するため、データベースの負荷が増加する可能性があります。ターゲットデータベースの負荷を軽減するには、1 秒あたりのソースデータベースのクエリ率 QPS1 秒あたりの完全移行の行数 RPS、および 1 秒あたりの完全移行データ量 (MB) BPS を設定することで、完全データ同期タスクにレート制限を設定できます。

        説明
        • この設定項目は、同期タイプ完全データ同期 に設定されている場合にのみ利用可能です。

        • 同期インスタンスの実行後に、完全データ同期のレートを調整することもできます。

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

        また、1 秒あたりの増分同期の行数 RPS および 1 秒あたりの増分同期データ量 (MB) BPS を設定することで、増分同期タスクにレート制限を設け、ターゲットデータベースの負荷を軽減することもできます。

        環境タグ

        インスタンスを識別するために環境タグを選択できます。この例では、選択は不要です。

        ETL 機能の設定

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

        監視アラート

        アラートを設定するかどうかを指定します。同期が失敗した場合、または遅延が指定されたしきい値を超えた場合、アラート連絡先に通知が送信されます。

        • 設定しない: アラートは設定されません。

        • セット: アラートを設定します。アラートのしきい値と アラート通知も設定する必要があります。詳細については、「タスク構成時の監視とアラートの設定」をご参照ください。

      3. [次へ: データ検証] をクリックしてタスクを設定します。

        データ検証機能を使用するには、「データ検証の設定」をご参照ください。

    6. タスクを保存し、事前チェックを実行します。

      • API 操作用にこのインスタンスを設定するためのパラメーターを表示するには、次:タスク設定の保存と事前チェック ボタンにマウスカーソルを合わせ、ツールチップの OpenAPI パラメーターのプレビュー をクリックします。

      • API パラメーターの確認が完了したら、ページの下部にある次:タスク設定の保存と事前チェック をクリックします。

      説明
      • 同期ジョブが開始される前に、事前チェックが実行されます。ジョブは事前チェックに合格した後にのみ開始できます。

      • 事前チェックが失敗した場合は、失敗した項目の横にある詳細を表示をクリックし、プロンプトに従って問題を解決した後、事前チェックを再実行します。

      • 事前チェック中に警告が生成された場合:

        • チェック項目が失敗し、無視できない場合は、項目の横にある詳細を表示 をクリックします。その後、指示に従って問題を修正し、事前チェックを再実行します。

        • 無視できるチェック項目については、アラートの詳細を確認無視OK再度事前チェックを実行 の順にクリックし、警告をスキップして事前チェックを再実行します。 チェック項目の警告を無視すると、データ不整合などの問題が発生し、ビジネスにリスクをもたらす可能性があります。

    7. インスタンスを購入します。

      1. 成功率 が 100% になったら、次:インスタンスの購入 をクリックします。

      2. 購入 ページで、データ同期インスタンスの課金方法とリンク仕様を選択します。詳細については、次の表をご参照ください。

        カテゴリ

        パラメーター

        説明

        新しいインスタンスクラス

        課金方法

        • サブスクリプション:インスタンス作成時にお支払いいただきます。長期的なニーズに適しており、従量課金よりも手頃で、サブスクリプション期間が長いほど割引率が高くなります。

        • 従量課金:時間単位で課金されます。短期的なニーズに適しています。使用後すぐにインスタンスをリリースしてコストを節約できます。

        リソースグループ設定

        インスタンスが属するリソースグループです。 デフォルトは [デフォルトリソースグループ] です。 詳細については、「Resource Management とは」をご参照ください。

        リンク仕様

        DTS は、異なるパフォーマンスレベルの同期仕様を提供します。リンク仕様は同期レートに影響します。ビジネスシナリオに基づいて選択できます。詳細については、「データ同期リンク仕様」をご参照ください。

        サブスクリプション期間

        サブスクリプションモードでは、サブスクリプションインスタンスの期間と数量を選択します。月次サブスクリプションでは 1 ~ 9 か月、年次サブスクリプションでは 1、2、3、または 5 年から選択できます。

        説明

        このオプションは、課金方法がサブスクリプションの場合にのみ表示されます。

      3. 構成が完了したら、Data Transmission Service (従量課金) 利用規約 をお読みいただき、選択してください。

      4. 購入して起動 をクリックし、次に OK ダイアログボックスで [OK] をクリックします。

        データ同期ページでタスクの進捗状況を確認できます。