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 の論理レプリケーション機能を使用して、ソースからの継続的な変更をキャプチャします。これらの機能はスーパーユーザのみがアクセスできます。ソースデータベースにスーパーユーザ権限がない場合、増分移行タスクは開始できません。
アカウントを作成し、権限を付与するには、以下をご参照ください。
自主管理 PostgreSQL: PostgreSQL ドキュメントの「CREATE USER」および「GRANT」。
PolarDB for PostgreSQL: 「データベースアカウントの作成」および「データベースの管理」。
サポートされているオブジェクト
テーブルとスキーマ
TABLE と SCHEMA。これには、PRIMARY KEY、UNIQUE KEY、FOREIGN KEY、DATATYPE (組み込みデータ型)、および DEFAULT CONSTRAINT が含まれます。
その他のデータベースオブジェクト
VIEW、PROCEDURE (PostgreSQL V11 以降)、FUNCTION、RULE、シーケンス、EXTENSION、トリガー、AGGREGATE、INDEX、OPERATOR、および DOMAIN。
増分移行でサポートされている SQL 操作
| 操作タイプ | サポートされているステートメント |
|---|---|
| DML | INSERT、UPDATE、DELETE |
| DDL | CREATE 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_levelをlogicalに設定します。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;schema と table を実際のスキーマ名とテーブル名に置き換えてください。テーブルロックを避けるため、このコマンドはオフピーク時間に実行してください。関連する事前チェック項目をスキップした場合、インスタンスの初期化時に DTS がこのコマンドを自動的に実行します。
SERIAL データ型
テーブルに SERIAL 列が含まれている場合、ソースデータベースはその列に対して自動的にシーケンスを作成します。[スキーマ移行] が選択されている場合は、[シーケンス] も選択するか、スキーマ全体を移行してください。そうしないと、移行インスタンスが失敗する可能性があります。
session_replication_role パラメーター
外部キー、トリガー、またはイベントトリガーを使用した完全移行または増分移行の場合:
ターゲットアカウントが特権アカウントである場合、DTS は移行中にセッションレベルで
session_replication_roleをreplicaに設定します。アカウントにこの権限がない場合は、ターゲットデータベースで
session_replication_roleをreplicaに手動で設定してください。
このパラメーターが replica に設定されている間、ソースでのカスケード更新または削除はデータの不整合を引き起こす可能性があります。DTS データ移行タスクがリリースされた後、session_replication_role を origin にリセットしてください。
一時テーブルとレプリケーションスロット
DTS は、DDL ステートメント、増分テーブルスキーマ、およびハートビートデータをキャプチャするために、ソースデータベースに次の一時テーブルを作成します。移行中にこれらのテーブルを削除しないでください。
public.dts_pg_class、public.dts_pg_attribute、public.dts_pg_type、public.dts_pg_enum、public.dts_postgres_heartbeat、public.dts_ddl_command、public.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 では、親テーブルはデータを直接保存せず、すべてのデータは子パーティションにあります。どちらかを省略すると、データの不整合が発生します。
ソースデータベースの準備
PostgreSQL 10.1 以降
自主管理 PostgreSQL データベースを実行しているサーバーにログインします。
postgresql.confを編集します。wal_levelをlogicalに設定し、max_wal_sendersとmax_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)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」をご参照ください。
移行するソースオブジェクトと一致するように、ターゲットクラスターにターゲットデータベースとスキーマを作成します。
PostgreSQL 9.4.8 から 10.0
ソースから PostgreSQL をダウンロードしてインストールします。
PostgreSQL 公式ウェブサイトから、ご利用のバージョンの PostgreSQL ソースコードをダウンロードします。
次のコマンドを実行して、構成、コンパイル、およびインストールを行います。
重要- PostgreSQL の OS バージョンは、GNU Compiler Collection (GCC) のバージョンと一致する必要があります。 -
sudo ./configureがreadline library not found. Use --without-readline to disable readline support.で失敗した場合、代わりにsudo ./configure --without-readlineを実行してください。 - 別のインストール方法を使用する場合は、同じ OS および GCC バージョンのテスト環境でali_decodingプラグインをコンパイルしてください。sudo ./configure sudo make sudo make installDTS が提供する
ali_decodingプラグインをダウンロード、コンパイル、およびインストールします。出力ファイルを必要なディレクトリにコピーします。
# 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 endifsudo make sudo make install

移行するソースオブジェクトと一致するように、ターゲットクラスターにターゲットデータベースとスキーマを作成します。
移行タスクの作成
ステップ 1: データ移行ページへの移動
DMS コンソールのナビゲーションは、モードとレイアウトによって異なる場合があります。「シンプルモード」および「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。
ステップ 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。 データベース名 移行されたオブジェクトを受け取るターゲットデータベースの名前。 データベースアカウント ターゲットデータベースアカウント。「必要な権限」をご参照ください。 データベースパスワード データベースアカウントのパスワード。 [接続性のテストと続行] をクリックします。
- DTS サーバーの CIDR ブロックを、ソースデータベースとターゲットデータベースのセキュリティ設定に追加する必要があります。「DTS サーバーの IP アドレスをホワイトリストに追加する」をご参照ください。 - ソースデータベースまたはターゲットデータベースが自己管理型であり、[アクセス方法] が [Alibaba Cloud インスタンス] でない場合は、[DTS サーバーの CIDR ブロック] ダイアログボックスで [接続をテスト] をクリックします。
ステップ 3: 移行オブジェクトの選択と詳細設定の構成
[オブジェクトの設定]ページで、移行設定を構成します。
・「スキーマ移行」が選択されていない場合は、開始前に送信先でターゲットデータベースおよびテーブルを作成し、「[選択されたオブジェクト]」でオブジェクト名マッピングを有効化します。・テーブルに SERIAL 列が含まれており、「スキーマ移行」が選択されている場合は、「[シーケンス]」も選択するか、スキーマ全体を移行します。パラメーター 説明 移行タイプ シナリオに合った移行タイプを選択します。詳細については、「移行タイプの選択」をご参照ください。 競合するテーブルの処理モード [事前チェックとエラーの報告]: ソースと送信先に同名のテーブルがある場合、事前チェックに失敗します。移行前にオブジェクト名マッピングを使用して競合を解決してください。[エラーを無視して続行]: 競合チェックをスキップします。完全移行中は、DTS が既存の送信先レコードを保持します。増分移行中は、DTS が送信先レコードを上書きします。スキーマが異なる場合、一致する列のみが移行されるか、タスクが失敗します。 ソースオブジェクト 移行するスキーマまたはテーブルを選択します。「[矢印アイコン]」をクリックして、[選択済みオブジェクト] に追加します。テーブルを選択した場合、DTS はビュー、トリガー、およびストアドプロシージャを移行しません。 選択されたオブジェクト オブジェクトを右クリックすると、名前を変更したり (単一オブジェクトの名前をマップするをご参照ください)、WHERE フィルター条件を設定したり、移行する SQL 操作を選択したりできます。複数のオブジェクトの名前を一度に変更するには、[一括編集] をクリックします (一度に複数のオブジェクト名をマップするをご参照ください)。オブジェクトの名前を変更すると、依存オブジェクトが移行に失敗する可能性があります。 [次へ: 詳細設定] をクリックし、詳細オプションを設定します。
パラメーター 説明 タスクスケジューリング用の専用クラスター デフォルトでは、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 タスクを作成する際にモニタリングとアラートを構成する」をご参照ください。 [次のステップ: データ検証] をクリックしてデータ検証タスクを設定します。 詳細については、「データ検証タスクを設定する」をご参照ください。
ステップ 4: 事前チェックの実行とインスタンスの購入
[次へ: タスク設定の保存と事前チェック] をクリックします。
保存する前に API パラメーターをプレビューするには、[次: タスク設定の保存と事前チェック] の上にマウスを置き、[OpenAPI パラメーターのプレビュー] をクリックします。
- DTS は、移行タスクの開始前に事前チェックを実行します。事前チェックが成功するまで、タスクを開始できません。- 事前チェックで失敗した項目については、[詳細を表示] をクリックして原因を確認し、トラブルシューティングを行った後、再度事前チェックを実行してください。- 事前チェックのアラートについて:無視できないアラートの場合は、問題を修正してから再度事前チェックを実行してください。無視できるアラートの場合は、[アラートの詳細を確認] > [無視] > [OK] > [再事前チェック] をクリックしてください。アラートを無視すると、データの不整合が発生する可能性があります。[成功率]が [100%] に達したら、[次へ:インスタンスの購入]をクリックします。
[インスタンスの購入] ページで、インスタンスを設定します。
パラメーター 説明 リソースグループ 移行インスタンスのリソースグループ。 デフォルト: [デフォルトリソースグループ]。 「Resource Management とは インスタンスクラス インスタンスクラスは移行速度を決定します。ワークロードに基づいて選択してください。「データ移行インスタンスのインスタンスクラス」をご参照ください。 [Data Transmission Service (従量課金) サービス利用規約] チェックボックスを選択します。
[購入して開始] をクリックし、確認ダイアログで [OK] をクリックします。
ステップ 5: 移行の進行状況の監視
[データ移行] ページに移動して、タスクをモニターします。
完全移行の場合のみ:タスクは完了時に自動的に停止します。ステータスに [完了] と表示されます。
完全移行 + 増分移行:タスクは継続的に実行されます。ステータスには [実行中] と表示されます。増分移行は、手動でリリースするまで停止しません。
データの検証と切り替え
ビジネス通信をターゲットクラスターに切り替える前に、データ整合性を検証し、シーケンスを更新してください。
切り替えのタイミング (増分移行)
ソースデータベースに新しい書き込みがなく、移行遅延が 0 に達したときに切り替えます。切り替える前に以下を確認してください。
| チェック項目 | 検証方法 | 準備完了条件 |
|---|---|---|
| 新しい変更がない | DTS コンソールで増分移行遅延を監視します | 遅延が 0 に達する |
| シーケンスが更新された | 「ターゲットデータベースのシーケンス値を更新する | ターゲットのシーケンス値が更新された |
切り替え手順
ソースデータベースへの書き込みを停止します。
増分移行遅延が 0 に達するまで待機します。
ターゲットデータベースのシーケンス値を更新します。「ターゲットデータベースのシーケンス値を更新する」をご参照ください。
DTS データ移行タスクを停止またはリリースして、再開によるターゲットデータの上書きを防止します。
アプリケーションの接続文字列をターゲットクラスターに切り替えます。