【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
SELECT * FROM oceanbase.V$OB_PROCESSLIST where STATE=‘ACTIVE’ and tenant=‘sys’;
这种方法有问题吗,还有其他方法吗
论坛小助手
#3
根据您提供的查询语句,您希望查询 sys
租户的活跃连接。您使用的查询语句:
SELECT * FROM oceanbase.V$OB_PROCESSLIST WHERE STATE='ACTIVE' AND tenant='sys';
这个查询语句基本上是正确的,但有一些细节需要注意:
-
视图名称:V$OB_PROCESSLIST
是一个动态性能视图,用于显示客户端连接到的节点的运行状态和性能指标信息。如果您需要查看整个集群的活跃连接,建议使用 GV$OB_PROCESSLIST
视图。
-
条件过滤:STATE='ACTIVE'
用于过滤活跃状态的连接,tenant='sys'
用于过滤 sys
租户的连接。这两个条件是合理的。
其他方法
除了您提供的查询语句,还可以使用以下方法来查询 sys
租户的活跃连接:
方法一:使用 GV$OB_PROCESSLIST
视图
SELECT * FROM oceanbase.GV$OB_PROCESSLIST WHERE STATE='ACTIVE' AND tenant_id = 1;
这里使用 GV$OB_PROCESSLIST
视图,并且通过 tenant_id
进行过滤。sys
租户的 tenant_id
通常是 1
。
方法二:使用 GV$OB_KV_CONNECTIONS
视图
SELECT * FROM oceanbase.GV$OB_KV_CONNECTIONS WHERE TENANT_ID = 1;
GV$OB_KV_CONNECTIONS
视图用于查看本租户的所有 KV 活跃连接。通过 TENANT_ID
过滤 sys
租户的连接。
总结
-
您的查询语句:基本正确,但建议使用
GV$OB_PROCESSLIST
视图以获取整个集群的活跃连接信息。
-
其他方法:可以使用
GV$OB_PROCESSLIST
或 GV$OB_KV_CONNECTIONS
视图来查询 sys
租户的活跃连接。
希望这些信息对您有所帮助!如果有其他问题,请随时提问。
具体信息可参考以下文档:
- OBKV-HBase 相关视图
- 查看内存的使用信息
- 使用 systemd 部署 OceanBase 数据库
- GV$OB_LOG_STAT
- V$OB_LOG_STAT
- oceanbase.DBA_OB_LS
- 检查 OBServer 状态
- OceanBase 自有视图
- oceanbase.DBA_OB_TENANTS
- 查找某个租户中执行全表扫描的 SQL