首批通过分布式安全可靠测评,为关键业务系统打造
MAJOR 和 MINOR
更新时间:2026-04-30 18:31:43
描述
该语句用于用户租户发起自身的存储层合并或转储。手动合并支持租户级别、表级别和分区级别。转储支持租户级别和分区级别。
语法
ALTER SYSTEM merge_action;
merge_action:
MAJOR FREEZE [TABLE_ID = table_id | TABLET_ID = tablet_id]
| MINOR FREEZE [TABLET_ID = tablet_id]
| {SUSPEND | RESUME} MERGE
| CLEAR MERGE ERROR
参数解释
| 参数 | 描述 |
|---|---|
| MAJOR FREEZE | 发起合并。
说明用户租户只能发起自身的合并。 |
| MINOR FREEZE | 发起转储。
说明用户租户只能发起自身的转储。 |
| {SUSPEND | RESUME} MERGE | 暂停或恢复合并。
说明用户租户只能暂停或恢复自身的合并。 |
| CLEAR MERGE ERROR | 清理合并出错的标记。
说明用户租户只能清理自身合并的出错标记。 |
| TABLE_ID | 指定表合并。 |
| TABLET_ID | 指定分区转储或合并。 |
示例
存储层合并相关的示例
用户租户发起自身的合并。
obclient> ALTER SYSTEM MAJOR FREEZE; Query OK, 0 rows affected用户租户发起自身的表级合并。
查询待合并的表 tbl2 的
table_id。obclient(root@mysql001)[oceanbase]> SELECT database_name, table_id, table_name FROM oceanbase.DBA_OB_TABLE_LOCATIONS WHERE table_name = 'tbl2';查询结果如下:
+---------------+----------+------------+ | database_name | table_id | table_name | +---------------+----------+------------+ | test | 500002 | tbl2 | +---------------+----------+------------+ 1 row in set执行以下命令,发起表级合并。
obclient(root@mysql001)[oceanbase]> ALTER SYSTEM MAJOR FREEZE TABLE_ID = 500002;
用户租户发起分区级别的合并。
查询待合并的表分区对应的
tablet_id。obclient(root@mysql001)[oceanbase]> SELECT database_name, table_id, table_name, tablet_id, partition_name, subpartition_name FROM oceanbase.DBA_OB_TABLE_LOCATIONS WHERE table_name = 'tbl2';查询结果如下:
+---------------+----------+------------+-----------+----------------+-------------------+ | database_name | table_id | table_name | tablet_id | partition_name | subpartition_name | +---------------+----------+------------+-----------+----------------+-------------------+ | test | 500010 | tbl2 | 200007 | p0 | NULL | | test | 500010 | tbl2 | 200008 | p1 | NULL | | test | 500010 | tbl2 | 200009 | p2 | NULL | +---------------+----------+------------+-----------+----------------+-------------------+ 3 rows in set执行以下命令,发起分区级合并。
obclient(root@mysql001)[oceanbase]> ALTER SYSTEM MAJOR FREEZE TABLET_ID = 200007;
暂停或恢复合并的示例
暂停用户租户自身的合并。
obclient> ALTER SYSTEM SUSPEND MERGE; Query OK, 0 rows affected恢复用户租户自身的合并。
obclient> ALTER SYSTEM RESUME MERGE; Query OK, 0 rows affected
清理合并出错标记的示例
清理用户租户自身合并的出错标记。
obclient> ALTER SYSTEM CLEAR MERGE ERROR; Query OK, 0 rows affected
存储层转储的示例
用户租户发起自身的转储。
obclient> ALTER SYSTEM MINOR FREEZE; Query OK, 0 rows affected用户租户发起分区级别的转储。
obclient> ALTER SYSTEM MINOR FREEZE TABLET_ID = 5; Query OK, 0 rows affected