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

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

最終更新日:Mar 29, 2026

Data Transmission Service (DTS) を使用して、PolarDB for MySQL クラスターから自己管理 Oracle データベースにデータを移行します。DTS は、スキーマ移行、完全なデータ移行、および増分データ移行をサポートしています。

前提条件

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

  • ターゲット Oracle データベースが作成されており、ソース PolarDB for MySQL クラスターの総データサイズよりも大きいストレージ容量があること。

  • ターゲットが Virtual Private Cloud (VPC) 経由で Alibaba Cloud に接続されている Oracle Real Application Cluster (RAC) データベースである場合:各 Single Client Access Name (SCAN) IP と各ノードの仮想 IP アドレス (VIP) が VPC に接続されており、ルーティングルールが構成されていること。設定手順については、「オンプレミスデータベースの Alibaba Cloud への接続」および「VPN Gateway を使用したデータセンターの DTS への接続」をご参照ください。

制限事項

重大な制限事項

開始する前にこれらの制限事項を確認してください。これらはタスクの失敗やデータ損失を引き起こす可能性があります。

  • 読み取り専用ノードは移行できません。ソース PolarDB for MySQL クラスターのプライマリノードのみがサポートされています。

  • スキーマ移行または完全なデータ移行中の DDL は禁止。これらのフェーズ中にソースでデータベースまたはテーブルスキーマを変更する DDL 操作を実行すると、移行タスクが失敗します。

  • 完全移行のみの場合、ソースへの書き込みは禁止。増分移行なしでスキーマ移行と完全なデータ移行を実行する場合、ソースへの書き込みはデータの不整合を引き起こします。ソースをオンライン状態に保つには、スキーマ移行、完全なデータ移行、および増分データ移行の 3 種類の移行すべてを選択してください。

  • 増分移行にはバイナリロギングが必要です。 バイナリロギングを有効にし、loose_polar_log_binon に設定する必要があります。設定されていない場合、事前チェックは失敗します。「バイナリロギングを有効にする」および「パラメーターを変更する」をご参照ください。必要なバイナリログの保持期間: 完全移行が完了した後、保持期間を 24 時間超に短縮できます。保持期間が不十分な場合、DTS がバイナリログのフェッチに失敗し、タスクの失敗やデータ損失につながる可能性があります。

    説明

    PolarDB for MySQL でバイナリロギングを有効にすると、バイナリログファイルに対してストレージ料金が発生します。

    移行タイプ最小保持期間
    増分データ移行のみ24 時間以上
    完全なデータ移行 + 増分データ移行7 日以上
  • ワークロードを切り替える前に移行タスクを停止。DTS は失敗したタスクを最大 7 日間再試行します。ワークロードをターゲットに切り替えた後に失敗したタスクが再開されると、ターゲットデータがソースデータで上書きされます。切り替える前に、移行タスクを停止または解放するか、REVOKE を実行してターゲットデータベース上の DTS アカウントから書き込み権限を削除してください。

その他の制限事項

  • テーブルには PRIMARY KEY またはすべてのフィールドが一意である一意制約が必要です。これらの制約がない場合、ターゲットデータベースに重複レコードが含まれる可能性があります。

  • テーブル名の変更制限。移行オブジェクトとしてテーブルを選択し、ターゲットでテーブルまたはカラムの名前を変更する必要がある場合、単一のタスクでサポートされるテーブルは 1,000 個までです。1,000 個を超えるテーブルの場合、移行を複数のタスクに分割するか、データベース全体を移行してください。

  • Express Connect、VPN Gateway、Smart Access Gateway、Database Gateway、Cloud Enterprise Network (CEN)、または ECS 経由の Oracle RAC:SCAN IP ではなく、単一の VIP を使用してください。VIP を指定した後、ノードフェールオーバーはサポートされません。

  • パフォーマンスへの影響を最小限に抑えるため、オフピーク時間帯に移行。完全なデータ移行は、両方のデータベースで読み取りおよび書き込みリソースを使用し、サーバー負荷を増加させます。

  • 完全移行後にターゲット表領域が増加。完全移行中の同時 INSERT 操作はテーブルの断片化を引き起こします。完全移行後、ターゲット表領域はソース表領域よりも大きくなります。

  • FLOAT および DOUBLE の精度。DTS は ROUND(COLUMN, PRECISION) を使用して FLOAT および DOUBLE の値を取得します。デフォルトの精度:FLOAT は 38 桁、DOUBLE は 308 桁を使用します。開始する前に、これらの設定が要件を満たしていることを確認してください。

  • ソースサーバーの帯域幅。ソースサーバーは十分なアウトバウンド帯域幅を持っている必要があります。帯域幅が不足すると、移行速度が低下します。

外部キーの動作

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

特殊なケース

DTS は、バイナリログファイルの位置を進めるために、ソースデータベースで CREATE DATABASE IF NOT EXISTS \test\`` を定期的に実行します。これは予期される動作です。

課金

移行タイプインスタンス構成料金インターネットトラフィック料金
スキーマ移行と完全なデータ移行無料Alibaba Cloud からインターネット経由でデータが移行される場合にのみ課金されます。「課金概要」をご参照ください。
増分データ移行課金されます。「課金概要」をご参照ください。

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

操作タイプSQL ステートメント
DMLINSERT, UPDATE, DELETE
DDLCREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, ADD COLUMN, DROP COLUMN, MODIFY COLUMN, RENAME COLUMN, CREATE INDEX, DROP INDEX

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

データベース必要な権限参照
ソース PolarDB for MySQL クラスター移行対象オブジェクトに対する読み取り権限データベースアカウントの作成と管理
ターゲット Oracle データベーススキーマ所有者権限CREATE USER および GRANT

移行タスクの作成

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

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

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

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

説明

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

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

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

説明

新しい DTS コンソールでは、左上隅でリージョンを選択します。

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

[Create Task] をクリックし、次のパラメーターを設定します。

タスク設定

パラメーター説明
タスク名DTS タスクの名前。DTS はタスク名を自動的に生成します。タスクを識別しやすいように、わかりやすい名前を指定することを推奨します。一意のタスク名を指定する必要はありません。

ソースデータベース

パラメーター説明
既存の DMS データベースインスタンスを選択オプション。既存のインスタンスを選択してデータベースパラメーターを自動入力するか、手動で構成する場合は空白のままにしてください。
データベースタイプPolarDB for MySQL を選択します。
アクセス方法[Alibaba Cloud インスタンス] を選択します。
インスタンスリージョンソース PolarDB for MySQL クラスターのリージョン。
Alibaba Cloud アカウント間でのデータレプリケーション同一アカウントへの移行の場合、[いいえ] を選択します。
PolarDB クラスター IDソース PolarDB for MySQL クラスターの ID。
データベースアカウントソースクラスターのデータベースアカウント。「必要なデータベースアカウント権限」をご参照ください。
データベースパスワードデータベースアカウントのパスワード。
暗号化ソースデータベースへの接続を暗号化するかどうか。「SSL 暗号化の構成」をご参照ください。

ターゲットデータベース

パラメーター説明
既存の DMS データベースインスタンスを選択オプション。既存のインスタンスを選択してデータベースパラメーターを自動入力するか、手動で構成する場合は空白のままにしてください。
データベースタイプOracle を選択します。
アクセス方法ECS 上のセルフマネージドデータベースこの例では を選択します。その他のアクセス方法については、「準備の概要」をご参照ください。
インスタンスリージョンターゲット Oracle データベースが存在するリージョン。
ECS インスタンス IDターゲット Oracle データベースをホストする ECS インスタンスの ID。
ポート番号送信先のOracle データベースのサービスポート。デフォルト: 1521
Oracle タイプターゲット Oracle データベースのアーキテクチャ:[非 RAC インスタンス] (SID が必要) または [RAC または PDB インスタンス] (サービス名が必要)。この例では [RAC または PDB インスタンス] を使用します。
データベースアカウントターゲット Oracle データベースのデータベースアカウント。「必要なデータベースアカウント権限」をご参照ください。
データベースパスワードデータベースアカウントのパスワード。

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

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

DTS は、その CIDR ブロックを Alibaba Cloud データベースインスタンスの IP アドレスホワイトリストおよび ECS でホストされているデータベースのセキュリティグループルールに自動的に追加します。データセンターまたはサードパーティクラウド上の自己管理データベースの場合、DTS CIDR ブロックをデータベースホワイトリストに手動で追加してください。「DTS サーバーの CIDR ブロックの追加」をご参照ください。

警告

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

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

パラメーター説明
移行タイプワンタイム移行の場合は [スキーマ移行][完全なデータ移行] を選択します。移行中にサービスを実行し続けるには、[スキーマ移行][完全なデータ移行]、および [増分データ移行] を選択します。
説明

増分移行なしの場合、移行中にソースデータベースに書き込まないでください。

競合するテーブルの処理モード[事前チェックとエラーレポート]:ソースとターゲットで同一名のテーブルをチェックします。競合が存在する場合、タスクの事前チェックが失敗します。競合を解決するには、オブジェクト名マッピングを使用します。「オブジェクト名のマッピング」をご参照ください。[エラーを無視して続行]:チェックをスキップします。プライマリキーが一致するデータレコードは移行されません。スキーマが異なる場合、特定のカラムのみが移行されるか、タスクが失敗する可能性があります。
ターゲットインスタンスのオブジェクト名の大文字/小文字ターゲットのデータベース、テーブル、およびカラム名の大文字/小文字を制御します。デフォルト:[DTS デフォルトポリシー]。「ターゲットインスタンスのオブジェクト名の大文字/小文字の指定」をご参照ください。
ソースオブジェクトソースオブジェクト リストからオブジェクトを選択し、向右小箭头[選択済みオブジェクト] をクリックして に追加します。カラム、テーブル、またはデータベースを選択します。テーブルまたはカラムを選択すると、ビュー、トリガー、およびストアドプロシージャは除外されます。
選択されたオブジェクトターゲットでデータベースの名前を変更するには、データベースを右クリックし、[スキーマ編集] ダイアログボックスで [スキーマ名] を設定します。条件で行をフィルターするには、テーブルを右クリックし、WHERE 条件を指定します。「フィルター条件の設定」をご参照ください。データベースまたはテーブルの特定の SQL 操作を選択するには、オブジェクトを右クリックして操作を選択します。
説明

オブジェクトの名前を変更すると、依存オブジェクトの移行が失敗する可能性があります。

ステップ 6: 詳細設定の構成

[次へ: 詳細設定] をクリックします。

データ検証

データ検証を構成するには、「データ検証の構成」をご参照ください。

詳細設定

パラメーター説明
タスクのスケジュールに使用する専用クラスターを選択デフォルトでは、DTS は共有クラスターを使用します。専用クラスターを使用するには、まず購入してください。「DTS 専用クラスターとは?
失敗した接続の再試行時間接続失敗後に DTS が再試行する時間。範囲:10~1440 分。デフォルト:720。信頼性を高めるために 30 分以上に設定してください。この期間内に DTS が再接続した場合、タスクが再開されます。そうでない場合、失敗します。
説明

複数のタスクが同じデータベースを共有している場合、最新に指定された値が優先されます。再試行中も DTS インスタンスの料金は発生し続けます。

ソースおよびターゲットデータベースで他の問題が発生した場合の再試行前の待機時間DDL または DML の失敗後に DTS が再試行する時間。範囲:1~1440 分。デフォルト:10。10 分以上に設定してください。[失敗した接続の再試行時間] よりも短くする必要があります。
完全なデータ移行のスロットリングを有効にする完全移行中のデータベースに対する DTS の読み取り/書き込みロードを制限します。[ソースデータベースへの 1 秒あたりのクエリ数 (QPS)][完全データ移行の RPS]、および [完全移行のデータ移行速度 (MB/s)] を設定します。[完全データ移行] が選択されている場合にのみ利用可能です。
増分データ移行のスロットリングを有効にする増分移行中の DTS ロードを制限します。[増分データ移行の RPS] および 増分移行のデータ移行速度 (MB/s) を設定します。[増分データ移行] が選択されている場合にのみ利用可能です。
環境タグDTS インスタンスを識別するためのタグ。オプション。
フォワードおよびリバースタスクのハートビートテーブルに対する SQL 操作を削除するかどうかDTS がハートビート SQL をソースデータベースに書き込むかどうかを制御します。[はい]:ハートビート SQL を書き込みません (タスクのレイテンシーがモニタリングに表示される場合があります)。[いいえ]:ハートビート SQL を書き込みます (物理バックアップやクローニングなどのソースデータベースの機能に影響を与える可能性があります)。
ETL の構成抽出、変換、書き出し (ETL) を有効にするかどうか。[はい]:コードエディタを使用して ETL を構成します。「データ移行またはデータ同期タスクでの ETL の構成」をご参照ください。[いいえ]:ETL をスキップします。「ETL とは?
モニタリングとアラートタスクの失敗またはしきい値を超えるレイテンシーに対するアラートを構成するかどうか。[はい]:アラートのしきい値と連絡先を指定します。「新しい DTS タスクのモニタリングとアラートの構成」をご参照ください。[いいえ]:アラートなし。

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

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

このタスクの API パラメーターをプレビューするには、次へ: タスク設定の保存と事前チェック にマウスを合わせ、[OpenAPI パラメーターのプレビュー] をクリックしてから先に進んでください。

説明

DTS は、移行タスクを開始する前に事前チェックを実行します。事前チェックが失敗した場合、各失敗した項目の横にある [詳細の表示] をクリックし、問題を修正してから、[再び事前チェック] をクリックします。安全に無視できるアラート項目については、[アラートの詳細の確認][無視][OK] をクリックし、その後 [再び事前チェック] をクリックします。アラートを無視すると、データの不整合が発生する可能性があります。

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

事前チェックの成功レートが 100% になるまで待ち、その後、[次へ:インスタンスの購入] をクリックします。

[インスタンスの購入] ページで、インスタンスクラスを設定します:

パラメーター説明
リソースグループ移行インスタンスのリソースグループ。デフォルト:[デフォルトのリソースグループ]。「Resource Management とは?
インスタンスクラス移行スループットクラス。ご利用のデータ量と移行速度の要件に基づいて選択してください。「データ移行インスタンスの仕様」をご参照ください。

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

[Data Transmission Service(従量課金)サービス利用規約] チェックボックスを選択し、次に [購入して開始] をクリックします。

[タスク管理]」ページで進行状況を監視できます。

移行完了後の操作

移行タスクの進捗が 100% に達した後:

  1. 移行タスクの停止。ワークロードを切り替える前または直後に DTS 移行タスクを停止または解放してください。そうしないと、再開されたタスクがターゲットデータをソースデータで上書きする可能性があります。

  2. クリーンアップ。REVOKE を使用して、ターゲットデータベース上の DTS アカウントから書き込み権限を取り消すか、DTS インスタンスを解放して料金の発生を停止します。