首批通过分布式安全可靠测评,为关键业务系统打造
CREATE LS
更新时间:2026-04-15 17:16:59
描述
该语句用于创建一个用户日志流。
使用限制及注意事项
对于 V4.2.5 版本,V4.2.5 BP2 及以上版本支持创建日志流操作。
在 V4.x 之前版本中,OceanBase 数据库仅支持租户的同构 Zone 模式。在 V4.2.5 版本中,从 V4.2.5 BP5 版本开始支持租户的异构 Zone 模式。其中:
- 同构 Zone 模式下,需要通过指定 Unit Group 来创建日志流。
- 异构 Zone 模式下,需要通过指定 UNIT_LIST 来创建日志流。
有关同构 Zone 模式和异构 Zone 模式的详细区别,参见 数据分布。
当前仅支持创建普通的用户日志流,不支持创建广播日志流。
创建日志流操作仅支持在主租户上完成。且待创建日志流的租户的
STATUS和SWITCHOVER_STATUS需要为NORMAL。创建日志流时:
- 同构 Zone 模式下,要求目标
UNIT_GROUP的状态必须为ACTIVE,且视图DBA_OB_UNITS中目标UNIT_GROUP_ID的值不能为 0。 - 异构 Zone 模式下,要求目标
UNIT_LIST的状态必须为ACTIVE,且指定的目标UNIT_LIST不能为空。
- 同构 Zone 模式下,要求目标
为待创建的日志流指定
PRIMARY_ZONE时,需要保证指定的 Zone 在租户的ZONE_LIST中。对于日志流而言,设置日志流的PRIMARY_ZONE与设置租户的PRIMARY_ZONE略有不同,日志流仅允许设置一个 Zone,例如z1或z2,不能像租户一样设置z1,z2、z1; z2或RANDOM。负载均衡相关的配置项建议为关闭状态,即值为
False,否则:当租户级配置项 enable_rebalance 为开启状态,即值为
True时,创建的日志流会被系统从目标UNIT_GROUP中迁移到其他UNIT_GROUP中。当租户级配置项 enable_transfer 为开启状态,即值为
True时,创建的日志流可能会被删除。
权限要求
执行该语句的用户需要拥有 ALTER SYSTEM 权限。有关 OceanBase 数据库权限的详细介绍,请参见 MySQL 模式下的权限分类 和 Oracle 模式下的权限分类。
语法
ALTER SYSTEM CREATE LS
{UNIT_GROUP [=] unit_group_id} | {UNIT_LIST [=] (unit_id_list) }
[,PRIMARY_ZONE [=] 'zone_name']
[TENANT [=] 'tenant_name'];
参数说明
| 参数 | 描述 |
|---|---|
| unit_group_id | 指定待创建日志流的目标 UNIT_GROUP 的 ID。仅适用于同构 Zone 模式。 |
| unit_id_list | 指定待创建的日志流分布的 Unit 列表,多个 unit_id 之间使用英文逗号(,)分隔。仅适用于异构 Zone 模式。
说明对于 V4.2.5 版本,该参数从 V4.2.5BP5 版本开始支持。 |
| zone_name | 指定待创建的日志流的目标主 Zone。如果不指定 PRIMARY_ZONE,则由系统自动选择一个 Zone 分配。 |
| tenant_name | 可选项,指定待操作的租户。
注意仅系统租户可以指定其他租户,用户租户只能指定本租户。本语句不支持使用 |
示例
系统租户
系统租户为租户
obtenant在 ID 为 1001 的UNIT_GROUP上创建一个日志流。obclient> ALTER SYSTEM CREATE LS UNIT_GROUP 1001 TENANT = obtenant;系统租户为租户
obtenant在 ID 为 1001 的UNIT_GROUP上创建一个日志流,并且设置该日志流的PRIMARY_ZONE为z1。obclient> ALTER SYSTEM CREATE LS UNIT_GROUP 1001, PRIMARY_ZONE 'z1' TENANT = obtenant;用户租户
用户租户为本租户在 ID 为 1001 的
UNIT_GROUP上创建一个日志流。obclient> ALTER SYSTEM CREATE LS UNIT_GROUP 1001;用户租户为本租户在 ID 为 1001 的
UNIT_GROUP上创建一个日志流,并且设置该日志流的PRIMARY_ZONE为z1。obclient> ALTER SYSTEM CREATE LS UNIT_GROUP 1001, PRIMARY_ZONE 'z1';
系统租户
系统租户为租户
obtenant在 ID 为 1001、1002、1003 的UNIT_LIST上创建一个日志流。obclient> ALTER SYSTEM CREATE LS UNIT_LIST = (1001,1002,1003) TENANT = obtenant;系统租户为租户
obtenant在 ID 1001、1002、1003 的UNIT_LIST上创建一个日志流,并且设置该日志流的PRIMARY_ZONE为z1。obclient> ALTER SYSTEM CREATE LS UNIT_LIST = (1001,1002,1003), PRIMARY_ZONE 'z1' TENANT = obtenant;用户租户
用户租户为本租户在 ID 为 1001、1002、1003 的
UNIT_LIST上创建一个日志流。obclient> ALTER SYSTEM CREATE LS UNIT_LIST = (1001,1002,1003);用户租户为本租户在 ID 为 1001、1002、1003 的
UNIT_LIST上创建一个日志流,并且设置该日志流的PRIMARY_ZONE为z1。obclient> ALTER SYSTEM CREATE LS UNIT_LIST = (1001,1002,1003), PRIMARY_ZONE 'z1';
相关文档
有关创建日志流的详细操作,参见 创建日志流。