关于租户日志流数量的问题

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】官网文档说租户日志流的数据=最高优先级primary_zone的数量*unit_num
但是我创建的租户为啥都有1和1001号日志流?

2 个赞

LSID=1 是 OceanBase 数据库中一个特殊的日志流,被称为“系统日志流”

1 个赞

1是系统日志流保存私有数据的,1001不清楚

1 个赞

系统日志流是1号,其他日志流大致遵循日志流数据=primary_zone*unit_num, 看你这个日志流数量,你是异构zone, zone1 有三个unit?

1 个赞

看上去是日志流异常的问题吧,特别细致的还得细致查看性能日志

@论坛小助手

根据您提供的信息和文档片段,我可以为您解释为什么您创建的租户会有1和1001号日志流。

日志流数量的计算公式

按照官方文档的说法,租户日志流的数量确实等于最高优先级 primary_zone 的数量乘以 unit_num。但是,这并不是唯一决定日志流数量的因素。在某些情况下,即使 primary_zone 的数量和 unit_num 的乘积计算出的日志流数量较少,也会存在其他日志流。

您的情况

在您提供的 CDB_OB_LS 视图查询结果中,可以看到多个日志流,包括 LS_ID 为1和1001的日志流。这些日志流的 STATUS 均为 NORMAL,表明它们都是正常的日志流。

解释

  1. 系统默认日志流

    • LS_ID 为1的日志流通常是系统默认的日志流,用于系统的内部操作和管理。每个租户都会有一个这样的日志流。
    • LS_ID 为1001的日志流可能是系统在创建租户时自动分配的一个初始日志流,用于存储租户的初始数据和日志。
  2. 多副本和高可用性

    • 在高可用性配置中,为了确保数据的可靠性和冗余,可能会创建多个日志流。即使 primary_zone 的数量和 unit_num 的乘积计算出的日志流数量较少,系统也可能为了高可用性而额外创建一些日志流。
  3. 手动或自动调整

    • 您可以通过 ALTER TENANT 命令手动调整租户的 primary_zoneunit_num,这可能会导致日志流的数量发生变化。同时,系统也可能会根据负载和性能自动调整日志流的数量。

查询日志流状态

您可以查询 DBA_OB_LS 视图来获取更多关于日志流的详细信息,包括日志流的状态、主区域、单元组ID等。这有助于您更好地理解日志流的分布和状态。

SELECT * FROM oceanbase.DBA_OB_LS;

结论

综上所述,您创建的租户中有1和1001号日志流是正常的。1号日志流通常是系统默认的日志流,1001号日志流可能是系统在创建租户时自动分配的初始日志流。如果您对日志流的具体配置有疑问,建议进一步查看 DBA_OB_LS 视图的详细信息,或者联系 OceanBase 的技术支持团队获取更多帮助。

希望这些信息对您有所帮助!如果您还有其他问题,请随时提问。

具体信息可参考以下文档:

  1. Transfer Partition
  2. oceanbase.CDB_WR_SYSTEM_EVENT