OceanBase数据库 4.1没有视图记录吗?如果业务一个会话行锁阻塞了另一个会话,从哪里可以查到阻塞并kill掉阻塞的会话呢?
在 OceanBase 数据库的 4.1 版本中,可以通过以下方式查找和处理会话行锁阻塞的情况:
查看 sys.blocking_lock
表:OceanBase 数据库提供了 sys.blocking_lock
系统表,用于记录被阻塞的会话信息。您可以查询该表来获取有关阻塞会话的详细信息,包括阻塞会话的 session_id、被阻塞会话的 session_id、阻塞的资源类型和资源 ID 等。
使用 kill
命令终止会话:一旦您确定了阻塞会话的 session_id,可以使用 kill
命令终止该会话,以释放行锁并解除阻塞。例如,使用 kill session <session_id>
命令来终止特定的会话。
需要注意的是,在执行终止会话操作之前,请确保您已经充分了解阻塞会话的影响和后果,并且具备相应的权限。
另外,对于更复杂的阻塞场景和死锁情况,OceanBase 还提供了诊断工具和监控功能,如 obdiag
工具和审计日志等,可以帮助您进行更深入的分析和解决。
https://ask.oceanbase.com/t/topic/35603759
可以通过查询__all_virtual_lock_wait_stat来处理 另外只能使用sys租户查询,此回答整理自钉群“[社区]技术答疑群OceanBase”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。