---
title: OceanBase 数据库 V4.x 版本中因 __all_virtual_sql_audit 查询超时导致死锁信息无法成功记录到视图 __all_virtual_deadlock_event_history-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于OceanBase 数据库 V4.x 版本中因 __all_virtual_sql_audit 查询超时导致死锁信息无法成功记录到视图 __all_virtual_deadlock_event_history相关的常见问题和使用技巧，帮助您快速解决OceanBase 数据库 V4.x 版本中因 __all_virtual_sql_audit 查询超时导致死锁信息无法成功记录到视图 __all_virtual_deadlock_event_history的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# OceanBase 数据库 V4.x 版本中因 __all_virtual_sql_audit 查询超时导致死锁信息无法成功记录到视图 __all_virtual_deadlock_event_history

更新时间：2026-05-25 01:56

适用版本： V4.0.x、V4.1.x、V4.2.x、V4.3.x 内容类型：Troubleshoot  

## 问题现象

在 OceanBase 数据库 V4.x 版本的集群下，手动模拟死锁现象后，查询 `CDB_OB_DEADLOCK_EVENT_HISTORY`、`DBA_OB_DEADLOCK_EVENT_HISTORY`、`__all_virtual_deadlock_event_history` 等视图发现死锁未记录。

关键日志信息如下。

```shell
observer.log.20250522093419634:[2025-05-22 09:31:30.850761] WDIAG [DETECT] get_holding_sql (ob_deadlock_detector_mgr.cpp:724) [2291672][T1008_L0_G0][T1008][YB421EB5210D-0006358C007B9E0C-0-0] [lt=10][errcode=-4012] failed to get sql history in transaction(tmp_ret=-4012, tmp_ret="OB_TIMEOUT", sql_hisory=[], ret=-4012, ret="OB_TIMEOUT", sess_id=3221522956, trans_id=234417352, hold_seq=3, holding_sql_request_time=, holding_sql=)
observer.log.20250522093419634:[2025-05-22 09:31:30.850785] WDIAG [DETECT] get_trans_history_sql_from_audit_ (ob_deadlock_detector_mgr.cpp:632) [2291672][T1008_L0_G0][T1008][YB421EB5210D-0006358C007B9E0C-0-0] [lt=22][errcode=-4012] fail to get holding sql(ret=-4012, ret="OB_TIMEOUT", collected_info={binary_key:{type:0, trans_id:{txid:234417352}}, tenant_id:1008, addr:"30.181.33.13:2882", detector_id:124167, report_time:1747877485940101, created_time:1747877485806902, event_id:8771658490551833432, role:"victim", start_delay:0, priority:{priority_range:0, priority_value:18444996196237813895}, user_report_info:{module_name:"transaction", resource_visitor:"{session_id:3221522956}(associated:3221522956):{txid:234417352}", blocked_seq:230298032, required_resource:"{addr:"30.181.33.13:2882"}:{ls:1001}:{tablet:215998}:{row_key:{"NUMBER":"1"}}", extra_columns_names:["wait_sql"], extra_columns_values:["Y0-0000000000000000-0-0:UPDATE t1_deadlock_test SET status = 4 where id = 1"], valid_extra_column_size:1}}, collect_info_msg={dest_key:{type:0, trans_id:{txid:234417352}}, collected_info:[{binary_key:{type:0, trans_id:{txid:234417352}}, tenant_id:1008, addr:"30.181.33.13:2882", detector_id:124167, report_time:1747877485940101, created_time:1747877485806902, event_id:8771658490551833432, role:"victim", start_delay:0, priority:{priority_range:0, priority_value:18444996196237813895}, user_report_info:{module_name:"transaction", resource_visitor:"{session_id:3221522956}(associated:3221522956):{txid:234417352}", blocked_seq:230298032, required_resource:"{addr:"30.181.33.13:2882"}:{ls:1001}:{tablet:215998}:{row_key:{"NUMBER":"1"}}", extra_columns_names:["wait_sql"], extra_columns_values:["Y0-0000000000000000-0-0:UPDATE t1_deadlock_test SET status = 4 where id = 1"], valid_extra_column_size:1}}, {binary_key:{type:0, trans_id:{txid:234416446}}, tenant_id:1008, addr:"30.181.33.13:2882", detector_id:124164, report_time:1747877485940683, created_time:1747877479470494, event_id:8771658490551833432, role:"witness", start_delay:0, priority:{priority_range:0, priority_value:18444996196254803618}, user_report_info:{module_name:"transaction", resource_visitor:"{session_id:3221665687}(associated:3221665687):{txid:234416446}", blocked_seq:3, required_resource:"{addr:"30.181.33.13:2882"}:{ls:1001}:{tablet:215998}:{row_key:{"NUMBER":"2"}}", extra_columns_names:["wait_sql"], extra_columns_values:["Y0-0000000000000000-0-0:UPDATE t1_deadlock_test SET status = 2 where id = 2"], valid_extra_column_size:1}}]}, holding_seq=3, idx=0, last_idx=1)

```

## 问题原因

OceanBase 数据库在将死锁记录写入相关视图过程中，需要查询 `__all_virtual_sql_audit` 视图获取到相关 SQL 语句信息，如果 `__all_virtual_sql_audit` 内容过多，导致 OceanBase 数据库内部的查询 SQL 超时，则会导致此类异常。

## 问题的风险及影响

死锁记录无法成功存储。

## 适用版本

OceanBase 数据库 V4.x 版本。

## 解决方法

1. 执行如下命令，清空 audit 内容。

   ```shell
   ALTER SYSTEM FLUSH SQL AUDIT global;

   ```
 2. 调整 `ob_sql_audit_percentage` 参数值，避免 audit 内容过多影响查询性能。

## 规避方式

避免将 `ob_sql_audit_percentage` 设置的过大造成 audit 内容过多影响查询性能。

Previous

[升级 JDBC 后 sql_audit 中 param_value 列全部为空](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000439938)

Next

[gv$ob_sql_audit 视图查询结果与预期不符问题的原因和解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003401600) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
