首批通过分布式安全可靠测评,为关键业务系统打造
死锁检测
更新时间:2024-09-07 23:00:00
功能适用性
目前社区版 OCP 暂不支持死锁检测功能。
OceanBase 支持分布式死锁自动检测功能。在打开集群分布式死锁自动检测功能开关的情况下,OceanBase 能够自动发现死锁并解决死锁问题。用户需要针对 SQL 抛出的异常信息,决定提交还是回滚事务。
分布式死锁自动检测功能相比通过事务超时时间来处理死锁的优势如下:
OceanBase 能够及时发现并解决死锁,减少业务死锁对系统性能的影响。
用户可以知道过去 7 天发生过的死锁以及对应执行的 SQL,继而可以优化业务逻辑,避免死锁发生。
用户通过 OCP 获取死锁相关信息,详细信息请参见官网文档 查看死锁分析,开启死锁自动检测,关闭死锁自动检测。
您还可根据业务需求查询如下 DBA_OB_DEADLOCK_EVENT_HISTORY 或 .CDB_OB_DEADLOCK_EVENT_HISTORY 视图,来获得所有发生过的死锁事件以及参与这些事件的事务,同时可以查询在一个死锁事件中哪个事务最终被 kill 掉。示例如下:
obclient> select * from oceanbase.DBA_OB_DEADLOCK_EVENT_HISTORY;
obclient> select * from oceanbase.CDB_OB_DEADLOCK_EVENT_HISTORY;