【 使用环境 】生产环境 or 测试环境 生产
【 OB or 其他组件 】 ob
【 使用版本 】 4.0
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
问题: 当前集群下有5个租户,是否有 一条 sql可以 一次统计当前所有租户的数据大小(只包括leader)
论坛小助手
#3
根据文档库中的信息,您可以使用以下 SQL 查询来统计当前所有租户的数据大小(只包括 leader)。此查询基于 CDB_OB_TABLE_LOCATIONS
视图,该视图提供了表分布的相关信息。
统计所有租户的数据大小(仅限 Leader)
SELECT
tenant_id,
SUM(data_size) AS total_leader_data_size
FROM
oceanbase.CDB_OB_TABLET_REPLICAS
WHERE
role = 'LEADER'
GROUP BY
tenant_id;
解释:
-
tenant_id: 租户的唯一标识符。
-
SUM(data_size): 计算每个租户中所有分区的 leader 副本的数据大小总和。
-
role = ‘LEADER’: 仅统计 leader 副本的数据大小。
-
GROUP BY tenant_id: 按租户分组,以获取每个租户的总数据大小。
注意事项:
-
视图选择:这里使用了
CDB_OB_TABLET_REPLICAS
视图,它包含了分区副本的信息,包括其角色(leader 或 follower)和数据大小。
-
环境适用性:上述 SQL 适用于 OceanBase 数据库 4.0 版本的生产环境。
如果您需要进一步细化查询结果,例如按具体的服务器 IP 分布查看,可以参考文档片段中的其他查询示例,并结合您的具体需求进行调整。
希望这能解决您的问题。如果有更多疑问或需要进一步的帮助,请随时告知。
更多信息请查看:
- GV$SYSSTAT
- 使用命令行进行运维
- 统计信息收集监控诊断
- 查看内存的使用信息
- GV$OB_GROUP_IO_STAT
- V$OB_GROUP_IO_STAT
- 查看 OceanBase 集群资源的使用情况