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

Data Transmission Service:自主管理 PostgreSQL データベースから PolarDB for PostgreSQL クラスターへのデータ移行

最終更新日:Mar 29, 2026

Data Transmission Service (DTS) は、自主管理 PostgreSQL データベースから PolarDB for PostgreSQL クラスターへ、最小限のダウンタイムでデータを移行します。このガイドでは、移行タスクの構成と実行について説明します。

移行タイプの選択

状況に合った移行タイプの組み合わせを選択してください。

移行タイプ機能ダウンタイムコスト推奨されるケース
スキーマ移行 + 完全なデータ移行スキーマと既存データを移行します。タスクは自動的に完了し、停止します。必須 — 移行前にソースへの書き込みを停止します。無料アプリケーションがメンテナンスウィンドウを許容でき、シンプルさが優先される場合。
スキーマ移行 + 完全なデータ移行 + 増分データ移行既存データを移行し、その後、切り替えを行うまで継続的に変更をレプリケーションします。不要 — 移行中もサービスは稼働し続けます。スキーマフェーズと完全フェーズは無料。増分フェーズは課金されます。事業継続性は重大であり、アプリケーションはダウンタイムを許容できません。

完全移行のみを実行する場合: 開始する前にソースデータベースへの書き込みを停止してください。移行中にソースに書き込まれたデータはターゲットには表示されません。

前提条件

開始する前に、以下を確認してください。

  • Alibaba Cloud で PolarDB for PostgreSQL クラスターが作成されていること。「PolarDB for PostgreSQL クラスターの作成」をご参照ください。

  • ターゲットクラスターのストレージが、ソースデータベースで使用されているストレージよりも大きいこと。

  • 必要な権限を持つソースデータベースアカウントがあること (「必要な権限」をご参照ください)。

サポートされているソースおよびターゲットデータベースのバージョンについては、「データ移行シナリオの概要」をご参照ください。

必要な権限

データベーススキーマ移行完全なデータ移行増分データ移行
自主管理 PostgreSQL使用方法 on pg_catalog移行するオブジェクトに対する SELECTスーパーユーザ
PolarDB for PostgreSQLターゲットスキーマオーナー権限

増分移行にスーパーユーザが必要な理由: DTS は PostgreSQL の論理レプリケーション機能を使用して、ソースからの継続的な変更をキャプチャします。これらの機能はスーパーユーザのみがアクセスできます。ソースデータベースにスーパーユーザ権限がない場合、増分移行タスクは開始できません。

アカウントを作成し、権限を付与するには、以下をご参照ください。

サポートされているオブジェクト

テーブルとスキーマ

TABLE と SCHEMA。これには、PRIMARY KEY、UNIQUE KEY、FOREIGN KEY、DATATYPE (組み込みデータ型)、および DEFAULT CONSTRAINT が含まれます。

その他のデータベースオブジェクト

VIEW、PROCEDURE (PostgreSQL V11 以降)、FUNCTION、RULE、シーケンス、EXTENSION、トリガー、AGGREGATE、INDEX、OPERATOR、および DOMAIN。

増分移行でサポートされている SQL 操作

操作タイプサポートされているステートメント
DMLINSERT、UPDATE、DELETE
DDLCREATE TABLE、DROP TABLE、ALTER TABLE (RENAME TABLE、ADD COLUMN、ADD COLUMN DEFAULT、ALTER COLUMN TYPE、DROP COLUMN、ADD CONSTRAINT、ADD CONSTRAINT CHECK を含む)、TRUNCATE TABLE (PostgreSQL V11 以降)、CREATE INDEX ON TABLE

DDL 移行に関する注意事項:

  • DDL 移行は、2020 年 10 月 1 日以降に作成されたタスクでのみ利用可能です。

  • 2023 年 5 月 12 日より前に作成されたタスクでは、DDL をキャプチャするためにソースデータベースにトリガーと関数が必要です。「トリガーと関数を使用して PostgreSQL データベースの増分 DDL 移行を実装する」をご参照ください。

  • DDL 移行には、ソースデータベースアカウントが特権アカウントである必要があります。

  • DTS は、CASCADE または RESTRICT 修飾子、SET session_replication_role = replica を使用するセッションからの DDL、関数呼び出しを介して実行される DDL、同じ送信で DML と混在する DDL、移行範囲外の DDL ステートメント、または CREATE SEQUENCE を移行しません。

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

  • 増分移行は BIT 型データをサポートしていません。

課金

移行タイプインスタンス構成料金インターネットトラフィック料金
スキーマ移行 + 完全なデータ移行無料送信先の[アクセス方法][パブリックIPアドレス]の場合に課金されます。課金概要をご参照ください。
増分データ移行課金されます。「課金概要」をご参照ください。

注意事項

外部キーと制約

  • DTS はスキーマ移行中にソースデータベースから外部キーを移行します。

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

ソースデータベースの要件

  • ソースサーバーには十分なアウトバウンド帯域幅が必要です。そうでない場合、移行速度に影響が出ます。

  • テーブルには、プライマリキーまたは一意のフィールド値を持つ一意制約が必要です。これらがない場合、ターゲットに重複データが表示される可能性があります。

    送信先テーブルが DTS によって作成されていない場合(つまり、[スキーマ移行] が選択されていない場合)、送信先テーブルにはソーステーブルと同じプライマリキー、または NULL を許容しない一意制約が必要です。そうしないと、重複したデータが表示される可能性があります。
  • ソースデータベース名にハイフン (-) を含めることはできません。たとえば、dts-testdata は有効な名前ではありません。

  • オブジェクト名マッピングを使用したテーブルレベル移行は、タスクごとに最大 1,000 テーブルをサポートします。この制限を超えた場合は、複数のタスクにテーブルを分割するか、データベース全体を移行してください。

増分移行の WAL (Write-ahead log) 要件

  • wal_levellogical に設定します。

  • WAL 保持: 増分移行のみのタスクの場合は少なくとも 24 時間。完全移行と増分移行の両方を含むタスクの場合は少なくとも 7 日間。完全移行が完了したら、保持期間を 24 時間以上に短縮してください。保持期間が短すぎると、DTS は必要な WAL ファイルを取得できず、タスクの失敗、データの不整合、またはデータ損失を引き起こす可能性があります。保持期間不足によって発生する問題は、DTS サービスレベルアグリーメント (SLA) の対象外です。

  • 増分移行中にソースデータベースに長時間トランザクションが存在する場合、それらのトランザクションがコミットされる前に生成された WAL ファイルが蓄積され、ソースサーバーのディスク領域を使い果たす可能性があります。

運用上の制限

  • 自主管理 PostgreSQL データベースでのプライマリ/セカンダリ スイッチオーバーは、移行タスクを失敗させます。

  • 完全なデータ移行中に、データベースまたはテーブルスキーマを変更する DDL 操作を実行しないでください。タスクは失敗します。

  • 増分変更後にソースデータベースから移行される単一のデータが 256 MB を超える場合、移行インスタンスが失敗し、回復できない可能性があります。その場合は、移行インスタンスを再構成してください。

  • 移行インスタンスの実行中にソースデータベースのメジャーバージョンアップが行われると、インスタンスが失敗し、回復できません。

Google Cloud Platform ソースデータベース

ソースが Google Cloud Platform Cloud SQL for PostgreSQL の場合、[データベースアカウント]cloudsqlsuperuser 権限が必要であり、アカウントは移行するすべてのオブジェクトに対するオーナー権限を持っている必要があります。オーナー権限を付与するには、以下を使用します。

GRANT <owner_of_the_object_to_be_migrated> TO <source_database_account>;
cloudsqlsuperuser 権限を持つアカウントは、別の cloudsqlsuperuser アカウントが所有するデータを管理できません。

REPLICA IDENTITY 要件

増分移行の場合、以下の 2 つの状況でデータを書き込む前に、移行する各テーブルで次のコマンドを実行します。

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

  • 移行オブジェクトの粒度がスキーマであり、新しいテーブルが RENAME で作成または再構築されるとき。

ALTER TABLE schema.table REPLICA IDENTITY FULL;

schematable を実際のスキーマ名とテーブル名に置き換えてください。テーブルロックを避けるため、このコマンドはオフピーク時間に実行してください。関連する事前チェック項目をスキップした場合、インスタンスの初期化時に DTS がこのコマンドを自動的に実行します。

SERIAL データ型

テーブルに SERIAL 列が含まれている場合、ソースデータベースはその列に対して自動的にシーケンスを作成します。[スキーマ移行] が選択されている場合は、[シーケンス] も選択するか、スキーマ全体を移行してください。そうしないと、移行インスタンスが失敗する可能性があります。

session_replication_role パラメーター

外部キー、トリガー、またはイベントトリガーを使用した完全移行または増分移行の場合:

  • ターゲットアカウントが特権アカウントである場合、DTS は移行中にセッションレベルで session_replication_rolereplica に設定します。

  • アカウントにこの権限がない場合は、ターゲットデータベースで session_replication_rolereplica に手動で設定してください。

このパラメーターが replica に設定されている間、ソースでのカスケード更新または削除はデータの不整合を引き起こす可能性があります。DTS データ移行タスクがリリースされた後、session_replication_roleorigin にリセットしてください。

一時テーブルとレプリケーションスロット

DTS は、DDL ステートメント、増分テーブルスキーマ、およびハートビートデータをキャプチャするために、ソースデータベースに次の一時テーブルを作成します。移行中にこれらのテーブルを削除しないでください。

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 はまた、ソースデータベースに dts_sync_ で始まるレプリケーションスロットを作成します。このスロットは、過去 15 分間の増分ログを保持します。移行タスクがリリースされるか失敗した場合、DTS はレプリケーションスロットを自動的にクリアします。RDS for PostgreSQL インスタンスでプライマリ/セカンダリ スイッチオーバーが発生した場合、セカンダリデータベースのレプリケーションスロットを手動でクリアしてください。

その他の注意事項

  • 1 つの移行タスクは、1 つのデータベースからのみデータを移行します。複数のデータベースを移行するには、それぞれに個別のタスクを作成してください。

  • DTS は、TimescaleDB 拡張テーブルまたはクロススキーマ継承関係を持つテーブルの移行をサポートしていません。

  • 移行はオフピーク時間に実行してください。完全なデータ移行は、ソースデータベースとターゲットデータベースの両方で読み取り/書き込みリソースを使用するため、データベースサーバーの負荷が増加します。

  • 完全なデータ移行は、同時 INSERT 操作を使用するため、ターゲットでテーブルの断片化が発生します。完全移行後、ターゲットテーブルのストレージはソーステーブルのストレージよりも大きくなります。

  • FLOAT または DOUBLE 列の場合、DTS は ROUND(COLUMN, PRECISION) を使用して値を読み取ります。デフォルトの精度は FLOAT で 38 桁、DOUBLE で 308 桁です。開始する前に、これが要件を満たしていることを確認してください。

  • DTS は、失敗したタスクを最大 7 日間再開しようとします。ビジネスをターゲットインスタンスに切り替える前に、タスクを停止またはリリースしてください。あるいは、REVOKE コマンドを使用して、DTS アカウントのターゲットに対する書き込み権限を削除し、タスクが再開された場合にソースデータがターゲットデータを上書きするのを防ぎます。

  • DTS はデータコンテンツを検証しますが、シーケンスなどのメタデータは検証しません。メタデータはご自身で検証してください。

  • ビジネス切り替え後、新しく書き込まれたシーケンス値はソースの最大値から継続しません。切り替え前にターゲットのシーケンス値を更新してください。「ターゲットデータベースのシーケンス値を更新する」をご参照ください。

  • 移行インスタンスが失敗した場合、DTS サポートは 8 時間以内に回復を試みます。回復中、DTS はインスタンスを再起動したり、インスタンスパラメーターを調整したりする場合があります (データベースパラメーターは変更されません)。「インスタンスパラメーターの変更」をご参照ください。

  • パーティションテーブルの場合、親テーブルとすべての子パーティションの両方を移行オブジェクトとして含めてください。PostgreSQL では、親テーブルはデータを直接保存せず、すべてのデータは子パーティションにあります。どちらかを省略すると、データの不整合が発生します。

ソースデータベースの準備

Amazon RDS for PostgreSQL ソースの場合、「Amazon RDS for PostgreSQL インスタンスから ApsaraDB RDS for PostgreSQL インスタンスへの増分データ移行」トピックの「事前準備」セクションをご参照ください。Amazon Aurora PostgreSQL ソースの場合、「準備 1: Amazon Aurora PostgreSQL インスタンスのインバウンドルールを編集する」をご参照ください。

PostgreSQL 10.1 以降

  1. 自主管理 PostgreSQL データベースを実行しているサーバーにログインします。

  2. postgresql.conf を編集します。wal_levellogical に設定し、max_wal_sendersmax_replication_slots を、現在使用中のレプリケーションスロットの数と、このデータベースをソースとして使用する DTS インスタンスの数の合計よりも大きい値に設定します。たとえば、現在 2 つのレプリケーションスロットが使用中で、このデータベースに対して 3 つの DTS インスタンスを実行する予定がある場合、両方のパラメーターを 5 より大きい値 (例: 10) に設定します。

    変更を有効にするには、postgresql.conf を変更した後、PostgreSQL データベースを再起動してください。
    # - Settings -
    
    wal_level = logical           # minimal, replica, or logical
                                  # (change requires restart)
    
    ......
    
    # - Sending Server(s) -
    
    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)
  3. DTS サーバーの CIDR ブロックを pg_hba.conf に追加します。ターゲットデータベースが存在するリージョンの CIDR ブロックのみを追加してください。「DTS サーバー IP アドレスをホワイトリストに追加する」をご参照ください。

    pg_hba.conf を変更した後、SELECT pg_reload_conf(); を実行するか、データベースを再起動して変更を有効にしてください。pg_hba.conf で IP アドレスをすでに 0.0.0.0/0 に設定している場合は、この手順をスキップしてください。pg_hba.conf の詳細については、「The pg_hba.conf File」をご参照ください。

    IP

  4. 移行するソースオブジェクトと一致するように、ターゲットクラスターにターゲットデータベースとスキーマを作成します。

PostgreSQL 9.4.8 から 10.0

  1. ソースから PostgreSQL をダウンロードしてインストールします。

    1. PostgreSQL 公式ウェブサイトから、ご利用のバージョンの PostgreSQL ソースコードをダウンロードします。

    2. 次のコマンドを実行して、構成、コンパイル、およびインストールを行います。

    重要

    - PostgreSQL の OS バージョンは、GNU Compiler Collection (GCC) のバージョンと一致する必要があります。 - sudo ./configurereadline library not found. Use --without-readline to disable readline support. で失敗した場合、代わりに sudo ./configure --without-readline を実行してください。 - 別のインストール方法を使用する場合は、同じ OS および GCC バージョンのテスト環境で ali_decoding プラグインをコンパイルしてください。

    sudo ./configure
    sudo make
    sudo make install
  2. DTS が提供する ali_decoding プラグインをダウンロード、コンパイル、およびインストールします。

    1. 出力ファイルを必要なディレクトリにコピーします。

    # 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)
    
    # Run the following commands to install the ali_decoding plug-in:
    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
    sudo make
    sudo make install

    contrib目录

    指定位置

  3. 移行するソースオブジェクトと一致するように、ターゲットクラスターにターゲットデータベースとスキーマを作成します。

移行タスクの作成

ステップ 1: データ移行ページへの移動

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

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

  3. 左上隅で、移行インスタンスが存在するリージョンを選択します。

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

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

  2. トップナビゲーションバーで、[データ + AI] > [DTS (DTS)] > [データ移行] にポイントします。

  3. [データ移行タスク] の横にあるドロップダウンリストで、移行インスタンスを配置するリージョンを選択します。

ステップ 2: ソースデータベースとターゲットデータベースの構成

  1. [タスクの作成] をクリックします。

  2. ソースデータベースとターゲットデータベースを構成します。

    警告

    ソースインスタンスとターゲットインスタンスを選択した後、タスク構成の問題を避けるために、ページ上部に表示される [使用制限] を確認してください。

    ソースデータベース (ECS 上の自主管理 PostgreSQL)

    パラメーター説明
    タスク名DTS が自動的に名称を生成します。タスクを識別しやすいように、意味のある名称を指定してください。タスク名は一意である必要はありません。
    既存の接続を選択ドロップダウンリストから登録済みのインスタンスを選択するか、手動で接続設定を行ってください。
    データベースタイプPostgreSQL を選択します。
    アクセス方法ソースデータベースのデプロイメント場所を選択します。本例では Self-managed Database on ECS を使用します。その他のアクセス方法については、「事前準備」をご参照ください。
    インスタンスリージョンソース PostgreSQL データベースが配置されているリージョンです。
    ECS インスタンス IDソースデータベースをホストしている ECS インスタンスの ID です。
    ポート番号サービスポートです。デフォルト値: 5432
    データベース名移行対象のオブジェクトを含むデータベースの名称です。
    データベースアカウントソースデータベースのアカウントです。「必要な権限」をご参照ください。
    データベースパスワードデータベースアカウントのパスワードです。
    暗号化非暗号化 または SSL 暗号化 を選択します。SSL を使用する場合:必須となる CA 証明書 をアップロードし、任意で クライアント証明書クライアント証明書の秘密鍵、および クライアント証明書の秘密鍵パスワード をアップロードします。

    ターゲットデータベース (PolarDB for PostgreSQL)

    パラメーター説明
    既存の接続を選択ドロップダウンリストから登録済みのインスタンスを選択するか、接続を手動で構成します。
    データベースタイプPolarDB for PostgreSQL を選択します。
    アクセス方式Alibaba Cloud インスタンス を選択します。
    インスタンスリージョンターゲット PolarDB for PostgreSQL クラスターが存在するリージョン。
    インスタンス IDターゲット PolarDB for PostgreSQL クラスターの ID。
    データベース名移行されたオブジェクトを受け取るターゲットデータベースの名前。
    データベースアカウントターゲットデータベースアカウント。「必要な権限」をご参照ください。
    データベースパスワードデータベースアカウントのパスワード。
  3. [接続性のテストと続行] をクリックします。

    - DTS サーバーの CIDR ブロックを、ソースデータベースとターゲットデータベースのセキュリティ設定に追加する必要があります。「DTS サーバーの IP アドレスをホワイトリストに追加する」をご参照ください。 - ソースデータベースまたはターゲットデータベースが自己管理型であり、[アクセス方法][Alibaba Cloud インスタンス] でない場合は、[DTS サーバーの CIDR ブロック] ダイアログボックスで [接続をテスト] をクリックします。

ステップ 3: 移行オブジェクトの選択と詳細設定の構成

  1. オブジェクトの設定]ページで、移行設定を構成します。

    ・「スキーマ移行」が選択されていない場合は、開始前に送信先でターゲットデータベースおよびテーブルを作成し、「[選択されたオブジェクト]」でオブジェクト名マッピングを有効化します。・テーブルに SERIAL 列が含まれており、「スキーマ移行」が選択されている場合は、「[シーケンス]」も選択するか、スキーマ全体を移行します。
    パラメーター説明
    移行タイプシナリオに合った移行タイプを選択します。詳細については、「移行タイプの選択」をご参照ください。
    競合するテーブルの処理モード[事前チェックとエラーの報告]: ソースと送信先に同名のテーブルがある場合、事前チェックに失敗します。移行前にオブジェクト名マッピングを使用して競合を解決してください。[エラーを無視して続行]: 競合チェックをスキップします。完全移行中は、DTS が既存の送信先レコードを保持します。増分移行中は、DTS が送信先レコードを上書きします。スキーマが異なる場合、一致する列のみが移行されるか、タスクが失敗します。
    ソースオブジェクト移行するスキーマまたはテーブルを選択します。「[矢印アイコン]」をクリックして、[選択済みオブジェクト] に追加します。テーブルを選択した場合、DTS はビュー、トリガー、およびストアドプロシージャを移行しません。
    選択されたオブジェクトオブジェクトを右クリックすると、名前を変更したり (単一オブジェクトの名前をマップするをご参照ください)、WHERE フィルター条件を設定したり、移行する SQL 操作を選択したりできます。複数のオブジェクトの名前を一度に変更するには、[一括編集] をクリックします (一度に複数のオブジェクト名をマップするをご参照ください)。オブジェクトの名前を変更すると、依存オブジェクトが移行に失敗する可能性があります。
  2. [次へ: 詳細設定] をクリックし、詳細オプションを設定します。

    パラメーター説明
    タスクスケジューリング用の専用クラスターデフォルトでは、DTS はタスクを共有クラスターにスケジュールします。安定性を向上させるには、専用クラスターを購入してください。「DTS 専用クラスターとは」をご参照ください。
    接続失敗時の再試行時間接続失敗時に DTS が再試行する時間。範囲: 10~1,440 分。デフォルト: 720。30 分以上に設定してください。この期間内に再接続が成功した場合、DTS はタスクを再開します。それ以外の場合、タスクは停止します。複数のタスクが同じソースまたはターゲットを共有する場合、最後に設定された値が適用されます。再試行中も DTS 料金は継続します。
    その他の問題の再試行時間DDL または DML の失敗時に DTS が再試行する期間。有効範囲:1~1,440 分。デフォルト値:10。10 分より大きい値を設定してください。[接続失敗時の再試行時間] より小さい値にする必要があります。
    完全なデータ移行のスロットリングを有効にするソースと送信先のロードを軽減するために、完全移行の速度を制限します。[ソースデータベースへの QPS (1 秒あたりのクエリ数)][完全データ移行の RPS (1 秒あたりの行数)]、および [完全移行のデータ移行速度 (MB/s)] を設定します。[完全データ移行] が選択されている場合にのみ利用可能です。
    増分データ移行のスロットリングを有効にする増分移行の速度を制限します。「[増分データ移行の RPS]」および「[増分移行のデータ移行速度 (MB/s)]」を設定します。これは、「[増分データ移行]」が選択されている場合にのみ利用可能です。
    環境タグオプション。インスタンスに環境ラベルをタグ付けします。
    ETL の構成[はい]アラート通知設定 を選択して、コードエディタにステートメントを入力します。「データ移行またはデータ同期タスクで ETL を構成する」をご参照ください。
    モニタリングとアラート[はい]タスクが失敗した場合、または移行遅延がしきい値を超えた場合にアラートを受信するには、 を選択します。アラートのしきい値と通知連絡先を構成します。「DTS タスクを作成する際にモニタリングとアラートを構成する」をご参照ください。
  3. [次のステップ: データ検証] をクリックしてデータ検証タスクを設定します。 詳細については、「データ検証タスクを設定する」をご参照ください。

ステップ 4: 事前チェックの実行とインスタンスの購入

  1. [次へ: タスク設定の保存と事前チェック] をクリックします。

    • 保存する前に API パラメーターをプレビューするには、[次: タスク設定の保存と事前チェック] の上にマウスを置き、[OpenAPI パラメーターのプレビュー] をクリックします。

    - DTS は、移行タスクの開始前に事前チェックを実行します。事前チェックが成功するまで、タスクを開始できません。- 事前チェックで失敗した項目については、[詳細を表示] をクリックして原因を確認し、トラブルシューティングを行った後、再度事前チェックを実行してください。- 事前チェックのアラートについて:無視できないアラートの場合は、問題を修正してから再度事前チェックを実行してください。無視できるアラートの場合は、[アラートの詳細を確認] > [無視] > [OK] > [再事前チェック] をクリックしてください。アラートを無視すると、データの不整合が発生する可能性があります。
  2. [成功率][100%] に達したら、[次へ:インスタンスの購入]をクリックします。

  3. [インスタンスの購入] ページで、インスタンスを設定します。

    パラメーター説明
    リソースグループ移行インスタンスのリソースグループ。 デフォルト: [デフォルトリソースグループ]。 「Resource Management とは
    インスタンスクラスインスタンスクラスは移行速度を決定します。ワークロードに基づいて選択してください。「データ移行インスタンスのインスタンスクラス」をご参照ください。
  4. [Data Transmission Service (従量課金) サービス利用規約] チェックボックスを選択します。

  5. [購入して開始] をクリックし、確認ダイアログで [OK] をクリックします。

ステップ 5: 移行の進行状況の監視

[データ移行] ページに移動して、タスクをモニターします。

  • 完全移行の場合のみ:タスクは完了時に自動的に停止します。ステータスに [完了] と表示されます。

  • 完全移行 + 増分移行:タスクは継続的に実行されます。ステータスには [実行中] と表示されます。増分移行は、手動でリリースするまで停止しません。

データの検証と切り替え

ビジネス通信をターゲットクラスターに切り替える前に、データ整合性を検証し、シーケンスを更新してください。

切り替えのタイミング (増分移行)

ソースデータベースに新しい書き込みがなく、移行遅延が 0 に達したときに切り替えます。切り替える前に以下を確認してください。

チェック項目検証方法準備完了条件
新しい変更がないDTS コンソールで増分移行遅延を監視します遅延が 0 に達する
シーケンスが更新されたターゲットデータベースのシーケンス値を更新するターゲットのシーケンス値が更新された

切り替え手順

  1. ソースデータベースへの書き込みを停止します。

  2. 増分移行遅延が 0 に達するまで待機します。

  3. ターゲットデータベースのシーケンス値を更新します。「ターゲットデータベースのシーケンス値を更新する」をご参照ください。

  4. DTS データ移行タスクを停止またはリリースして、再開によるターゲットデータの上書きを防止します。

  5. アプリケーションの接続文字列をターゲットクラスターに切り替えます。

ビジネス切り替え後、新しく書き込まれたシーケンス値はソースデータベースの最大値から継続しません。切り替える前にターゲットのシーケンス値を更新してください。

次のステップ