跳到主要内容

SET TABLE STATUS

描述

SET TABLE STATUS 语句用于手动设置 OLAP 表的状态。该语句具有以下功能:

  • 仅支持 OLAP 表的状态设置
  • 可以将表状态修改为指定的目标状态
  • 用于解除因表状态导致的任务阻塞

支持的状态

状态说明
NORMAL表示表处于正常状态
ROLLUP表示表正在进行 ROLLUP 操作
SCHEMA_CHANGE表示表正在进行 Schema 变更
BACKUP表示表正在进行备份
RESTORE表示表正在进行恢复
WAITING_STABLE表示表正在等待稳定状态

语法

ADMIN SET TABLE <table_name> STATUS PROPERTIES ("<key>" = "<value>" [, ...]);

其中:

<key>
: "state"

<value>
: "NORMAL"
| "ROLLUP"
| "SCHEMA_CHANGE"
| "BACKUP"
| "RESTORE"
| "WAITING_STABLE"

必选参数

1. <table_name>

指定要设置状态的表名。

表名在其所在的数据库中必须唯一。

2. PROPERTIES ("state" = "<value>")

指定表的目标状态。

必须设置 "state" 属性,且值必须是支持的状态之一。

权限控制

执行此 SQL 命令的用户必须至少具有以下权限:

权限(Privilege)对象(Object)说明(Notes)
ADMIN系统用户必须拥有 ADMIN 权限才能执行该命令

注意事项

  • 此命令仅用于紧急故障修复,请谨慎操作
  • 仅支持 OLAP 表,不支持其他类型的表
  • 如果表已经处于目标状态,该命令将被忽略
  • 不当的状态设置可能会导致系统异常,建议在技术支持指导下使用
  • 修改状态后,建议及时观察系统运行情况

示例

  • 将表状态设置为 NORMAL:

    ADMIN SET TABLE tbl1 STATUS PROPERTIES("state" = "NORMAL");
  • 将表状态设置为 SCHEMA_CHANGE:

    ADMIN SET TABLE tbl2 STATUS PROPERTIES("state" = "SCHEMA_CHANGE");