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

Data Transmission Service:自己管理 Oracle データベースから PolarDB-X 2.0 インスタンスへのデータ同期

最終更新日:Mar 29, 2026

Data Transmission Service (DTS) は、オンプレミスの自己管理 Oracle データベースから PolarDB-X 2.0 インスタンスへデータをリアルタイムで同期します。スキーマ同期、初期完全同期、および増分同期をサポートし、ソース側の DML 操作および DDL 操作を保持します。

前提条件

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

  • Oracle データベースのバージョンが、19c、18c、12c、11g、10g、または 9i のいずれかであること

  • Oracle データベースがアーカイブログモードで実行されており、アーカイブログファイルにアクセス可能で、適切な保持期間が設定されていること — 詳細については、「アーカイブ・リドゥ・ログ・ファイルの管理」をご参照ください。

  • Oracle データベースで補足ログが有効化されており、SUPPLEMENTAL_LOG_DATA_PK および SUPPLEMENTAL_LOG_DATA_UIYes に設定されていること — 詳細については、「補足ログ」をご参照ください。

  • PolarDB-X 2.0 インスタンスの利用可能なストレージ容量が、Oracle データベースの合計データサイズより大きいこと

  • DTS の Oracle 同期に関する機能と制限を確認し、Advanced Database & Application Migration (ADAM) を使用してデータベース評価を実施している必要があります。詳細については、「Oracle データベースを準備する」および「概要」をご参照ください。

課金

同期タイプ料金
スキーマ同期および初期完全同期無料
増分同期課金済み — 課金概要

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

  • 単方向 1 対 1 同期

  • 単方向 1 対多同期

  • 単方向 多対 1 同期

  • 単方向 カスケード同期

詳細については、「同期トポロジ」をご参照ください。

同期可能な SQL 操作

タイプ
DMLINSERT、UPDATE、DELETE
DDLCREATE TABLE、ALTER TABLE、DROP TABLE、RENAME TABLE、TRUNCATE TABLE;CREATE VIEW、ALTER VIEW、DROP VIEW;CREATE PROCEDURE、ALTER PROCEDURE、DROP PROCEDURE;CREATE FUNCTION、DROP FUNCTION;CREATE TRIGGER、DROP TRIGGER;CREATE INDEX、DROP INDEX

必要な権限

データベース必要な権限参考情報
自己管理 Oracle データベース詳細な権限データベースアカウントの準備CREATE USERGRANT
重要

Oracle データベースから増分データを同期するには、まずアーカイブログと補足ログを有効にしてください。詳細については、「Oracle データベースの設定」をご参照ください。

制限事項

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

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

制限事項影響対応策
テーブルには PRIMARY KEY または UNIQUE 制約が必要であり、すべてのフィールドが一意である必要がありますターゲットデータベースに重複レコードが存在する可能性がありますタスク開始前に制約を追加してください
Oracle 12c 以降:テーブル名は 30 バイトを超えてはいけませんテーブルを同期できません制限内に収まるようテーブル名を変更してください
送信先オブジェクトの編集(テーブルまたは列の名前変更):1 タスクあたり最大 1,000 テーブルリクエストエラーが発生します複数のタスクを設定してテーブルをバッチ処理で同期するか、データベース全体を同期してください
Express Connect 経由で接続された Oracle RAC データベース:データ同期タスクの構成時にデータベースの VIP を指定する必要があります同期タスクが失敗したり、予期しない動作をしたりしますタスク構成時に VIP を指定してください
Oracle RAC データベース:データ同期タスクの構成時に、Single Client Access Name (SCAN) IP アドレスではなく VIP を使用する必要があります。VIP を指定した後は、Oracle RAC データベースのノードフェイルオーバーはサポートされません同期タスクが失敗したり、予期しない動作をしたりしますタスク構成時に VIP を指定してください。また、ノードフェイルオーバーがサポートされないことを前提に運用計画を立ててください
リドゥログおよびアーカイブログの保持期間は十分に長くする必要があります:増分同期のみのタスクでは 24 時間以上、完全+増分同期のタスクでは最低 7 日間。完全同期完了後は、保持期間を 24 時間以上に短縮できますDTS がリドゥログまたはアーカイブログを取得できず、タスク失敗、データの不整合、またはデータ損失を引き起こす可能性があります。保持期間が不十分な場合、DTS のサービスレベル契約 (SLA) は適用されませんタスク開始前に保持期間を設定し、完全同期完了後に再確認してください
同期タスク実行中にプライマリ/セカンダリ スイッチオーバーを実行しないでくださいタスクが失敗します同期ウィンドウ外でスイッチオーバーを実行してください
同期中に LONGTEXT フィールドの更新を行わないでくださいタスクが失敗しますタスク実行中は LONGTEXT フィールドの更新を一時停止してください
スキーマ同期または完全同期中に DDL ステートメントを実行しないでくださいタスクが失敗します同期ウィンドウ外でスキーマ変更を実行してください
Oracle VARCHAR2 の空文字列は NULL 値として扱われます。対応する送信先列に NOT NULL 制約がある場合、同期は失敗しますタスクが失敗します同期前に送信先列の NOT NULL 制約を解除してください

その他の制限事項

制限事項影響対応策
増分同期実行中に、Oracle Data Pump を使用してソースデータベースにデータを書き込まないでくださいデータ損失が発生する可能性があります増分同期実行中は Data Pump の操作を一時停止してください
DTS は初期完全同期時に両方のデータベースの読み取りおよび書き込みリソースを使用するため、サーバー負荷が増加しますピーク時間帯にデータベースのパフォーマンスが低下します非ピーク時間帯に同期タスクを実行してください
初期完全同期中の同時 INSERT 操作により、送信先データベースでテーブルの断片化が発生します初期完全同期完了後、送信先の表領域がソースの表領域より大きくなります想定される動作です。ストレージが制約されていない限り、特別な対応は不要です
同期中に DTS 以外のツールを使用して送信先データベースに書き込むと、データの不整合が発生するリスクがあります。Data Management (DMS) を使用したオンライン DDL 操作は、データ損失を引き起こす可能性があります送信先データベースでデータの不整合またはデータ損失が発生します同期中は、送信先データベースへの書き込みに DTS のみを使用してください
同期遅延は、送信先で最新に同期されたデータのタイムスタンプとソースの現在時刻に基づいて算出されます。ソースで DML 活動がない場合、遅延メトリックがドリフトし、実際の遅延を反映しなくなる可能性があります遅延の測定値が不正確になります遅延を更新するために、ソースで DML 操作を実行してください。同期対象としてデータベース全体を選択した場合は、ハートビートテーブルを作成できます。このテーブルは 1 秒ごとに更新されます

同期タスクの作成

ステップ 1:データ同期タスクページへ移動

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

  2. 上部ナビゲーションバーで、[データ + AI] をクリックします。

  3. 左側ナビゲーションウィンドウで、[DTS (DTS)][データ同期] を選択します。

ナビゲーションは、DMS コンソールモードによって異なる場合があります。「シンプルモード」および「DMS コンソールのレイアウトとスタイルのカスタマイズ」をご参照ください。また、新しい DTS コンソールのデータ同期タスクページに直接アクセスすることもできます。

ステップ 2:リージョンの選択

[データ同期] ページの右側で、データ同期インスタンスが配置されているリージョンを選択します。

新しい DTS コンソールでは、上部ナビゲーションバーでリージョンを選択します。

ステップ 3:ソースおよび送信先データベースの構成

[タスクの作成] をクリックします。[データ同期タスクの作成] ウィザードで、以下のパラメーターを構成します。

タスク設定

パラメーター説明
タスク名DTS タスクの名前です。DTS が自動的に名前を生成します。タスクを識別しやすくするために、意味のある名前を指定してください。名前は一意である必要はありません。

ソースデータベース

パラメーター説明
DMS データベースインスタンスの選択既存のデータベースインスタンスを選択すると、DTS がパラメーターを自動的に設定します。空白のままにすると、以下のパラメーターを手動で構成できます。
データベースタイプ[Oracle] を選択します。
アクセス方法ソースデータベースへの接続に使用するネットワーク方式を選択します。この例では、[ECS 上の自己管理データベース] を使用します。異なるアクセス方法を使用する場合は、まず対応するネットワーク環境を構築してください — 詳細については、「準備の概要」をご参照ください。
インスタンスリージョンソース Oracle データベースが配置されているリージョンです。
[インスタンス ID]Oracle データベースをホストする Elastic Compute Service (ECS) インスタンスの ID です。
ポート番号Oracle データベースのサービスポートです。デフォルト値: 1521
Oracle タイプソース Oracle データベースのアーキテクチャ。この例では、[RAC または PDB インスタンス] を使用します。[Non-RAC インスタンス] を選択して [SID] を設定するか、[RAC または PDB インスタンス] を選択して [サービス名] を設定します。
データベースアカウントソース Oracle データベースのアカウントです。
データベースパスワードデータベースアカウントのパスワードです。

宛先データベース

パラメーター説明
[DMS データベースインスタンスの選択]既存のデータベースインスタンスを選択すると、DTS がパラメーターを自動的に設定します。空白のままにすると、以下のパラメーターを手動で構成できます。
データベースタイプ[PolarDB-X 2.0] を選択します。
アクセス方法[Alibaba Cloud インスタンス] を選択します。
インスタンスリージョン送信先 PolarDB-X 2.0 インスタンスが配置されているリージョンです。
データベースアカウントPolarDB-X 2.0 インスタンスのデータベースアカウントです。このアカウントには、インスタンスに対する読み取りおよび書き込み権限が必要です。
データベースパスワードデータベースアカウントのパスワードです。

ステップ 4:接続性のテスト

[接続性のテストと続行] をクリックします。

DTS は、データベースタイプに応じてネットワークアクセスを自動的に処理します。

  • Alibaba Cloud データベースインスタンス(例:ApsaraDB RDS for MySQL や ApsaraDB for MongoDB)の場合:DTS が自動的に CIDR ブロックをインスタンスのホワイトリストに追加します。

  • [ECS 上の自己管理データベース] の場合:DTS が自動的に CIDR ブロックを ECS インスタンスのセキュリティグループルールに追加します。ECS インスタンスからデータベースに到達できることを確認してください。

  • オンプレミスデータベースまたはサードパーティのクラウドデータベース: DTS の CIDR ブロックをデータベースのホワイトリストに手動で追加します — 詳細については、「DTS サーバーの CIDR ブロックを追加する」をご参照ください。

警告

DTS の CIDR ブロックをホワイトリストまたはセキュリティグループルールに追加すると、ネットワークが公開されます。続行する前に、以下の予防措置を講じてください:データベースの認証情報を強化する、公開ポートを制限する、API 呼び出しを認証する、ホワイトリストおよびセキュリティグループルールを定期的に確認する、不正な CIDR ブロックを削除する。あるいは、Express Connect、VPN Gateway、または Smart Access Gateway を使用して、データベースを DTS に接続することもできます。

ステップ 5:同期対象および設定の構成

以下のパラメーターを構成します。

同期タイプ

パラメーター説明
同期タイプデフォルトでは、増分データ同期 が選択されています。また、スキーマ同期 および 全量データ同期 も選択してください。事前チェックが正常に完了すると、DTS は選択したオブジェクトの既存データを同期し、増分同期のベースラインとして機能します。

競合処理

パラメーター説明
競合テーブルの処理モード[事前チェックとエラー報告]:送信先内のテーブルにソーステーブルと同じ名前のテーブルがないかチェックします。事前チェックは、同一のテーブル名が存在しない場合にのみ合格します。名前が競合し、送信先テーブルを削除または名前変更できない場合は、オブジェクト名マッピング機能を使用して同期済みテーブルの名前を変更してください。詳細については、「オブジェクト名のマッピング」をご参照ください。[エラーを無視して続行]:同一名チェックをスキップします。全データ同期中、プライマリキーまたは一意キーの値が一致する既存の送信先レコードは保持され (上書きされません)、増分同期中には上書きされます。ソースと送信先のスキーマが異なる場合、同期が失敗するか、一部のカラムのみが同期される可能性があります。慎重に使用してください。

オブジェクト選択

パラメーター説明
ソースオブジェクトソースオブジェクト セクションからオブジェクトを選択し、右矢印アイコンをクリックして [選択したオブジェクト] セクションに移動します。 カラム、テーブル、またはデータベースを選択できます。 テーブルまたはカラムを選択した場合、DTS はビュー、トリガー、ストアドプロシージャなどの他のオブジェクトタイプを同期しません。
[選択されたオブジェクト]送信先で単一オブジェクトの名前を変更するには、[選択されたオブジェクト] セクションでそのオブジェクトを右クリックします — 「オブジェクト名のマッピング」の単一オブジェクトの名前をマップする セクションをご参照ください。複数のオブジェクトを一度に名前を変更するには、[一括編集] をクリックします — 複数のオブジェクト名を一度にマップする をご参照ください。特定のオブジェクトについて同期対象のSQL操作をフィルターするには、そのオブジェクトを右クリックしてSQL操作を選択します。WHERE条件を使用して行をフィルターするには、オブジェクトを右クリックして条件を指定します — フィルター条件を設定する をご参照ください。

ステップ 6:高度な設定の構成

[次へ:高度な設定] をクリックし、以下のパラメーターを構成します。

パラメーター説明
タスクスケジューリング用の専用クラスターデフォルトでは、DTS はタスクを共有クラスターにスケジュールします。安定性を向上させるには、専用クラスターを購入してください。詳細については、「DTS 専用クラスターとは」をご参照ください。
接続失敗時のリトライ時間ソースデータベースまたはターゲットデータベースに到達不能な場合に DTS がリトライする期間です。有効な値:10~1440 分。デフォルト値:720 分。この値は 30 分以上に設定してください。リトライ期間内に DTS が再接続した場合、タスクは再開されます。再接続できなかった場合、タスクは失敗します。複数のタスクが同じソースデータベースまたはターゲットデータベースを共有し、リトライ期間が異なる場合は、最も短い期間が適用されます。リトライ中も DTS インスタンスは課金対象となります。ビジネスニーズに応じてこの値を設定し、不要になったインスタンスはリリースしてください。
その他の問題に対するリトライ時間タスク開始後に DDL または DML 操作が失敗した場合に DTS がリトライする期間です。有効な値:1~1440 分。デフォルト値:10 分。この値は 10 分以上に設定してください。この値は、接続失敗時のリトライ時間 よりも短くする必要があります。
完全データ移行のレート制限を有効化完全データ同期中のデータベースへの負荷を制限します。ソースデータベースへの秒間クエリ数 (QPS)完全データ移行の RPS、および 完全移行のデータ移行速度 (MB/秒) を設定します。完全データ同期 を選択した場合にのみ表示されます。
増分データ同期のレート制限を有効化増分データ同期中のデータベースへの負荷を制限します。増分データ同期の RPS増分同期のデータ同期速度 (MB/秒) を設定します。
環境タグDTS インスタンスに環境ラベルでタグ付けします。ニーズに応じて選択してください。
実際の書き込みコードターゲットデータベースに書き込まれるデータのエンコード形式です。ニーズに応じて選択してください。
ETL の設定抽出、変換、ロード (ETL) 機能を設定するかどうかを指定します。コードエディタでデータ処理文を入力するには はい を選択します。詳細については、「データ移行またはデータ同期タスクでの ETL の設定」をご参照ください。いいえ を選択するとスキップされます。関連情報:「ETL とは
モニタリングとアラートタスクの失敗や高い同期遅延に対するアラートを設定します。アラートのしきい値と通知連絡先を設定するには はい を選択します。詳細については、「DTS タスク作成時のモニタリングとアラートの設定」をご参照ください。いいえ を選択するとスキップされます。

ステップ 7:事前チェックの実行

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

保存前にこのタスク構成の API パラメーターをプレビューするには、ボタンにカーソルを合わせて [OpenAPI パラメーターのプレビュー] をクリックします。

DTS はタスク開始前に事前チェックを実行します。事前チェックが成功した場合にのみ、タスクを開始できます。

  • 事前チェックが失敗した場合:各失敗項目の横にある [詳細の表示] をクリックし、問題を解決してから [再チェック] をクリックします。

  • アラートがトリガーされた場合:アラートを無視できる場合は、[アラートの詳細を確認]、次に [無視]、次に [OK]、そして [再チェック] の順にクリックします。アラートを無視すると、データの不整合が発生する可能性があります。

ステップ 8:インスタンスの購入

[成功率]100% になるまで待ち、その後 [次へ:インスタンスの購入] をクリックします。

購入ページで、以下のパラメーターを構成します。

パラメーター説明
支払い方法サブスクリプション:固定期間の前払い方式。長期利用に適したコスト効率の高い課金方法です。従量課金:時間単位で課金されます。短期利用に適しています。不要になった場合は、課金を避けるためインスタンスをリリースしてください。
リソースグループ設定項目データ同期インスタンスが属するリソースグループです。デフォルト値: デフォルトリソースグループResource Management とは
インスタンスクラスデータ同期インスタンスのインスタンスクラスデータ同期インスタンスの同期速度を表します。ご要件となるスループットに応じて選択してください — 詳細については、「」をご参照ください。
サブスクリプション期間サブスクリプション支払い方法のみで利用可能です。有効なオプション:1~9か月、または1年、2年、3年、5年です。

ステップ 9:タスクの開始

[Data Transmission Service(従量課金)サービス利用規約]」を読み、選択した後、「[購入して開始]」をクリックします。確認ダイアログで、「[OK]」をクリックします。

タスクはタスクリストに表示されます。そこで進行状況を監視できます。

よくある質問

リドゥログまたはアーカイブログの保持期間が十分でない場合、どうなりますか?

DTS は増分同期に必要なログデータを取得できず、タスクが失敗します。場合によっては、データの不整合やデータ損失を引き起こす可能性があります。回復するには、保持期間を延長してタスクを再開してください。増分同期のみのタスクでは、ログを 24 時間以上保持してください。完全同期を含むタスクでは、少なくとも 7 日間保持してください — 完全同期完了後は、保持期間を 24 時間以上に短縮できます。

タスク実行中にソースデータベースでプライマリ/セカンダリ スイッチオーバーが発生しました。どうすればよいですか?

ソースでプライマリ/セカンダリ スイッチオーバーが発生すると、同期タスクが失敗します。スイッチオーバーが完了し、ソースデータベースが安定した後にタスクを再開してください。

同期遅延が増加しています。どうすれば修正できますか?

ソースで長期間 DML 操作が実行されていない場合、遅延メトリックがドリフトし、実際の遅延を反映しなくなる可能性があります。遅延を更新するために、ソースで DML 操作を実行してください。ソースデータベースが定期的にアイドル状態になる長時間実行タスクでは、ハートビートテーブルを作成できます — データベース全体を同期対象として選択した場合、DTS はハートビートテーブルを 1 秒ごとに更新して、遅延メトリックを正確に保ちます。

増分同期実行中に Oracle Data Pump を使用できますか?

いいえ。増分同期実行中に Oracle Data Pump を使用してソースデータベースにデータを書き込むと、データ損失が発生します。同期タスクが完了または一時停止するまで、Data Pump の操作を一時停止してください。

次のステップ