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

ApsaraDB for OceanBase:Oracle 互換モードの OceanBase データベースから MySQL データベースへの増分データの移行

最終更新日:Jul 05, 2025

このトピックでは、データ伝送サービスを使用して、Oracle 互換モードの OceanBase データベースから MySQL データベースに増分データを移行する方法について説明します。

重要

データ移行タスクが長期間非アクティブな状態のままである場合、増分ログの保持期間によっては復元に失敗することがあります。非アクティブな状態は、失敗停止、および完了です。データ伝送サービスは、関連リソースを回収するために、3 日を超えて非アクティブな状態が続いているデータ移行タスクを解放します。データ移行タスクのアラートを設定し、タスクの例外を速やかに処理することをお勧めします。

前提条件

  • データ伝送サービスには、クラウド リソースにアクセスするための権限があります。詳細については、「データ伝送のロールに権限を付与する」をご参照ください。

  • ソースの Oracle 互換モードの OceanBase データベースとターゲットの MySQL データベース用に、データ移行専用のデータベース ユーザーを作成し、必要な権限をユーザーに付与しています。詳細については、「データベース ユーザーを作成する」をご参照ください。

制限事項

  • データ伝送サービスは、MySQL 5.5、5.6、5.7、および 8.0 をサポートしています。

  • データ伝送サービスは、プライマリキーのないテーブルを Oracle 互換モードの OceanBase データベースから MySQL データベースに移行することをサポートしていません。

  • データ伝送サービスは、ターゲットがデータベースの場合、ターゲットでのトリガーをサポートしていません。トリガーが存在する場合、データ移行は失敗する可能性があります。

  • データ伝送サービスは、オブジェクトのデータベース名、テーブル名、および列名が特殊文字を含まない ASCII エンコードされている場合にのみ、オブジェクトの移行をサポートします。特殊文字は、改行、スペース、および次の文字です。 . | " ' ` ( ) = ; / & \.

考慮事項

  • ソースで UTF-8 文字セットを使用する場合、文字化けを避けるために、ターゲットで UTF-8 または UTF-16 などの互換性のある文字セットを使用することをお勧めします。

  • ノード間またはクライアントとサーバー間のクロックが同期していない場合、増分同期または逆増分中のレイテンシが不正確になる可能性があります。

    たとえば、クロックが標準時刻よりも早い場合、レイテンシは負になる可能性があります。クロックが標準時刻よりも遅い場合、レイテンシは正になる可能性があります。

  • ターゲットで一意なインデックスを変更する場合は、データの不整合を避けるために、データ移行タスクを再起動する必要があります。

  • ソースとターゲットのテーブル スキーマの差異により、データの整合性が損なわれる可能性があります。いくつかの既知のシナリオを以下に示します。

    • ターゲットでテーブル スキーマを手動で作成する場合、いずれかの列のデータ型がデータ伝送サービスでサポートされていないと、ターゲットで暗黙的なデータ型変換が発生し、ソースとターゲット間で列型が不整合になる可能性があります。

    • ターゲットの列の長さがソースの列の長さよりも短い場合、この列のデータが自動的に切り捨てられ、ソースとターゲット間でデータの不整合が発生する可能性があります。

  • データ移行タスクの作成時に[増分同期]のみを選択した場合、データ伝送サービスでは、ソースデータベースのローカル増分ログを少なくとも 48 時間保持する必要があります。

  • ソースまたはターゲットに大文字と小文字のみが異なるテーブル オブジェクトが含まれている場合、ソースまたはターゲットで大文字と小文字が区別されないため、データ移行の結果が予期したとおりにならない可能性があります。

サポートされているソースおよびターゲット インスタンス タイプ

次の表では、Oracle 互換モードの OceanBase データベースは OB_Oracle と呼ばれ、OceanBase クラスタ インスタンスをサポートしています。

ソース

ターゲット

OB_Oracle

MySQL (RDS インスタンス)

OB_Oracle

MySQL (PolarDB インスタンス)

OB_Oracle

MySQL (VPC 内のセルフマネージド データベース)

OB_Oracle

MySQL (パブリック IP アドレスを持つセルフマネージド データベース)

手順

  1. ApsaraDB for OceanBase コンソール にログインし、データ移行タスクを購入します。

    詳細については、「データ移行タスクを購入する」をご参照ください。

  2. [データ伝送] > [データ移行] を選択します。表示されるページで、データ移行タスクの [構成] をクリックします。

    image.png

    既存のタスクの構成を参照する場合は、[構成の参照] をクリックします。詳細については、「データ移行タスクの構成を参照する」をご参照ください。

  3. [ソースとターゲットの選択] ページで、パラメーターを構成します。

    パラメーター

    説明

    移行タスク名

    数字と文字の組み合わせに設定することをお勧めします。スペースを含めることはできず、長さは 64 文字以下にする必要があります。

    ソース

    Oracle 互換モードの OceanBase データ ソースを作成済みの場合は、ドロップダウン リストから選択します。それ以外の場合は、ドロップダウン リストの [新しいデータ ソース] をクリックし、右側に表示されるダイアログ ボックスで作成します。パラメーターの詳細については、「OceanBase データ ソースを作成する」をご参照ください。

    ターゲット

    MySQL データ ソースを作成済みの場合は、ドロップダウン リストから選択します。それ以外の場合は、ドロップダウン リストの [新しいデータ ソース] をクリックし、右側に表示されるダイアログ ボックスで作成します。パラメーターの詳細については、「MySQL データ ソースを作成する」をご参照ください。

    タグ (オプション)

    ドロップダウン リストからターゲット タグを選択します。また、[タグの管理] をクリックして、タグを作成、変更、および削除することもできます。詳細については、「タグを使用してデータ移行タスクを管理する」をご参照ください。

  4. [次へ] をクリックします。[移行タイプの選択] ページで、現在のデータ移行タスクの移行タイプを指定します。

    現在、[増分同期] では [DML 同期] のみがサポートされています。必要に応じて操作を選択できます。詳細については、「DDL/DML 同期を構成する」をご参照ください。

    image

  5. [次へ] をクリックします。[移行オブジェクトの選択] ページで、データ移行タスクの移行オブジェクトを指定します。

    [オブジェクトの指定] または [一致ルール] を選択して、移行オブジェクトを指定できます。このトピックでは、[オブジェクトの指定] を使用して移行オブジェクトを指定する方法について説明します。一致ルールの詳細については、「一致ルールを構成および変更する」をご参照ください。

    重要
    • 移行するテーブルの名前、およびテーブル内の列の名前には、漢字を含めることはできません。

    • データベース名またはテーブル名に二重ドル記号 ($$) が含まれている場合、移行タスクを作成することはできません。

    image.png

    1. [移行オブジェクトの選択] セクションで、[オブジェクトの指定] を選択します。

    2. 移行するオブジェクトを、[移行範囲の指定]セクションの[ソースオブジェクト]リストで選択します。 1 つ以上のデータベースのテーブルとビューを選択できます。

    3. クリック [>] [移行先オブジェクト] リストに追加します。

    データ伝送サービスでは、テキスト ファイルからのオブジェクトのインポート、ターゲット オブジェクトの名前変更、行フィルターの設定、列情報の表示、単一またはすべての移行オブジェクトの削除を行うことができます。

    説明

    [一致ルール] を選択して移行オブジェクトを指定する場合、オブジェクトの名前変更は、指定された一致ルールの構文に基づいて実装されます。操作エリアでは、フィルター条件のみを設定できます。詳細については、「一致ルールを構成および変更する」をご参照ください。

    操作

    説明

    オブジェクトのインポート

    1. 右側のリストで、右上隅にある[オブジェクトのインポート]をクリックします。

    2. 表示されたダイアログボックスで、[OK] をクリックします。

      重要

      この操作は以前の選択を上書きします。注意して進めてください。

    3. [オブジェクトのインポート] ダイアログボックスで、移行対象のオブジェクトをインポートします。

      CSV ファイルをインポートして、データベースまたはテーブルの名前を変更し、行フィルタリング条件を設定できます。詳細については、「移行オブジェクトの設定をダウンロードおよびインポートする」をご参照ください。

    4. [検証] をクリックします。

      移行オブジェクトをインポートした後、それらの有効性を確認します。列フィールド マッピングは現在サポートされていません。

    5. 検証が成功したら、[OK] をクリックします。

    オブジェクトの名前変更

    データ伝送サービスでは、移行オブジェクトの名前を変更できます。詳細については、「データベース テーブルの名前を変更する」をご参照ください。

    設定の構成

    データ伝送サービスでは、WHERE 条件を使用して行をフィルタリングできます。詳細については、「SQL 条件を使用してデータをフィルタリングする」をご参照ください。

    また、[列の表示] セクションで移行オブジェクトの列情報を表示することもできます。

    1 つまたはすべてのオブジェクトを削除する

    データ伝送サービスでは、データ マッピング中に右側のリストに追加された 1 つまたはすべての同期オブジェクトを削除できます。

    • 単一の移行オブジェクトを削除する

      右側のリストで、削除するオブジェクトにポインターを合わせて [削除] をクリックし、移行オブジェクトを削除します。

    • すべての移行オブジェクトを削除する

      右側のリストで、右上隅にある[すべて削除]をクリックします。 表示されるダイアログボックスで[OK]をクリックし、すべての移行オブジェクトを削除します。

  6. [次へ] をクリックします。[移行オプション] ページで、増分同期の パラメーターを構成します。

    image

    パラメーター

    説明

    書き込み同時実行性

    増分同期中にターゲットにデータを書き込むための同時実行性。最大値は 512 です。書き込み同時実行性が高いと、ターゲットに過度のストレスがかかり、ビジネスに影響を与える可能性があります。

    増分同期レート制限

    必要に応じて、増分同期レートを制限するかどうかを選択できます。増分同期レートを制限することを選択した場合は、1 秒あたりのレコード数 (RPS) と 1 秒あたりのバイト数 (BPS) を指定する必要があります。RPS は、増分同期中にターゲットに同期されるデータ行の最大数を 1 秒あたりで指定し、BPS は、増分同期中にターゲットに同期されるデータの最大量をバイト単位で 1 秒あたりで指定します。

    説明

    ここで指定された RPS 値と BPS 値は、調整のためだけにあります。実際の増分同期のパフォーマンスは、ソースとターゲットの設定やインスタンスの仕様などの要因の影響を受けます。

    増分同期の開始タイムスタンプ

    データを同期する開始時点を指定します。デフォルト値は現在のシステム時刻です。詳細については、「増分同期のタイムスタンプを設定する」をご参照ください。

  7. [事前チェック] をクリックして、データ移行タスクの事前チェックを開始します。

    事前チェック中に、データ伝送サービスは、データベース ユーザーの読み取りおよび書き込み権限とデータベースのネットワーク接続を確認します。データ同期タスクは、すべてのチェック項目に合格した後でのみ開始できます。事前チェック中にエラーが返された場合は、次の操作を実行できます。

    • 問題を特定してトラブルシューティングし、再度事前チェックを実行します。

    • 失敗した事前チェック項目の [アクション] 列の [スキップ] をクリックします。操作の結果を尋ねるダイアログ ボックスで、[OK] をクリックします。

  8. 事前チェックに合格したら、[タスクの開始] をクリックします。

    今すぐタスクを開始する必要がない場合は、[保存] をクリックします。[移行タスク] ページで、またはバッチ操作を実行することで、後でタスクを開始できます。バッチ操作の詳細については、「データ移行タスクのバッチ操作を実行する」をご参照ください。

    データ伝送サービスでは、移行タスクの実行中に、移行オブジェクトとその行フィルタリング条件を変更できます。詳細については、「移行オブジェクトとそのフィルター条件を表示および変更する」をご参照ください。データ移行タスクが開始されると、選択された移行タイプに基づいて実行されます。詳細については、「移行の詳細を表示する」をご参照ください。

参照