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

Data Transmission Service:Oracle データを DataHub に移行

最終更新日:Mar 01, 2026

Data Transmission Service (DTS) は、自己管理 Oracle データベースから DataHub プロジェクトへのデータ移行をサポートしています。DataHub は、Alibaba Cloud 上のストリーミングデータ処理サービスであり、リアルタイム分析やアプリケーション開発のためにストリーミングデータをパブリッシュ、サブスクライブ、および配信できます。

前提条件

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

  • DataHub が有効化され、移行されたデータを受信するための DataHub プロジェクトが作成されます。詳細については、「DataHub の使用を開始する」および「プロジェクトの管理」をご参照ください。

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

  • 自己管理 Oracle データベースで補足ログが有効になっており、SUPPLEMENTAL_LOG_DATA_PKSUPPLEMENTAL_LOG_DATA_UI が Yes に設定されていること。詳細については、「補足ログ」をご参照ください。

  • DTS の機能と制限について、Oracle データ移行に関して理解しています。移行の実現可能性とコストを評価するには、高度なデータベースおよびアプリケーション移行 (ADAM) を使用します。詳細については、「Oracle データベースの準備」および「概要」をご参照ください。

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

制限事項

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

ネットワークと接続性

  • ソースデータベースをホストするサーバーには、十分なアウトバウンド帯域幅が必要です。帯域幅が不足すると、移行速度が低下します。

  • ソースデータベースが Express Connect 経由で接続された Oracle RAC データベースである場合は、ソースデータベースを構成する際に VIP を指定してください。

  • ソースデータベースが Express Connect、VPN Gateway、Smart Access Gateway、Database Gateway、または Cloud Enterprise Network (CEN) 経由で接続された Oracle RAC データベースである場合は、Single Client Access Name (SCAN) IP アドレスではなく、単一の VIP を使用してください。VIP を指定した後、Oracle RAC データベースのノードフェールオーバーはサポートされません。

データ型制約

  • ソース Oracle データベースの VARCHAR2 フィールドに空の文字列 (Oracle では NULL と評価されます) が含まれており、対応するターゲットフィールドに非 NULL 制約がある場合、移行タスクは失敗します。

オブジェクト要件

  • 移行するテーブルには、プライマリキーまたは一意制約が必要であり、すべてのフィールドが一意である必要があります。そうでない場合、ターゲットデータベースに重複するデータレコードが表示される可能性があります。

  • Oracle 12c 以降の場合、テーブル名は 30 バイトを超えることはできません。

  • ターゲットデータベースで変更 (テーブルまたは列の名前変更など) があるテーブルを移行する場合、単一タスクで最大 1,000 テーブルをサポートします。1,000 を超えるテーブルの場合は、複数のタスクを構成してバッチで移行するか、データベース全体を移行してください。

増分移行の要件

  • REDO ロギングとアーカイブロギングを有効にする必要があります。

  • ログ保持要件:

    • 増分データ移行のみ: REDO ログとアーカイブログを 24 時間以上保存します。

    • 完全なデータ移行と増分データ移行: REDO ログとアーカイブログを少なくとも 7 日間保存します。完全なデータ移行が完了した後、保持期間を 24 時間以上に短縮します。

  • DTS が REDO ログとアーカイブログを取得できない場合、タスクが失敗する可能性があります。極端な場合、データ不整合またはデータ損失が発生する可能性があります。ログ保持要件が満たされていない場合、DTS のサービスレベルアグリーメント (SLA) はサービスの信頼性またはパフォーマンスを保証しません。

移行中の操作

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

  • 完全なデータ移行中のみ、ソースデータベースにデータを書き込まないでください。そうしないと、ソースデータベースとターゲットデータベース間でデータ不整合が発生する可能性があります。データ整合性を維持するには、移行タイプとしてスキーマ移行、完全なデータ移行、および増分データ移行を選択します。

  • データ移行中に LONGTEXT フィールドを更新しないでください。そうしないと、データ移行タスクが失敗します。

その他の制限

  • 宛先 DataHub プロジェクトの単一の文字列は、長さが 2 MB を超えることはできません。

  • テーブルのみを移行オブジェクトとして選択できます。DTS はトリガーの移行をサポートしていません。

  • オフピーク時間にデータを移行してください。完全なデータ移行中、DTS はソースデータベースとターゲットデータベースの両方の読み取りおよび書き込みリソースを消費するため、サーバー負荷が増加する可能性があります。

  • 完全なデータ移行中、同時 INSERT 操作により、ターゲットクラスターのテーブルに断片化が発生します。完全なデータ移行が完了した後、ターゲットクラスターの使用済み表領域のサイズはソースデータベースよりも大きくなります。

  • DTS は、過去 7 日以内に失敗した移行タスクの再開を試みます。 ワークロードをターゲットデータベースに切り替える前に、失敗したタスクを停止またはリリースしてください。 または、REVOKE 文を実行して、DTS がターゲットデータベースへのアクセスに使用するアカウントから書き込み権限を取り消してください。 そうしないと、失敗したタスクが再開された後に、ソースデータベースのデータがターゲットデータベースのデータを上書きします。

  • 移行中に他のソースからのデータがターゲットデータベースに書き込まれると、ソースデータベースとターゲットデータベース間でデータ不整合が発生する可能性があります。

課金

移行タイプタスク構成料金データ転送料金
スキーマ移行無料です。この例では無料です。
説明

Alibaba Cloud からインターネット経由でデータが移行される場合にのみ課金されます。詳細については、「課金概要」をご参照ください。

増分データ移行有料です。詳細については、「課金概要」をご参照ください。

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

操作タイプ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 USER および GRANT
重要

Oracle データベースから増分データを移行するには、増分データを取得するため、アーカイブログおよび補足ログを有効化します。詳細については、「Oracle データベースの設定」セクション(「Oracle データベースの準備」トピック内)をご参照ください。

操作手順

ステップ 1: データ移行タスクページを開く

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

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

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

DMS コンソールのモードとレイアウトによって操作が異なる場合があります。詳細については、「シンプルモード」および「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。
新しい DTS コンソールのデータ移行タスクページも利用できます。

ステップ 2: リージョンを選択し、タスクを作成する

  1. [データ移行タスク]」の隣にあるドロップダウンリストから、データ移行インスタンスが存在するリージョンを選択します。

    新しい DTS コンソールでは、左上隅でリージョンを選択します。
  2. [タスクの作成] をクリックします。

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

タスクの作成ページで、ソースデータベースとターゲットデータベースを構成します。

警告

ソースデータベースおよびターゲットデータベースの設定後は、ページの上部に表示される[制限事項]を確認してください。そうしないと、タスクが失敗するか、データの不整合が発生する可能性があります。

タスク設定

パラメーター説明
タスク名タスクの名前。DTS は自動的に名前を割り当てます。タスクを識別しやすいように、わかりやすい名前を指定します。一意のタスク名は必須ではありません。

ソースデータベース設定

パラメーター説明
既存の DMS データベースインスタンスを選択します。(任意。DMS データベースインスタンスを登録済みでない場合は、このオプションは無視し、以下のセクションでデータベース設定を構成してください。)使用するデータベースインスタンスです。既存のインスタンスを選択した場合、DTS がデータベースパラメーターを自動的に設定します。それ以外の場合は、ソースデータベースのパラメーターを手動で構成してください。
データベースタイプOracle を選択します。
アクセス方法ソースデータベースのデプロイメント場所に応じて値を選択します。本例では、ECS 上の自己管理 Oracle データベース を選択しています。
重要

その他のアクセス方法については、自己管理 Oracle データベースに必要な環境を構築してください。詳細については、「準備の概要」をご参照ください。

インスタンスリージョンソース Oracle データベースが配置されているリージョンです。
ECS インスタンス IDソース Oracle データベースがデプロイされている Elastic Compute Service (ECS) インスタンスの ID です。
ポート番号ソース Oracle データベースのサービスポート番号です。デフォルト値: 1521
Oracle タイプソース Oracle データベースのアーキテクチャです。Non-RAC インスタンス を選択して SID パラメーターを指定するか、RAC または PDB インスタンス を選択して Service Name パラメーターを指定します。本例では、RAC または PDB インスタンス を選択し、Service Name を指定しています。
データベースアカウント自己管理 Oracle データベースのアカウントです。必要な権限については、「データベースアカウントに必要な権限」をご参照ください。
データベースパスワードデータベースアカウントのパスワードです。

ターゲットデータベース設定

パラメーター説明
既存の DMS データベースインスタンスを選択します。(オプション。DMS データベースインスタンスを登録していない場合は、このオプションを無視し、下記のセクションでデータベース設定を行ってください。)使用するデータベースインスタンスです。既存のインスタンスを選択した場合、DTS が自動的にデータベースパラメーターを入力します。それ以外の場合は、ターゲットデータベースのパラメーターを設定してください。
データベースタイプDataHub を選択します。
アクセス方法Alibaba Cloud インスタンス を選択します。
インスタンスリージョンターゲット DataHub プロジェクトが存在するリージョンです。
プロジェクトターゲット プロジェクト の名前です。

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

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

  2. 自己管理 Oracle データベースにホワイトリストが構成されている場合は、DTS サーバーの CIDR ブロックをホワイトリストに追加し、[接続をテストして続行] をクリックします。DTS では、データベースの種類によってホワイトリストの構成方法が異なります:

    • Alibaba Cloud データベースインスタンス (ApsaraDB RDS for MySQL や ApsaraDB for MongoDB など): DTS は DTS サーバーの CIDR ブロックを IP アドレスホワイトリストに自動的に追加します。

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

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

警告

DTS サーバーのパブリック CIDR ブロックをデータベースホワイトリストまたは ECS セキュリティグループに追加すると、セキュリティリスクが発生します。DTS を使用する前に、潜在的なリスクを認識し、ユーザー名とパスワードのセキュリティ強化、公開ポートの制限、API 呼び出しの認証、ホワイトリストまたはセキュリティグループルールの定期的な確認と不正な CIDR ブロックの削除、または Express Connect、VPN Gateway、Smart Access Gateway を介したデータベースと DTS の接続など、予防措置を講じてください。

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

移行オブジェクト

パラメーター説明
移行タイプ[スキーマ移行] と [増分データ移行] を選択します。[フルデータ移行] は選択できません。
説明

[増分データ移行] を選択しない場合、データ整合性を維持するため、移行中にソースデータベースにデータを書き込まないでください。

追加カラムの命名ルールDTS が DataHub にデータを移行する際、宛先トピックに追加カラムが追加されます。追加カラムの名前が宛先トピック内の既存カラムと重複する場合、移行タスクは失敗します。要件に応じて、[新規ルール] または [以前のルール] を選択します。
警告

このパラメーターを設定する前に、追加カラムが送信先トピック内の既存のカラムと名前の競合を起こしていないか確認してください。名前の競合は、タスクの失敗やデータ損失を引き起こす可能性があります。詳細については、「追加カラムの名前付けルールを変更する」をご参照ください。

競合テーブルの処理モード事前チェックしてエラーを報告]:宛先データベースにソースデータベースと同じ名前のテーブルが存在するかどうかをチェックします。同一のテーブル名が存在する場合、事前チェックでエラーが返され、タスクを開始できません。
説明

同一のテーブル名が存在し、移行先のテーブルを削除または名前変更できない場合は、オブジェクト名マッピング機能を使用して移行後のテーブルの名前を変更します。詳細については、「オブジェクト名をマップする」をご参照ください。エラーを無視して続行: 同一テーブル名の事前チェックをスキップします。

警告

[エラーを無視して続行] を選択すると、データ不整合が発生する可能性があります。スキーマが一致する場合、DTS は同じプライマリキーを持つデータレコードをスキップします。スキーマが異なる場合、特定のカラムのみが移行されるか、タスクが失敗します。

宛先インスタンスにおけるオブジェクト名の大文字・小文字の扱い宛先インスタンスにおけるデータベース名、テーブル名、およびカラム名の大文字・小文字の扱いです。デフォルトでは、[DTS デフォルトポリシー宛先インスタンスのオブジェクト名の大文字と小文字の指定] が選択されています。詳細については、「」をご参照ください。
ソースオブジェクト[ソースオブジェクト] セクションから 1 つ以上のオブジェクトを選択し、arrow icon アイコンをクリックして [選択済みオブジェクト] セクションに追加します。
説明

移行オブジェクトとして選択できるのはテーブルのみです。

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

データベース名のマッピングはサポートされていません。オブジェクト名を変更すると、依存オブジェクトが移行中に失敗する可能性があります。オブジェクト名には、テーブル名およびカラム名が含まれます。- WHERE 条件でデータをフィルターするには、[選択済みオブジェクト] セクションでテーブルを右クリックし、ダイアログボックスでフィルター条件を設定します。詳細については、「フィルター条件の設定」をご参照ください。- ShardKey パラメーターを設定するには、[選択済みオブジェクト] セクションでテーブルを右クリックし、ダイアログボックス内の [すべてのテーブルを同期] のチェックを解除します。

詳細設定

[次へ: 詳細設定]」をクリックして、以下のパラメーターを設定します。

パラメーター説明
タスクのスケジュールに使用する専用クラスターの選択DTS 専用クラスターとはデフォルトでは、DTS がタスクを共有クラスターにスケジュールします。必要に応じて、移行タスクを実行する専用クラスターをご購入ください。詳細については、「」をご参照ください。
接続失敗時のリトライ時間ソースデータベースまたはターゲットデータベースへの接続が失敗した場合のリトライ期間です。有効範囲:10~1440 分。デフォルト値:720 分。この値は 30 分より大きい値に設定してください。指定された期間内に DTS が再接続できた場合、タスクは自動的に再開されます。それ以外の場合、タスクは失敗します。
説明

複数のタスクで同一のソースデータベースまたはターゲットデータベースを共有している場合、最も最近設定されたリトライ時間が優先されます。リトライ中も DTS インスタンスに対して課金が発生します。ご要件に応じて適切なリトライ時間を設定してください。また、ソースインスタンスまたはターゲットインスタンスがリリースされた後は、速やかに DTS インスタンスもリリースしてください。

ソースおよびターゲットデータベースでその他の問題が発生した場合のリトライ前の待機時間DDL 操作や DML 操作の失敗など、その他の問題に対するリトライ期間です。有効範囲:1~1440 分。デフォルト値:10 分。この値は 10 分より大きい値に設定してください。指定された期間内に操作が成功した場合、DTS はタスクを再開します。それ以外の場合、タスクは失敗します。
重要

この値は、「接続失敗時のリトライ時間」の値より小さく設定する必要があります。

増分データ移行の速度制限を有効化増分データ移行の速度制限を有効化するかどうかを指定します。「増分データ移行の RPS」および「増分移行のデータ移行速度 (MB/s)」を設定することで、ターゲットサーバーの負荷を軽減できます。
説明

増分データ移行」が「移行タイプ」で選択されている場合にのみ利用可能です。

環境タグDTS インスタンスを識別するための環境タグです。ご要件に応じてタグを選択してください。
実際の書き込みコードターゲットデータベースへ書き込まれるデータのエンコード形式です。
ETL の設定ETL の概要抽出・変換・書き出し(ETL)機能を有効化するかどうかを指定します。詳細については、「」をご参照ください。[はい]データ移行またはデータ同期タスクにおける ETL の設定:ETL を有効化します。コードエディタにデータ処理文を入力してください。詳細については、「」をご参照ください。[いいえ]:ETL を無効化します。
モニタリングおよびアラート設定移行タスクに対するアラート設定を行うかどうかを指定します。タスクが失敗した場合、または移行遅延がしきい値を超えた場合、アラート連絡先に通知が送信されます。[いいえ]:アラートを無効化します。[はい]新規 DTS タスクのモニタリングとアラートの設定:アラートを有効化します。アラートしきい値および通知設定を構成してください。詳細については、「」をご参照ください。

ステップ 6: 事前チェックの実行とタスクの開始

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

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

    • ページ下部の[次へ: タスク設定を保存して事前チェック]をクリックします。

    - DTS は、移行タスクを開始する前に事前チェックを実行します。事前チェックに合格した後でのみ、タスクを開始できます。 - 事前チェックが失敗した場合は、失敗した各項目の横にある [詳細の表示] をクリックします。原因を分析して問題を修正し、再度事前チェックを実行します。 - 事前チェック中にアラートが生成された場合: - アラート項目を無視できない場合は、失敗した項目の横にある [詳細の表示] をクリックして問題を修正し、再度事前チェックを実行します。 - アラート項目を無視できる場合は、[アラートの詳細を確認] をクリックします。「詳細の表示」ダイアログボックスで、[無視] をクリックし、次に [OK] をクリックします。[事前チェックを再実行] をクリックして、事前チェックを再実行します。アラート項目を無視すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。
  2. [成功率]100% に達するまで待ち、[次へ: インスタンスの購入] をクリックします。

  3. [インスタンスの購入]」ページで、以下のパラメーターを設定します。

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

  5. データ移行タスクを開始するには、[Buy And Start] をクリックします。タスクリストでタスクの進捗状況を確認できます。