OceanBaseデータベースから、同じ互換モードの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) |
| 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文字を超えてはなりません。
ソースとターゲットを設定する ページで、各パラメータを設定します。
ソース セクションで、各パラメータを設定します。
既に作成・保存されたデータソースを参照する必要がある場合、ソース の右側にある クイック入力 をクリックし、ドロップダウンリストから対象のデータソースを選択します。選択完了後、ソースエリアの各設定が自動的に入力されます。現在の設定を新しいデータソースとして保存する場合、ソース エリアの右上にある 保存 アイコンをクリックします。
クイック入力 のドロップダウンリストで、データソースの管理 をクリックすることもできます。これにより、データソース ページに移動し、データソースの表示と管理を行うことができます。このページでは、異なるタイプのデータソースを一元的に管理できます。詳細については、データソースモジュールのドキュメントを参照してください。
パラメータ説明クラウドベンダー 現在、Alibaba Cloud、AWS、および Google Cloud のみサポートしています。 データベースタイプ 実際の状況に応じて、ソースを OceanBase MySQL互換モード または OceanBase Oracle互換モード に設定します。 インスタンスタイプ 現在、専用インスタンス(トランザクション型) と セルフマネージド型データベース をサポートしています。 リージョン ソースデータベースのリージョンを選択します。 接続タイプ エンドポイント と パブリックネットワーク接続 が含まれます。 - エンドポイント 接続方式を選択した場合、ページに表示されているアカウント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です。
ターゲット側 セクションで、各パラメータを設定します。
既に作成・保存されたデータソースを参照する必要がある場合は、ターゲット の右側にある クイック入力 をクリックし、ドロップダウンリストから対象のデータソースを選択します。選択完了後、ターゲット側エリアの各設定は自動的に入力されます。現在の設定を新しいデータソースとして保存する場合は、ターゲット側 エリアの右上にある 保存 アイコンをクリックします。
クイック入力 のドロップダウンリストで データソースの管理 をクリックすることもできます。これにより、データソース ページに移動し、データソースの表示と管理を行えます。このページでは、異なる種類のデータソースを一元的に管理できます。詳細については、データソース モジュールのドキュメントを参照してください。
パラメータ説明クラウドベンダー 現在、Alibaba Cloud、AWS、および 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互換モード > セルフマネージドデータベース の場合、ターゲット側は クラスタインスタンス(トランザクション型) をサポートします。
リージョン ターゲットデータベースのリージョンを選択します。 接続タイプ エンドポイント と パブリックネットワーク接続 が含まれます。クラウドベンダー を Alibaba Cloud、AWS、または Google Cloud に設定した場合、ピアリング接続 もサポートされます。 - エンドポイント 接続方式を選択した場合は、ページに表示されているアカウントIDを、そのエンドポイントサービスの許可リストに追加して、該当アカウントのエンドポイントがエンドポイントサービスに接続できるようにする必要があります。詳細については、プライベートネットワーク接続の選択 モジュールのドキュメントを参照してください。
- パブリックネットワーク接続 接続方式を選択した場合は、ページに表示されているデータソースIPアドレスをOceanBaseデータベースインスタンスの許可リストに追加して、接続性を確保する必要があります。詳細については、パブリックネットワーク接続の選択 モジュールのドキュメントを参照してください。
説明
インスタンスタイプがセルフマネージドデータベースの場合にのみ、このパラメータが表示されます。ソース側とターゲット側のリージョンを選択すると、ページに許可リストに追加する必要があるデータソースIPアドレスが表示されます。
- ピアリング接続 を選択した場合は、ドロップダウンリストから利用可能なピアリング接続を選択し、ページに表示されているIPアドレスをOceanBaseデータベースインスタンスのセキュリティグループのインバウンドルールまたは許可リストに追加して、接続性を確保してください。具体的な操作については、AWSピアリング接続、Alibaba Cloudピアリング接続、および Google Cloudピアリング接続 を参照してください。
ピアリング接続ID インスタンスタイプがセルフマネージドデータベースで、接続タイプが ピアリング接続 の場合にのみ表示されます。ドロップダウンリストから利用可能なピアリング接続を選択します。ドロップダウンリストには、現在のクラウドベンダーとリージョンが一致し、状態が 接続済み のピアリング接続のみが表示され、対応するVPC IDとCIDRが表示されます。利用可能な接続がない場合は、新規作成 をクリックして、新しいタブでデータサービスのピアリング接続を作成できます。 接続情報 インスタンスタイプがセルフマネージドデータベースの場合にのみ、このパラメータが表示されます。 - 接続タイプ を エンドポイント に設定した場合は、エンドポイントサービス名を入力してください。
- 接続タイプ を パブリックネットワーク接続 に設定した場合は、データベースホストの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によって新規作成されるテーブルオブジェクトについては、設定されたストレージタイプに応じたテーブル定義が作成されます。
次へ をクリックすると、システムはデータ移行タスクの事前チェックを実行します。
事前チェック の段階で、データ移行はデータベースユーザーの読み書き権限、データベースのネットワーク接続などが要件を満たしているかどうかをチェックします。すべてのチェック項目に合格した場合にのみ、データ移行タスクを開始できます。事前チェックでエラーが発生した場合:
問題を調査・処理した後、事前チェックを再実行し、成功するまで繰り返すことができます。
失敗した事前チェック項目の操作列にある スキップ をクリックすると、ダイアログボックスがポップアップ表示され、この操作をスキップした場合の具体的な影響について警告します。スキップしてもよいことを確認したら、ダイアログボックス内の 確定 をクリックしてください。
事前チェックが成功したら、購入 をクリックし、データ移行インスタンスを購入する ページに移動して購入します。
購入が成功すると、データ移行タスクを開始できます。購入の詳細については、データ移行インスタンスの購入を参照してください。現時点でデータ移行インスタンスを購入する必要がない場合は、保存 をクリックしてデータ移行タスクの詳細ページに移動し、後から必要に応じて手動で購入できます。
データ移行の詳細ページの右上隅にある 検証タスクの設定 をクリックすると、ソースデータベースとターゲットデータベース間のデータ差異を比較できます。詳細については、データ検証タスクの作成を参照してください。
データ移行サービスでは、データ移行タスクの実行中に移行オブジェクトを変更できます。詳細については、移行オブジェクトの表示と変更を参照してください。データ移行タスクは開始後、選択した移行タイプに従って順次実行されます。詳細については、データ移行タスクの詳細を見るの「移行の詳細を見る」モジュールの内容を参照してください。