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

Data Transmission Service:OceanBase(MySQL モード)データベースから ApsaraDB RDS for MySQL インスタンスへのデータ移行

最終更新日:Mar 29, 2026

Data Transmission Service (DTS) を使用すると、MySQL モードで動作する OceanBase データベースから ApsaraDB RDS for MySQL インスタンスへデータを移行できます。本ガイドに従って、移行タスクの構成から実行までの一連の操作を行ってください。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • ソースとなる OceanBase データベースが Community Edition V4.x であること

  • ターゲットとなる ApsaraDB RDS for MySQL インスタンスの利用可能なストレージ容量が、ソースデータベースの全データサイズより大きいこと。設定手順については、「ApsaraDB RDS for MySQL インスタンスの作成」をご参照ください。

  • 必要な権限を持つデータベースアカウントが用意されていること。必要な権限の詳細については、後述の「必要な権限」をご参照ください。

課金

移行タイプタスク構成料金データ転送料金
スキーマ移行 + 完全なデータ移行無料本例では無料
増分データ移行課金済み

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

制限事項

ハード制限

カテゴリ制限内容
ソースデータベースの種類OceanBase Community Edition V4.x のみ
ApsaraDB for OceanBase のソース中国 (深セン) または中国 (上海) のみで、クラスターインスタンスである必要があります。テナントインスタンスはサポートされていません。
テーブル制約テーブルには PRIMARY KEY または一意制約(UNIQUE constraint)が必要であり、すべてのフィールドが一意である必要があります。これらの制約がないテーブルを使用すると、ターゲット側に重複レコードが発生する可能性があります。
テーブル名変更タスクの上限移行対象としてテーブルを選択し、ターゲット側でテーブル名またはカラム名を変更する場合、1 つのタスクで最大 1,000 個のテーブルまでサポートされます。1,000 個を超える場合は、複数のタスクをバッチ処理で実行するか、データベース全体を移行してください。
GEOMETRY データ型完全なデータ移行のみ対応。GEOMETRY データの増分移行はサポートされていません。
外部キーDTS はスキーマ移行時に外部キーを移行します。完全移行および増分移行中は、DTS がセッションレベルで外部キー制約チェックおよびカスケード操作を一時的に無効化します。移行中にソース側でカスケード削除操作を実行すると、データの不整合が発生する可能性があります。
カラム名の大文字小文字の区別同一のターゲットテーブル内で、カラム名が大文字小文字のみ異なる場合、MySQL のカラム名はデフォルトで大文字小文字を区別しないため、予期しない移行結果になる可能性があります。

データ型の処理

データ型動作
GEOMETRY完全なデータ移行のみ対応。増分移行はサポートされていません。
FLOATDTS は ROUND(COLUMN, PRECISION) を使用します。精度(PRECISION)が指定されていない場合、DTS はデフォルトで 38 桁 を使用します。
DOUBLEDTS は ROUND(COLUMN, PRECISION) を使用します。精度(PRECISION)が指定されていない場合、DTS はデフォルトで 308 桁 を使用します。

FLOAT および DOUBLE のデフォルト精度設定が要件を満たすことを、移行開始前にご確認ください。

移行中のソースデータベースで許可される操作

移行フェーズソース側で許可される操作
スキーマ移行 + 完全なデータ移行読み取り専用です。データベースまたはテーブルのスキーマを変更する DDL 文を実行しないでください。DDL 文を実行すると、タスクは失敗します。
完全なデータ移行のみ(増分なし)読み取り専用です。ソースデータベースへの書き込み操作を行わないでください。書き込み操作はデータの不整合を引き起こします。

留意事項

  • データベース名の命名規則:ソースデータベース名が ApsaraDB RDS for MySQL の命名規則に準拠していない場合、タスク構成前にターゲットデータベースを手動で作成してください。その後、「オブジェクトと高度な設定の構成」ステップで、オブジェクト名マッピング機能を用いて名前を変更します。

  • 失敗したタスクの再試行:DTS は失敗した移行タスクを最大 7 日間自動的に再試行します。ワークロードをターゲット側に切り替える前に、失敗したタスクを停止またはリリースするか、REVOKE を実行して DTS のターゲット側への書き込み権限を削除してください。これにより、タスク再開時にソースデータがターゲットデータを上書きするのを防げます。

  • 送信先での DDL の失敗: 送信先で DDL 文の実行に失敗した場合、DTS タスクは実行を継続します。詳細はタスクログで確認してください。「タスクログの表示」をご参照ください。

  • 移行後の検証:移行完了後、ANALYZE TABLE <table_name> を実行して、データが正常に書き込まれたことを確認してください。高可用性(HA)スイッチオーバーのシナリオでは、データがメモリ上にのみ存在し、永続化されないと失われる可能性があります。

  • ソースデータベースのパフォーマンス:完全なデータ移行は、ソースおよびターゲット両方の負荷を増加させます。ピーク時間帯を避けて移行を実行し、必要に応じて速度制限を有効化してください。

  • ターゲットテーブルスペースのサイズ:完全移行中の同時 INSERT 操作により、テーブルの断片化が発生します。移行完了後、ターゲットのテーブルスペースはソースよりも大きくなります。

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

操作タイプサポートされる文
DMLINSERT、UPDATE、DELETE
DDLALTER TABLE、ALTER VIEW、CREATE FUNCTION、CREATE INDEX、CREATE PROCEDURE、CREATE TABLE、CREATE VIEW、DROP INDEX、DROP TABLE、TRUNCATE TABLE、RENAME TABLE
重要

RENAME TABLE 操作はデータの不整合を引き起こす可能性があります。移行中にテーブル名を変更し、そのテーブルが名前で移行対象として追加されていた場合、変更後のテーブルのデータは移行されません。これを防ぐには、個別のテーブルではなくデータベース全体を移行対象として追加し、名前変更前および変更後のデータベースの両方が含まれていることを確認してください。

必要な権限

データベーススキーマ移行完全なデータ移行増分データ移行
OceanBase(ユーザーテナントまたは通常テナント)SELECTSELECT通常テナント
ApsaraDB RDS for MySQLターゲットデータベースに対する読み取りおよび書き込み権限ターゲットデータベースに対する読み取りおよび書き込み権限ターゲットデータベースに対する読み取りおよび書き込み権限
重要

増分データ移行を行うには、ソース OceanBase データベースをホストするサーバーに oblogproxy をインストールし、[sys テナント] を設定します。oblogproxy は、増分ログを管理するためのプロキシサービスです。インストールパッケージを使用した「」「oblogproxy のインストールおよびデプロイ」「」「oblogproxy のインストールおよびデプロイ」をご参照ください。

データベースアカウントの作成および権限付与手順は以下のとおりです。

移行タスクの作成

移行ワークフローは 7 ステップで構成されています:データ移行タスクページへ移動 → ソースおよびターゲットデータベースの構成 → 接続性のテスト → 移行対象の選択 → 高度な設定の構成 → 事前チェックの実行 → インスタンスの購入およびタスクの開始です。

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

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

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

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

    また、データ移行タスクページに直接アクセスすることもできます。コンソールのレイアウトは異なる場合があります。「シンプルモード」および「DMS コンソールのレイアウトとスタイルのカスタマイズ」をご参照ください。
  4. データ移行タスク の横にあるドロップダウンリストから、移行インスタンスを配置するリージョンを選択します。

    新しい DTS コンソールでは、左上隅のリージョンを選択してください。

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

タスクの作成 をクリックします。[データ移行タスクの作成] ページで、以下のパラメーターを構成します。

ソースデータベース

パラメーター説明
既存の DMS データベースインスタンスを選択任意項目です。選択すると、DTS がデータベースパラメーターを自動的に入力します。
データベースタイプApsaraDB OceanBase for MySQL を選択します。
アクセス方法ソースデータベースのデプロイ先に応じて選択します。本例では パブリック IP アドレス を使用します。自己管理型データベースの場合は、あらかじめ環境を準備してください。「事前準備の概要」をご参照ください。
インスタンスリージョンソース OceanBase データベースが配置されているリージョンです。
IP アドレスまたはドメイン名ソース OceanBase データベースのエンドポイントです。
ポート番号サービスポートです。デフォルト値:2881
ログプロキシの IP アドレス(ドメイン名は非対応)ソース OceanBase データベース向けの oblogproxy の IP アドレスです。
ログプロキシのポートoblogproxy のリスニングポートです。デフォルト値:2983
データベースアカウントソース OceanBase データベースのアカウントです。「必要な権限」をご参照ください。
データベースパスワードデータベースアカウントのパスワードです。

ターゲットデータベース

パラメーター説明
既存の DMS データベースインスタンスを選択任意項目です。選択すると、DTS がデータベースパラメーターを自動的に入力します。
データベースタイプMySQL を選択します。
アクセス方法Alibaba Cloud インスタンス を選択します。
インスタンスリージョンターゲット ApsaraDB RDS for MySQL インスタンスが配置されているリージョンです。
Alibaba Cloud アカウント間でのデータ複製同一アカウント内での移行の場合は、いいえ を選択します。
RDS インスタンス IDターゲット ApsaraDB RDS for MySQL インスタンスの ID です。
データベースアカウントターゲットデータベースのアカウントです。「必要な権限」をご参照ください。
データベースパスワードデータベースアカウントのパスワードです。
暗号化[暗号化なし] または [SSL 暗号化] を選択します。SSL を使用するには、まず RDS インスタンスで SSL 暗号化を有効化する必要があります。詳しくは、「SSL 暗号化の設定」をご参照ください。

ステップ 3:接続性のテストおよび IP アドレスホワイトリストの構成

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

ソースまたはターゲットデータベースで IP アドレスホワイトリストを使用している場合、DTS サーバーの CIDR ブロックをホワイトリストに追加してください。

データベースの配置場所CIDR ブロックの追加方法
Alibaba Cloud データベースインスタンス(ApsaraDB RDS for MySQL、ApsaraDB for MongoDB など)DTS が自動的に CIDR ブロックを追加します。
Elastic Compute Service (ECS) 上の自己管理型データベースDTS が自動的に ECS セキュリティグループルールに CIDR ブロックを追加します。データベースが複数の ECS インスタンスにまたがっている場合は、各インスタンスのセキュリティグループに CIDR ブロックを手動で追加してください。
データセンターまたはサードパーティクラウド上の自己管理型データベースCIDR ブロックを手動で追加してください。「DTS サーバーの CIDR ブロック」をご参照ください。
警告

公開 CIDR ブロックをデータベースのホワイトリストや ECS セキュリティグループに追加すると、セキュリティリスクが発生します。実行前に、強力な認証情報を使用する、公開ポートを最小限に抑える、API 呼び出しを認証する、ホワイトリストルールを定期的に監査する、不正な CIDR ブロックを削除するなどの予防措置を講じてください。より安全な接続を実現するには、Express Connect、VPN Gateway、または Smart Access Gateway をご検討ください。

重要

ソースデータベースが ApsaraDB for OceanBase インスタンスの場合、DTS サーバーの CIDR ブロックを ApsaraDB for OceanBase の IP アドレスホワイトリストに手動で追加してください。アクセス方法Express Connect、VPN Gateway、または Smart Access Gateway のデータベースと同じ CIDR ブロックを使用します。「ホワイトリストグループの作成」および「DTS サーバーの CIDR ブロック」をご参照ください。

ステップ 4:移行タイプおよび移行対象の選択

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

移行タイプ

ダウンタイムの要件に応じて、移行タイプを選択してください。

タイプ使用タイミング備考
スキーマ移行 + 完全なデータ移行計画的なダウンタイム期間を伴う 1 回限りの移行移行中はソースデータベースへの書き込み操作を行わないでください。
スキーマ移行 + 完全なデータ移行 + 増分データ移行ほぼゼロダウンタイムの移行。切り替え時にソースおよびターゲットを同期状態に保ちます。ソースサーバーに oblogproxy のインストールが必要です。

オブジェクトおよび高度な設定

パラメーター説明
ソースデータベース内のトリガーの移行方法スキーマ移行が選択された場合に利用可能です。要件に応じて選択してください。「トリガーの同期または移行」をご参照ください。
競合するテーブルの処理モード事前チェックを行いエラーを報告:ソースおよびターゲットでテーブル名が重複している場合、事前チェックが失敗します。エラーを無視して続行:チェックをスキップしますが、データの不整合や部分的な移行失敗のリスクがあります。
ターゲットインスタンスにおけるオブジェクト名の大文字小文字の区別ターゲット側のデータベース名、テーブル名、カラム名の大文字小文字の区別を制御します。デフォルト値:DTS デフォルトポリシー送信先インスタンスにおけるオブジェクト名の大文字小文字の指定。「」をご参照ください。
ソースオブジェクトソースオブジェクト セクションからオブジェクトを選択し、 アイコンを使用して 選択済みオブジェクト向右小箭头 に移動します。カラム、テーブル、データベース単位で選択可能です。
選択済みオブジェクトオブジェクトを右クリックして名前を変更します。[一括編集] をクリックして、複数のオブジェクトを一度に名前変更します。「オブジェクト名のマッピング」をご参照ください。行フィルター条件を設定するには、テーブルを右クリックして WHERE 条件を指定します。「フィルター条件の設定」をご参照ください。
オブジェクト名マッピングにより、依存オブジェクトの移行が失敗する可能性があります。完全なテーブル移行以外のカラムマッピングや、ソースとターゲットのスキーマの不一致は、マッピングされていないカラムのデータ損失につながる可能性があります。

ステップ 5:高度なタスク設定の構成

次へ:高度な設定 をクリックし、以下の設定を構成します。

パラメーター説明
タスクスケジューリング用の専用クラスターデフォルトでは、DTS は共有クラスターを使用します。より高い安定性を得るために、専用クラスターを購入してください。詳細については、「DTS 専用クラスターとは」をご参照ください。
アラートの設定タスクの失敗またはしきい値を超える移行遅延に対してアラート機能を設定します。[はい] を選択して、アラートのしきい値と通知の連絡先を指定します。詳細については、「モニタリングとアラートの設定」をご参照ください。
接続失敗時の再試行時間範囲:10~1440 分。デフォルト値:720 分。30 分を超える値を設定することを推奨します。この時間内に再接続されればタスクは再開されますが、それより長くかかるとタスクは失敗します。複数のタスクが同じソースまたはターゲットを共有する場合、最も最近設定された値が適用されます。
その他の問題発生時の再試行時間範囲:1~1440 分。デフォルト値:10 分。10 分を超える値を設定することを推奨します。また、接続失敗時の再試行時間 よりも短い値を指定する必要があります。
完全なデータ移行の速度制限の有効化完全移行中のソースおよびターゲットへの読み取り/書き込み負荷を制限します。ソースデータベースへの QPS完全データ移行の RPSデータ移行速度(MB/s) を設定します。完全データ移行が選択されている場合にのみ利用可能です。
増分データ移行の速度制限の有効化増分移行中の負荷を制限します。増分データ移行の RPS および データ移行速度(MB/s) を設定します。増分データ移行が選択されている場合にのみ利用可能です。
環境タグ任意項目です。DTS インスタンスに環境識別用のタグを付与できます。
ETL の構成ETL(抽出・変換・書き出し)機能を有効化して、移行中にデータ変換を適用します。詳細については、「ETL とは?」および「ETL の設定」をご参照ください。

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

次へ:タスク設定の保存および事前チェック をクリックします。

OpenAPI を使用してこのタスクを構成する場合のパラメーターをプレビューするには、次へ:タスク設定の保存および事前チェック の上にカーソルを合わせ、OpenAPI パラメーターのプレビュー をクリックしてください。

DTS は、移行タスクを開始する前に事前チェックを実行します。

  • チェック項目が 失敗 した場合: 詳細の表示 をクリックして問題を解決し、再チェック をクリックします。

  • チェック項目に アラート が表示された場合:安全に無視できるかどうかを判断してください。無視する場合は、詳細の表示 > 無視 > OK > 再チェック の順にクリックします。アラートを無視すると、データの不整合が発生する可能性があります。

成功率が 100% になるまでお待ちください。

ステップ 7:移行インスタンスの購入およびタスクの開始

  1. 次へ:インスタンスの購入 をクリックします。

  2. インスタンスの購入 ページで、以下の設定を行います。

    セクションパラメーター説明
    新規インスタンスクラスリソースグループ設定移行インスタンスのリソースグループです。デフォルト値:デフォルトリソースグループResource Management とは
    インスタンスクラスインスタンスクラスは、移行速度を決定します。詳細については、「データ移行インスタンスの仕様」をご参照ください。
  3. Data Transmission Service(従量課金)利用規約 のチェックボックスをオンにして、規約内容をご確認ください。

  4. 購入および開始 をクリックします。

移行タスクが開始されます。タスクリストで進捗状況を確認できます。

よくある質問

oblogproxy をインストールしていない場合、ログプロキシ関連のフィールドには何を入力すればよいですか?

ログプロキシの IP アドレス(ドメイン名は非対応) および ログプロキシのポート にはデフォルト値を使用し、増分データ移行移行タイプ で選択しないでください。oblogproxy がインストールされていない状態で増分移行を選択すると、エラーが発生します。

ソース OceanBase データベースのリージョンが [インスタンスリージョン] のドロップダウンリストにありません。何を選択すればよいですか?

ソース OceanBase データベースに最も近いリージョンを選択してください。

ソース OceanBase データベースがクラスターでデプロイされています。[ドメイン名または IP] パラメーターには何を入力すればよいですか?

クラスター作成時に OBServer ノード として指定した値を入力してください。

クラスター構成の OceanBase デプロイメントで、ポート番号をどのように設定すればよいですか?

ソース OceanBase データベースがスタンドアロンモードの場合は、デフォルトポートを使用してください。クラスターでデプロイされている場合は、クラスター作成時に指定した SQL ポート の値を使用してください。

ソース OceanBase データベースの [データベースアカウント] フィールドの形式は?

<username>@<tenant_name> の形式を使用してください。たとえば、ユーザー名が dtstest、テナント名が dts の場合、dtstest@dts と入力します。