OceanBaseデータベースから同じ種類のテナントへのデータ移行タスクを新規作成し、構造移行、フル移行、増分同期を通じて、ソースデータベースの既存業務データと増分データをターゲットデータベースに移行できます。
注意
データ移行タスクが長期間非アクティブ状態(タスク状態が 失敗、一時停止 または 完了)の場合、増分ログの保持期間などの影響でタスクが復元できない可能性があります。データ移行システムは、非アクティブ状態が7日間を超えるタスクを自動的に解放し、関連リソースを回収します。タスクに対してアラートを設定し、タスク関連の異常を速やかに処理することを推奨します。
前提条件
ターゲット側のOceanBaseデータベースに対応するスキーマが作成されていること。
ソース側とターゲット側のOceanBaseデータベースのクラスタおよびテナントが作成されていること。詳細については、インスタンスの作成およびテナントの作成を参照してください。
OceanBaseデータベースにデータ移行専用のデータベースユーザーを作成し、関連する権限を付与していること。詳細については、データ移行ユーザー権限を参照してください。
使用上の制限
プロジェクトロールが プロジェクト所有者、プロジェクト管理者、または データサービス管理者 のいずれかであるユーザーのみが新規データ移行タスクの作成をサポートします。
ソースデータベースの操作制限
構造移行およびフル移行段階では、データベースまたはテーブル構造を変更するDDL操作を実行しないでください。そうでない場合、データ移行タスクが中断する可能性があります。
現在、データ移行はOceanBaseデータベース(MySQLおよびOracle互換モードを含む)V2.x、V3.x、およびV4.xをサポートしています。
データ移行サービスは、ASCIIコードで表記され、特殊文字(.|"'`()=;/& および改行を含む)を含まないデータベース名、テーブル名、列名のオブジェクトの移行のみをサポートします。
データ移行サービスは大文字小文字を区別するモードをサポートしていません。ターゲット側に同じ名前だが大文字小文字が異なるデータベースやテーブルが存在する場合、事前チェックでエラーが発生します。
ターゲット側がデータベースの場合、データ移行サービスはターゲット側にトリガー(Trigger)が存在することをサポートしていません。存在する場合、データ移行が失敗する可能性があります。
注意事項
ソース側の文字セットがUTF-8の場合、ターゲット側ではソース側と互換性のある文字セット(例:UTF-8、UTF-16など)を使用することを推奨します。これにより、文字セットの不互換性によるターゲット側での文字化けなどの問題を回避できます。
ノード間の時刻同期が取れていない場合、またはクライアント端末とサーバー間の時刻が同期されていない場合、増分同期の遅延時間が正確でない可能性があります。
例えば、時計が標準時より早い場合、遅延時間が負の値になる可能性があります。時計が標準時より遅い場合、遅延が発生する可能性があります。
DDL同期が有効になっていない状態で、ターゲット側の一意インデックスを変更した場合、データ移行タスクを再起動する必要があります。そうでない場合、データの不整合が発生する可能性があります。
データ移行サービスのDECIMAL、FLOAT、DATETIMEなどの列型の移行精度が期待通りであるか確認してください。ターゲット側のフィールド型の精度がソース側の精度より低い場合、切り捨てが発生し、ソース側とターゲット側のデータが不整合になる可能性があります。
ソース側がOceanBaseデータベースでDDL同期が有効なデータ移行タスクにおいて、ソース側のデータベーステーブルでRENAME操作が発生した場合、増分同期でのデータ損失を避けるため、タスクの再起動を推奨します。
OceanBaseデータベースのMySQL互換モード間でのデータ移行において、ソース側とターゲット側のテーブル構造が完全に一致しない場合、データの不整合が発生する可能性があります。現在知られているシナリオは以下のとおりです:
ユーザーが手動でテーブル構造を作成する際、データ移行サービスのサポート範囲を超えるため、暗黙的な変換問題が発生し、ソース側とターゲット側の列の型が一致しなくなる可能性があります。
ターゲット側のデータ長がソース側のデータ長より短い場合、データが切り捨てられ、ソース側とターゲット側のデータが不整合になる可能性があります。
新規データ移行タスクを作成する際、増分同期 のみを設定した場合、データ移行ではソースデータベースのローカル増分ログを48時間以上保持する必要があります。
新規データ移行タスクを作成する際、完全移行 + 増分同期 を設定した場合、データ移行ではソースデータベースのローカル増分ログを少なくとも7日間以上保持する必要があります。そうでない場合、増分ログを取得できないためデータ移行タスクが失敗する可能性があり、ソース側とターゲット側のデータが不整合になる可能性があります。
OceanBaseデータベースをソース側として増分同期を行う場合、データベーステーブルオブジェクトにUDT列が含まれていると、UDT列をサポートしていないため増分同期タスクが異常終了する可能性があります。
サポートされているソースおよびターゲットインスタンスタイプ
クラウドプロバイダー |
ソース |
ターゲット端 |
|---|---|---|
| AWS | OceanBase MySQL Compatible(Transactional) | OceanBase MySQL Compatible(Transactional) |
| AWS | OceanBase MySQL Compatible(Transactional) | OceanBase MySQL Compatible(Analytical) |
| AWS | OceanBase MySQL Compatible(Transactional) | OceanBase MySQL Compatible(Self-managed database) |
| AWS | OceanBase MySQL Compatible(Self-managed database) | OceanBase MySQL Compatible(Transactional) |
| AWS | OceanBase MySQL Compatible(Self-managed database) | OceanBase MySQL Compatible(Analytical) |
| AWS | OceanBase Oracle Compatible(Transactional) | OceanBase Oracle Compatible(Transactional) |
| AWS | OceanBase Oracle Compatible(Transactional) | OceanBase Oracle Compatible(Self-managed database) |
| AWS | OceanBase Oracle Compatible(Self-managed database) | OceanBase Oracle Compatible(Transactional) |
| Huawei Cloud | OceanBase MySQL Compatible(Transactional) | OceanBase MySQL Compatible(Transactional) |
| Huawei Cloud | OceanBase MySQL Compatible(Transactional) | OceanBase MySQL Compatible(Analytical) |
| Huawei Cloud | OceanBase MySQL Compatible(Transactional) | OceanBase MySQL Compatible(Self-managed database) |
| Huawei Cloud | OceanBase MySQL Compatible(Self-managed database) | OceanBase MySQL Compatible(Transactional) |
| Huawei Cloud | OceanBase MySQL Compatible(Self-managed database) | OceanBase MySQL Compatible(Analytical) |
| Huawei Cloud | OceanBase Oracle Compatible(Transactional) | OceanBase Oracle Compatible(Transactional) |
| Huawei Cloud | OceanBase Oracle Compatible(Transactional) | OceanBase Oracle Compatible(Self-managed database) |
| Huawei Cloud | OceanBase Oracle Compatible(Self-managed database) | OceanBase Oracle Compatible(Transactional) |
| Google Cloud | OceanBase MySQL Compatible(Transactional) | OceanBase MySQL Compatible(Transactional) |
| Google Cloud | OceanBase MySQL Compatible(Transactional) | OceanBase MySQL Compatible(Analytical) |
| Google Cloud | OceanBase MySQL Compatible(Transactional) | OceanBase MySQL Compatible(Self-managed database) |
| Google Cloud | OceanBase MySQL Compatible(Self-managed database) | OceanBase MySQL Compatible(Transactional) |
| Google Cloud | OceanBase MySQL Compatible(Self-managed database) | OceanBase MySQL Compatible(Analytical) |
| Google Cloud | OceanBase Oracle Compatible(Transactional) | OceanBase Oracle Compatible(Transactional) |
| Google Cloud | OceanBase Oracle Compatible(Transactional) | OceanBase Oracle Compatible(Self-managed database) |
| Google Cloud | OceanBase Oracle Compatible(Self-managed database) | OceanBase Oracle Compatible(Transactional) |
| Alibaba Cloud | OceanBase MySQL Compatible(Transactional) | OceanBase MySQL Compatible(Transactional) |
| Alibaba Cloud | OceanBase MySQL Compatible(Transactional) | OceanBase MySQL Compatible(Self-managed database) |
| Alibaba Cloud | OceanBase MySQL Compatible(Self-managed database) | OceanBase MySQL Compatible(Transactional) |
| Alibaba Cloud | OceanBase MySQL Compatible(Self-managed database) | OceanBase MySQL Compatible(Analytical) |
| Alibaba Cloud | OceanBase Oracle Compatible(Transactional) | OceanBase Oracle Compatible(Transactional) |
| Alibaba Cloud | OceanBase Oracle Compatible(Transactional) | OceanBase Oracle Compatible(Self-managed database) |
| Alibaba Cloud | OceanBase Oracle Compatible(Self-managed database) | OceanBase Oracle Compatible(Transactional) |
手順
データ移行タスクを新規作成します。
OceanBase Cloudコンソールにログインします。
左側のナビゲーションバーで、データサービス > データ移行 をクリックします。
データ移行 ページで、データ移行 タブをクリックします。
データ移行 タブで、右上の タスクを作成する をクリックします。
タスク名を編集するテキストボックスに、カスタムの移行タスク名を入力します。
中国語、数字、英字の組み合わせを使用することをお勧めします。名前にはスペースを含めず、長さは64文字を超えないようにしてください。
ソースとターゲットを設定する ページで、各パラメータを設定します。
ソース エリアで、各パラメータを設定します。
既に作成・保存されたデータソースを参照する必要がある場合、ソース の右側にある クイック入力 をクリックし、ドロップダウンリストから対象のデータソースを選択します。選択完了後、ソースエリアの各設定は自動的に入力されます。現在の設定を新しいデータソースとして保存する場合は、ソース エリアの右上にある 保存 アイコンをクリックしてください。
また、クイック入力 のドロップダウンリストで データソースの管理 をクリックすると、データソース ページに移動し、データソースの表示と管理ができます。このページでは、異なる種類のデータソースを一元的に管理できます。詳細については、データソースモジュールのドキュメントを参照してください。
パラメータ説明クラウドプロバイダ 現在 AWS、ファーウェイ・クラウド、Google Cloud、Alibaba Cloud をサポートしています。 データベースタイプ 実際の状況に応じて、ソースを OceanBase MySQL互換モード または OceanBase Oracle互換モード に選択します。 インスタンスタイプ 現在 専用インスタンス(トランザクション型) と オンプレデータベース をサポートしています。 リージョン ソースデータベースのリージョンを選択します。 接続タイプ エンドポイント と パブリックIP が含まれます。 - エンドポイント 接続方式を選択した場合は、ページに表示されているアカウントIDをエンドポイントサービスの許可リストに追加し、そのアカウントのエンドポイントがエンドポイントサービスに接続できるようにする必要があります。詳細については、プライベートネットワーク接続の選択モジュールのドキュメントを参照してください。
- パブリックネットワーク接続 接続方式を選択した場合は、ページに表示されているデータソースIPアドレスをOceanBaseデータベースインスタンスの許可リストに追加し、接続性を確保する必要があります。詳細については、パブリックネットワーク接続の選択モジュールのドキュメントを参照してください。
説明
インスタンスタイプがセルフマネージドデータベースのみを選択した場合にこのパラメータが表示されます。ソースとターゲットのリージョンを選択すると、ページに許可リストに追加する必要があるデータソースIPアドレスが表示されます。
接続情報 インスタンスタイプがセルフマネージドデータベースを選択した場合にのみ、このパラメータが表示されます。 - 接続タイプ を エンドポイント に選択した場合は、エンドポイントサービス名を入力してください。
- 接続タイプ を パブリックネットワーク接続 に選択した場合は、データベースホストのIPアドレスとポート番号を入力してください。
インスタンス OceanBaseデータベースが存在するインスタンスのIDまたは名前です。インスタンス ページで、ターゲットインスタンスのIDまたは名前を確認できます。 説明
クラウドプロバイダがAlibaba Cloudの場合、アカウント間認証をサポートするAlibaba Cloudのメインアカウントインスタンスの選択も可能です。詳細については、Alibaba Cloudアカウント認証を参照してください。
テナント OceanBaseデータベースのテナントIDまたは名前です。インスタンス ページで、ターゲットインスタンスを展開し、そのインスタンス下のターゲットテナントのIDまたは名前を確認できます。 データベースアカウント データ移行用のOceanBaseデータベースのユーザー名。 パスワード データベースユーザーのパスワード。 インスタンスタイプが オンプレデータベース の場合、構造移行と増分同期を行う必要がある場合は、詳細設定 エリアで各パラメータを設定してください。
サブスクリプションタイプとオブジェクトを選択する ステップで スキーマ移行 または 増分同期 を選択する場合は、sysテナントアカウントを有効にし、以下のパラメータを設定してください。
パラメータ説明Sys Account sysユーザーの名前です。このユーザーは主にOceanBaseデータベースの増分ログとデータベースオブジェクト構造情報の読み取りに使用されます。業務クラスタのsysテナント内に作成してください。 Password sysユーザーのパスワード。 タイプとオブジェクトを選択 のステップで 増分同期 を選択する場合は、OBLogProxyを有効にし、OBLogProxy接続情報を入力してください。
注意
増分同期をサポートするには、sysテナントアカウントとOBLogProxyの両方を有効にする必要があります。
OBLogProxy接続情報 は、OceanBaseデータベースの増分ログプロキシサービスであり、サービス形態でリアルタイムの増分プロジェクトへのアクセスと管理機能を提供し、アプリケーションがOceanBaseデータベースの増分ログにアクセスすることを容易にします。同時に、ネットワークが分離されている状況下での増分ログのサブスクリプションニーズも解決できます。形式は
OBLogProxy IP:OBLogProxy Portです。
ターゲット側 セクションで、各パラメータを設定します。
既に作成・保存されたデータソースを参照する必要がある場合は、ターゲット の右側にある クイック入力 をクリックし、ドロップダウンリストから対象のデータソースを選択します。選択完了後、ターゲット側セクションの各設定項目が自動的に入力されます。現在の設定を新しいデータソースとして保存する場合は、ターゲット エリアの右上にある 保存 アイコンをクリックします。
クイック入力 のドロップダウンリストで データソースの管理 をクリックすると、データソース ページに移動し、データソースの確認や管理を行えます。このページでは、異なる種類のデータソースを一元的に管理できます。詳細については、データソース モジュールのドキュメントを参照してください。
パラメータ説明クラウドベンダー 現在、AWS、Huaweiクラウド、Google Cloud、および アリババクラウド をサポートしています。ソース側と同じクラウドベンダーを選択することも、異なるクラウドベンダー間でのデータ移行も可能です。 説明
現在、クラウドベンダー間のデータ移行機能はデフォルトで有効になっていません。この機能を使用する場合は、OceanBase Cloudのテクニカルサポートにお問い合わせください。
データベースタイプ ソース側のデータベースタイプに応じて、ターゲット側の対応するデータベースタイプとして OceanBase MySQL互換モード または OceanBase Oracle互換モード を選択してください。 インスタンスタイプ - ソース側が OceanBase MySQL互換モード > クラスタインスタンス(トランザクション型) の場合、ターゲット側のOceanBase MySQL Compatibleは クラスタインスタンス(トランザクション型)、クラスタインスタンス(分析型)、および セルフマネージドデータベース をサポートします。
クラスタインスタンス(トランザクション型) はOLTP (On-line Transaction Processing) オンライントランザクション処理です。
クラスタインスタンス(分析型) はOLAP (On-line Analytical Processing) オンライン分析処理です。 - ソース側が OceanBase MySQL互換モード > セルフマネージドデータベース の場合、ターゲット側のOceanBase MySQL Compatibleは クラスタインスタンス(トランザクション型) および クラスタインスタンス(分析型) をサポートします。
- ソース側が OceanBase Oracle互換モード > クラスタインスタンス(トランザクション型) の場合、ターゲット側のOceanBase Oracle Compatibleは クラスタインスタンス(トランザクション型) および セルフマネージドデータベース をサポートします。
- ソース側が OceanBase Oracle互換モード > セルフマネージドデータベース の場合、ターゲット側は クラスタインスタンス(トランザクション型) をサポートします。
リージョン ターゲット側データベースのリージョンを選択します。 接続タイプ エンドポイント と パブリックネットワーク接続 が含まれます。 - エンドポイント 接続方式を選択した場合は、ページに表示されているアカウントIDをエンドポイントサービスの許可リストに追加し、そのアカウントのエンドポイントがエンドポイントサービスに接続できるようにする必要があります。詳細については、プライベートネットワーク接続の選択 モジュールのドキュメントを参照してください。
- パブリックネットワーク接続 接続方式を選択した場合は、ページに表示されているデータソースIPアドレスをOceanBaseデータベースインスタンスの許可リストに追加し、接続性を確保する必要があります。詳細については、パブリックネットワーク接続の選択 モジュールのドキュメントを参照してください。
説明
インスタンスタイプがセルフマネージドデータベースのみを選択した場合にこのパラメータが表示されます。ソース側とターゲット側のリージョンを選択すると、ページに許可リストに追加する必要があるデータソースIPアドレスが表示されます。
接続情報 インスタンスタイプがセルフマネージドデータベースのみを選択した場合にこのパラメータが表示されます。 - 接続タイプ を エンドポイント に選択した場合は、エンドポイントサービス名を入力してください。
- 接続タイプ を パブリックネットワーク接続 に選択した場合は、データベースホストのIPアドレスとポート番号を入力してください。
インスタンス OceanBaseデータベースが存在するインスタンスのIDまたは名前です。インスタンス ページで、ターゲットインスタンスのIDまたは名前を確認できます。 テナント OceanBaseデータベーステナントのIDまたは名前です。インスタンス ページで、ターゲットインスタンスを展開し、そのインスタンス下のターゲットテナントのIDまたは名前を確認できます。 データベースアカウント データ移行用のOceanBaseデータベースユーザー名。 パスワード データベースユーザーのパスワード。 インスタンスタイプが セルフマネージドデータベース の場合、構造移行と増分同期を実行する必要がある場合は、詳細設定 セクションで各パラメータを設定してください。
サブスクリプションタイプとオブジェクトを選択する ステップで スキーマ移行 または 増分同期 を選択する場合は、sysテナントアカウントを有効にし、以下のパラメータを設定してください。
パラメータ説明Sys Account sysユーザーの名前です。このユーザーは主にOceanBaseデータベースの増分ログとデータベースオブジェクト構造情報の読み取りに使用されます。業務クラスタのsysテナント内に作成してください。 Password sysユーザーのパスワード。 タイプとオブジェクトを選択 ステップで 増分同期 を選択する場合は、OBLogProxyを有効にし、OBLogProxy接続情報を入力してください。
説明
増分同期をサポートするには、sysテナントアカウントとOBLogProxyの両方を有効にする必要があります。
OBLogProxy接続情報は、OceanBaseデータベースの増分ログプロキシサービスであり、サービス形態でリアルタイムの増分プロジェクトアクセスと管理機能を提供し、アプリケーションがOceanBaseデータベースの増分ログにアクセスするのを容易にします。同時に、ネットワークが分離されている状況でも増分ログのサブスクリプションニーズを解決できます。形式は
OBLogProxy IP:OBLogProxy Portです。
- ソース側が OceanBase MySQL互換モード > クラスタインスタンス(トランザクション型) の場合、ターゲット側のOceanBase MySQL Compatibleは クラスタインスタンス(トランザクション型)、クラスタインスタンス(分析型)、および セルフマネージドデータベース をサポートします。
テストして続行 をクリックします。
サブスクリプションタイプとオブジェクトを選択する ページで、各パラメータを設定します。
同期トポロジー セクションで、一方向同期 を選択します。
データ移行は、一方向同期 と 双方向同期 をサポートしています。本記事では一方向同期の操作について説明します。双方向同期の詳細については、双方向同期タスクの設定を参照してください。
説明
ターゲットがOceanBase分析型インスタンスの場合、双方向同期は現在サポートされていません。
移行タイプ セクションで、現在のデータ移行タスクの移行タイプを選択します。
移行タイプ には、スキーマ移行、完全移行、および 増分同期 が含まれます。
パラメータ説明構造移行 構造移行では、文字セットのマッピング関係を自ら定義する必要があります。データ移行は、ソースデータベースのデータ(構造)をターゲットデータベースにコピーするだけで、ソースデータ(構造)に影響を与えません。OceanBaseデータベースのMySQL互換モードからOceanBaseデータベースのMySQL互換モードへの構造移行では、ターゲット側に存在しないデータベースを自動作成することがサポートされます。 フル移行 フル移行タスク開始後、データ移行サービスはソースデータベースのテーブルの既存データをターゲットデータベースの対応するテーブルに移行します。 増分同期 増分同期 タスク開始後、データ移行はソースデータベースで変更されたデータ(追加、変更、削除)をターゲットデータベースの対応するテーブルに同期します。増分同期には DML同期 と DDL同期 が含まれ、ニーズに応じてカスタマイズ設定できます。詳細については、DML/DDLのカスタム設定を参照してください。 移行対象を選択してください セクションで、移行オブジェクトの選択方法を設定します。
オブジェクトの指定 と マッチングルール の2つの方法で移行オブジェクトを選択できます。
移行範囲を選択してください セクションで、移行するオブジェクトを選択します。
オブジェクトの指定 を選択した場合、データ移行は データベースオブジェクト と データベース全体 をサポートしています。データベース・テーブル移行では、1つまたは複数のデータベース内のテーブルやビューを移行オブジェクトとして選択できます。データベース移行では、データベース全体を移行オブジェクトとして選択できます。あるデータベースでデータベース・テーブル移行を選択した場合、そのデータベースはデータベース移行をサポートしなくなります。あるデータベースでデータベース移行を選択した場合、そのデータベースはデータベース・テーブル移行をサポートしなくなります。
データベースオブジェクト または データベース全体 を選択した後、左側で移行するオブジェクトを選択し、> をクリックして右側のリストに追加します。
データ移行は、テキストを使ってオブジェクトをインポートすることをサポートしており、ターゲット側のオブジェクトの名前変更、行フィルタリングの設定、列情報の表示、および単一またはすべての移行オブジェクトの削除などの操作もサポートしています。
説明
データベース移行を選択した場合:
右側のリストにはデータベース名のみが表示され、具体的なオブジェクトの表示はサポートされていません。
増分同期-DDL同期 移行タイプを選択した場合、ソース側で新規作成されたテーブルはターゲット側に同期されます。
操作説明オブジェクトのインポート 選択エリアの右側にあるリストで、右上の インポート対象 をクリックします。詳細は 移行オブジェクトのインポートを参照してください。 名前の変更 データ移行では、移行オブジェクトの名前を変更できます。詳細は データベース・テーブルの名前変更を参照してください。 行フィルタリング データ移行では WHERE条件を使用した行フィルタリングがサポートされています。詳細は SQL条件でデータをフィルタリングするを参照してください。また、列を表示 エリアで、移行オブジェクトの列情報を確認できます。すべて削除/クリア データ移行では、データマッピング時に、一時的にターゲット側に選択された単一または複数のオブジェクトを削除する操作をサポートしています。 - 単一の移行オブジェクトの削除
選択エリアの右側にあるリストで、対象オブジェクトの後ろにある 削除 アイコンをクリックすると、その移行オブジェクトを削除できます。 - すべての移行オブジェクトの削除
選択エリアの右側にあるリストで、右上の すべてクリア をクリックします。ダイアログボックスで OK をクリックすると、すべての移行オブジェクトが削除されます。
マッチングルール を選択します。詳細は データベース間のマッチングルールの設定を参照してください。
次へ をクリックします。移行オプション ページで、各パラメータを設定します。
フル移行
サブスクリプションタイプとオブジェクトを選択する のステップで、一方向同期 > 完全移行 を選択した場合にのみ、以下のパラメータが表示されます。
パラメータ説明読み取り並列設定 このパラメータは、フル移行段階でソース側からデータを読み取る並列数を設定します。最大値は512です。並列数が高すぎると、ソース側の負荷が過大になり、業務に影響を与える可能性があります。 書き込み並列設定 このパラメータは、フル移行段階でターゲット側にデータを書き込む並列数を設定します。最大値は512です。並列数が高すぎると、ターゲット側の負荷が過大になり、業務に影響を与える可能性があります。 フル移行レートの制限 実際のニーズに応じて、フル移行レートの制限を有効にするかどうかを決定できます。有効にする場合は、ソース側読み取りRPS(フル移行段階で1秒間にソース側から読み取れる行数の上限)、ソース側読み取りBPS(フル移行段階で1秒間にソース側から読み取れる流量の上限)、ターゲット側書き込みRPS(フル移行段階で1秒間にターゲット側に書き込める行数の上限)、ターゲット側書き込みBPS(フル移行段階で1秒間にターゲット側に書き込める流量の上限)を設定してください。 説明
ここで設定されたRPSとBPSは、速度制限とトラフィック制限の能力としてのみ機能します。フル移行で実際に達成可能な性能は、ソース側、ターゲット側、インスタンス仕様の設定などの要因の影響を受けます。
ターゲット側テーブルオブジェクトにレコード存在時の処理ポリシー 処理ポリシーには、移行を停止 と 無視する が含まれます: - 移行を停止を選択した場合、ターゲット側テーブルオブジェクトにデータが存在すると、フル移行はエラーとして移行を許可しないと報告します。ターゲット側のデータを適切に処理した後、移行を続行してください。
注意
エラー発生後に復元をクリックすると、データ移行はこの設定オプションを無視し、テーブルデータの移行を続行します。操作は慎重に行ってください。
- 無視を選択した場合、ターゲット側テーブルオブジェクトにデータが存在すると、元のデータと書き込むデータが競合した場合、データ移行は競合データをログに記録し、元のデータを変更せずに保持するポリシーでデータを書き込みます。
インデックスの後付けを許可するかどうか インデックスの後付け機能は、フル移行にかかる時間を短縮できます。ここで、フルデータ移行完了後にインデックスを作成するかどうかを設定できます。インデックスの後付けを選択する際の注意事項については、表の下部の説明を参照してください。 注意
移行タイプの選択ページで 構造移行と フル移行の両方を選択した場合にのみ、このオプションの設定がサポートされます。
- 後付けできるのは、非一意キーインデックスのみです。
インデックスの後付けを許可する場合、OceanBaseデータベースのハードウェア条件と現在の業務トラフィック状況に基づき、CLIツールを使用して以下のビジネステナントパラメータを調整することを推奨します。
// File memory buffer size limit ALTER SYSTEM SET _temporary_file_io_area_size = '10' tenant = 'xxx'; // Disable throttling for OceanBase Database V4.x ALTER SYSTEM SET sys_bkgd_net_percentage = 100;- 移行を停止を選択した場合、ターゲット側テーブルオブジェクトにデータが存在すると、フル移行はエラーとして移行を許可しないと報告します。ターゲット側のデータを適切に処理した後、移行を続行してください。
増分同期
タイプとオブジェクトを選択 ステップで、一方向同期 > 増分同期 を選択した場合にのみ、以下のパラメータが表示されます。
パラメータ説明書き込み並列設定 このパラメータは、増分同期段階でターゲット側にデータを書き込む並列数を設定します。最大値は512です。並列数が高すぎると、ターゲット側の負荷が過大になり、業務に影響を与える可能性があります。 増分移行レートの制限 実際のニーズに応じて、増分同期レートの制限を有効にするかどうかを決定できます。有効にする場合は、ターゲット側書き込みRPS(増分同期段階で1秒間にターゲット側に同期できるデータ行数の最大値の制限)とターゲット側書き込みBPS(増分同期段階で1秒間にターゲット側に同期できる流量の最大値の制限)を設定してください。 説明
ここで設定されたRPSとBPSは、速度制限とトラフィック制限の能力としてのみ機能します。増分同期で実際に達成可能な性能は、ソース側、ターゲット側、インスタンス仕様の設定などの要因の影響を受けます。
増分同期開始時刻 - 移行タイプの選択時に フル移行を選択した場合、このパラメータは表示されません。
- 移行タイプの選択時に フル移行を選択せず、増分同期を選択した場合、この時点以降のデータの移行時刻を指定してください。デフォルトは現在のシステム時刻です。増分同期の開始時刻の設定を参照してください。
詳細オプション
ターゲット側のOceanBaseデータベースがV4.3.0以降のバージョンであり、かつ タイプとオブジェクトを選択 ステップで、スキーマ移行 または 増分同期 > DDL同期 を選択した場合にのみ、この領域のパラメータが表示されます。
ターゲット側テーブルオブジェクトのストレージタイプには、デフォルト、行ストア、カラムストア、および 行列ハイブリッド型 が含まれます。この設定は、構造移行または増分同期時のターゲット側テーブルオブジェクトのストレージタイプを決定するために使用されます。
説明
デフォルト オプションは、ターゲット側のパラメータ設定に基づいて他のオプションを自動的に適用します。構造移行のテーブルオブジェクトや増分DDLによって新規作成されるテーブルオブジェクトは、設定されたストレージタイプに対応する構造で書き込まれます。
次へ をクリックすると、システムはデータ移行タスクの事前チェックを実行します。
事前チェック の段階では、データ移行はデータベースユーザーの読み書き権限、データベースのネットワーク接続などが要件を満たしているかどうかをチェックします。すべてのチェック項目が合格した場合にのみ、データ移行タスクを開始できます。事前チェックでエラーが発生した場合:
問題を調査・処理した後、事前チェックを再実行し、事前チェックが成功するまで繰り返すことができます。
失敗した事前チェック項目の操作列にある スキップ をクリックすることもできます。ダイアログボックスが表示され、この操作をスキップした場合の具体的な影響が示されます。スキップしてもよいことを確認したら、ダイアログボックス内の 確定 をクリックしてください。
事前チェックが成功したら、購入 をクリックし、データ移行インスタンスを購入する ページに進んで購入します。
購入が成功すると、データ移行タスクを開始できます。購入の詳細については、データ移行インスタンスの購入を参照してください。データ移行インスタンスの購入が一時的に不要な場合は、保存 をクリックしてデータ移行タスクの詳細ページに移動し、後から必要に応じて手動で購入することができます。
データ移行の詳細ページの右上にある 検証タスクの設定 をクリックすると、ソースデータベースとターゲットデータベースのデータの差異を比較できます。詳細については、データ検証タスクの新規作成を参照してください。
データ移行サービスでは、データ移行タスクの実行中に移行オブジェクトを変更できます。詳細については、移行オブジェクトの確認と変更を参照してください。データ移行タスクが開始されると、選択した移行タイプに従って順次実行されます。詳細については、データ移行タスクの詳細を確認するの「移行の詳細を確認する」モジュールの内容を参照してください。