首批通过分布式安全可靠测评,为关键业务系统打造
MODIFY LS
更新时间:2026-04-16 00:11:36
描述
该语句用于变更日志流,包括修改日志流的 UNIT_GROUP 和日志流的 PRIMARY_ZONE。
使用限制及注意事项
- 对于 V4.2.1 版本,该语句需要在 V4.2.1 BP11 及以上版本上执行。
- 变更日志流时,待变更的日志流必须存在且状态必须为
NORMAL。 - 变更日志流时,待变更日志流的租户其租户状态必须为
NORMAL。 - 在主租户上修改日志流的
UNIT_GROUP时,要求租户的所有日志流当前没有负载均衡任务。 - 不建议在备租户上修改日志流的
UNIT_GROUP属性。由于备租户会自动调整日志流的UNIT_GROUP属性,手动修改备租户日志流的UNIT_GROUP属性可能不生效。 - 修改日志流的
UNIT_GROUP时,要求目标UNIT_GROUP的状态必须为ACTIVE。 - 修改日志流的
PRIMARY_ZONE时,需要保证修改后的 Zone 在租户的ZONE_LIST中。对于日志流而言,设置PRIMARY_ZONE与租户的PRIMARY_ZONE略有不同,日志流仅允许设置一个 Zone,例如z1或z2,不能像租户一样设置z1,z2、z1; z2或RANDOM。 - 变更日志流时,要求租户级配置项
enable_rebalance为关闭状态,即值为False。当enable_rebalance为开启状态时,租户的负载均衡模块可能会自动调整日志流的PRIMARY_ZONE和UNIT_GROUP属性。 - 只有广播日志流和系统日志流(1 号日志流)才支持指定
UNIT_GROUP为 0。
权限要求
执行该语句的用户需要拥有 ALTER SYSTEM 权限。有关 OceanBase 数据库权限的详细介绍,请参见 MySQL 模式下的权限分类 和 Oracle 模式下的权限分类。
语法
ALTER SYSTEM MODIFY LS
LS [=] ls_id
[UNIT_GROUP [=] unit_group_id]
[,PRIMARY_ZONE [=] 'zone_name']
[TENANT [=] 'tenant_name'];
参数说明
| 参数 | 描述 |
|---|---|
| ls_id | 指定待变更的日志流的 ID。 |
| unit_group_id | 指定待变更的日志流的目标 Unit Group 的 ID。执行该语句时,需要至少修改日志流的其中一个属性 UNIT_GROUP 或 PRIMARY_ZONE。 |
| zone_name | 指定待变更的日志流的目标主 Zone。执行该语句时,需要至少修改日志流的其中一个属性 UNIT_GROUP 或 PRIMARY_ZONE。 |
| tenant_name | 可选项,指定待操作的租户。
注意仅系统租户可以指定其他租户,用户租户只能指定本租户。本语句不支持使用 |
示例
仅修改日志流的
UNIT_GROUP修改租户
obtenant的 1002 号日志流的位置到 1002 号的UNIT_GROUP。系统租户修改用户租户的日志流
obclient> ALTER SYSTEM MODIFY LS 1002 UNIT_GROUP 1002 TENANT = obtenant;用户租户修改本租户的日志流
obclient> ALTER SYSTEM MODIFY LS 1002 UNIT_GROUP 1002;
仅修改日志流的
PRIMARY_ZONE修改租户
obtenant的 1002 号日志流 Leader 的第一优先级到z1。系统租户修改用户租户的日志流
obclient> ALTER SYSTEM MODIFY LS 1002 PRIMARY_ZONE 'z1' TENANT = obtenant;用户租户修改本租户的日志流
obclient> ALTER SYSTEM MODIFY LS 1002 PRIMARY_ZONE 'z1';
同时修改日志流的
UNIT_GROUP和PRIMARY_ZONE修改租户
obtenant的 1002 日志流的位置到 1002 的UNIT_GROUP,并修改日志流 Leader 的第一优先级到z1。系统租户修改用户租户的日志流
obclient> ALTER SYSTEM MODIFY LS 1002 UNIT_GROUP 1002, PRIMARY_ZONE 'z1' TENANT = obtenant;用户租户修改本租户的日志流
obclient> ALTER SYSTEM MODIFY LS 1002 UNIT_GROUP 1002, PRIMARY_ZONE 'z1';