本文介绍了如何在实时诊断中查看会话管理相关内容,包括会话的统计信息、会话状态等。
会话管理总览
在 实时诊断 > 会话管理 页签中,您可以查看数据库当前会话统计信息和租户会话详情,包括活跃会话和空闲会话。也可以选择对应的租户后,通过 租户会话、会话统计、死锁检测、行锁分析 四个子页签进行进一步查看。
租户会话
查看 租户会话 页签下的相关内容。
勾选 仅查看活跃会话,在会话列表中查看活跃会话信息。
勾选 按 SQL ID 聚合会话,将相同 SQL ID 的会话进行汇总展示。
说明按SQL ID聚合可以帮助您分析不同SQL ID的流量和消耗对比,确认系统资源消耗方。
通过 用户 和 数据库名 对会话进行筛选。
通过 会话 ID、SQL 、来源 和 目标端 对会话进行搜索。
通过 执行时间 对会话进行排序。
单击 SQL 文本跳转到 SQL 执行详情 页面进行查看。
对于满足如下条件之一的 SQL,SQL 执行详情 页面会显示算子执行计划及算子执行详情,如下图所示:
使用了 MONITOR Hint 的 SQL
使用了与并行执行相关 Hint 的 SQL
慢 SQL(执行时间超过 5s)
说明关于MONITOR Hint,请参见 MONITOR Hint;关于与并行执行相关的 Hint,请参见 与并行执行相关的 Hint。
对于其他 SQL,SQL 执行详情 页面仅显示算子执行计划。
关闭会话。
关闭一条对话:单击该会话后操作列下的 关闭会话。
关闭多条对话:勾选目标会话前的复选框,然后单击右侧的 批量关闭会话。
关闭所有对话:
单击 会话 ID 左侧的复选框,然后单击右侧的 批量关闭会话。
任意勾选一条会话,单击上方的 全选,然后单击右侧的 批量关闭会话。
在弹出的确认框中,单击 确定。
会话统计
在 会话统计 页签,您可以从用户、访问来源和数据库维度分别查看或导出当前集群的会话活跃数和会话总数。
单击右上方 10秒SQL分析,查看 10 秒内租户内 SQL 执行情况。支持按照 SQL类型、用户、来源、数据库 查看。
死锁检测
初次使用死锁检测时,单击 开启死锁检测。死锁检测功能开启后,OceanBase 数据库将会实时检测死锁事件,并处理死锁事件,这将消耗 2% 左右的性能。请根据您的集群情况选择是否开启。
说明仅支持在 OceanBase 4.x 版本的实例中使用死锁检测。
死锁检测开启后,系统开始诊断该集群的租户中是否存在死锁,并在 死锁详情 页面返回诊断结果。结果保留 7 天。
单击右上角 关闭死锁检测 或 刷新 ,关闭死锁检测或刷新死锁检测详情。
行锁分析
在 行锁分析 页签,选择目标租户,查看该租户的行锁信息。对于持有锁的会话,可以通过关闭会话的方式来释放锁,用户需要确认当前会话和会话上正在运行的业务 SQL 可以被关闭,如下图所示。
行锁分析是实时查询功能,仅展示查询时等锁时间超过20 ms的行锁和相关会话信息。该功能仅支持 OceanBase 4.2 及以上版本。
行锁信息可能存在延迟,若没有展示持锁者会话 ID,说明该事务可能已经完成。