メインコンテンツまでスキップ
バージョン: Latest-4.0

ADMIN REPAIR

説明

指定されたテーブルまたはパーティションの修復を試行します。

共有なしクラスタ内のネイティブテーブルの場合、このステートメントはレプリカ修復操作のスケジューリングを優先的に試行します。

共有データクラスタ内のクラウドネイティブテーブルの場合、メタデータまたはデータファイルが失われた際に、履歴上の利用可能なバージョンへのロールバックを試行します。これにより一部のタブレットの最新データが失われる可能性があることにご注意ください。

詳細な手順については、レプリカの管理 を参照してください。

ヒント

この操作には、SYSTEM レベルの OPERATE 権限が必要です。GRANT の指示に従って、この権限を付与することができます。

構文

ADMIN REPAIR TABLE table_name [PARTITION (p1,...)] [PROPERTIES ("key" = "value", ...)]

注意:

  1. このステートメントは、指定されたテーブルまたはパーティションのシャーディングレプリカを優先的に修復しようとすることを意味しますが、修復が成功する保証はありません。ユーザーは ADMIN SHOW REPLICA STATUS コマンドを通じて修復状況を確認できます。
  2. デフォルトのタイムアウトは 14400 秒(4 時間)です。タイムアウトは、指定されたテーブルまたはパーティションのシャーディングレプリカを優先的に修復しないことを意味します。タイムアウトが発生した場合、意図した設定のために再度コマンドを使用する必要があります。
  3. ステートメントで PROPERTIES を指定することで修復動作を設定できます。現在、共有データクラスタ内のクラウドネイティブテーブルのみが PROPERTIES をサポートしています

PROPERTIES

  • enforce_consistent_version: パーティション内の全タブレットを一貫性のあるバージョンにロールバックさせるかどうか。デフォルト: true。この項目が true に設定されている場合、システムはロールバックを実行するために、パーティション全体のデータバージョン整合性を確保するため、すべてのタブレットで有効な履歴内の整合性のあるバージョンを検索します。false に設定されている場合、パーティション内の各タブレットは、利用可能な最新の有効なバージョンにロールバックすることが許可されます。異なるタブレットのバージョンは不整合になる可能性がありますが、これによりデータ保存が最大化されます。
  • allow_empty_tablet_recovery: 空のタブレットを作成してリカバリを許可するかどうか。デフォルト: false。この項目は enforce_consistent_versionfalse の場合にのみ有効です。この項目が true に設定されている場合、一部のタブレットの全バージョンでメタデータが欠落しているが、少なくとも1つのタブレットに有効なメタデータが存在する場合、システムは欠落しているバージョンを埋めるために空のタブレットを作成しようと試みます。すべてのタブレットの全バージョンのメタデータが失われた場合、回復は不可能です。

  1. 指定されたテーブルを修復しようとする

    ADMIN REPAIR TABLE tbl1;
  2. 指定されたパーティションを修復しようとする

    ADMIN REPAIR TABLE tbl1 PARTITION (p1, p2);
  3. バージョンの不整合を許容し、回復のために空のタブレットを作成することを許可して、共有データクラスタ内のクラウドネイティブテーブルを修復しようとする

    ADMIN REPAIR TABLE cloud_tbl PROPERTIES (
    "enforce_consistent_version" = "false",
    "allow_empty_tablet_recovery" = "true"
    );
Rocky the happy otterStarRocks Assistant

AI generated answers are based on docs and other sources. Please test answers in non-production environments.