---
title: "ob_server_exists_long_lived_trans OB 服务器存在长事务 - 云平台 OCP V4.3.0 | OceanBase 文档中心"
description: ob_server_exists_long_lived_trans OB 服务器存在长事务 告警描述 该告警监测 OBServer 节点上是否存在持续时长超过阈值（默认为 1200 秒）的事务，存在则上报告警。 告警原理 下表列出了该告警监控逻辑中涉及的关键参数。 参数 值 监控指标 ob_server_max_tr…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*lJTmRZ61jSUAAAAAAAAAAAAADiGDAQ/original) 云平台 OCPV 4.3.0

# ob_server_exists_long_lived_trans OB 服务器存在长事务

更新时间：2026-04-14 11:55:54

[编辑](https://github.com/oceanbase/ocp-doc/edit/V4.3.0/zh-CN/1900.reference-guide/100.alarm-reference/200.ob-alert/2300.ob_server_exists_long_lived_trans.md)  

## 告警描述

该告警监测 OBServer 节点上是否存在持续时长超过阈值（默认为 1200 秒）的事务，存在则上报告警。

## 告警原理

下表列出了该告警监控逻辑中涉及的关键参数。

| **参数** | **值** |
| --- | --- |
| 监控指标 | ob_server_max_trans_duration_seconds |
| 数据来源 | `SELECT MAX(timestampdiff(SECOND,ctx_create_time,CURRENT_TIMESTAMP)) as duration_seconds FROM __all_virtual_trans_stat WHERE part_trans_action <= 2 AND svr_ip = ? AND svr_port = ? AND is_exiting != 1 AND timestampdiff(SECOND,ctx_create_time,CURRENT_TIMESTAMP) >= 30 HAVING duration_seconds IS NOT NULL;` |
| 采集指标（单位：秒） | max_trans_duration_seconds |
| 监控表达式 | max(max_trans_duration_seconds{metric_group="max_duration_virtual_trans_stat",@LABELS}) by (@GBLABELS) |
| 采集周期 | 60 秒 |

**监控指标** ob_server_max_trans_duration_seconds 的值表示 SQL 执行时事务的最大持续时长，当最大持续时长大于阈值（默认为 1200s）时触发告警。

## 规则信息

| **监控指标** | **默认阈值（单位：秒）** | **持续时间** | **告警周期** | **消除周期** |
| --- | --- | --- | --- | --- |
| ob_server_max_trans_duration_seconds | 1200 | 0 秒 | 60 秒 | 5 分钟 |

## 告警信息

| **告警触发方式** | **告警等级** | **范围** |
| --- | --- | --- |
| 基于监控指标的表达式 | 严重 | 服务器 |

## 告警模板

- 告警概述
     - 模板：${alarm_target} ${alarm_name}
     - 样例：ob_cluster=obcluster-1:svr_ip=xxx.xxx.xxx.xxx OB 服务器存在长事务
 - 告警详情
     - 模板：${alarm_target} ${alarm_name}, 最大事务持续时间为 ${value} 秒，超过 ${alarm_threshold} 秒
     - 样例：ob_cluster=obcluster-1:svr_ip=xxx.xxx.xxx.xxx OB 服务器存在长事务, 最大事务持续时间为 1500 秒，超过 1200 秒。

其中，${alarm_target} 表示产生告警的对象。格式为 ob_cluster=xx:svr_ip=xx。ob_cluster 为产生告警的 OB 集群名称，svr_ip 为产生告警的 OB 服务器 IP。

## 对系统的影响

长事务的存在易造成大量的阻塞和锁超时，影响其他事务的执行。

## 可能原因

少数派、磁盘满、内存爆或业务中存在大事务等都有可能出现长事务。

## 处理方法

1. 确认是否出现少数派情况。 少数派出现一般因为 OBServer 节点异常或网络故障，会同时有 [ob_cannot_connected OB 服务器无法连接](https://www.oceanbase.com/docs/common-ocp-1000000000827209) 告警上报。 如有该告警上报，则先参考该告警文档处理。然后再观察 5 分钟后本节所述告警是否消除。
 2. 确认是否磁盘空间不足。 若磁盘空间不足，则会有下述告警同时上报，可先参考下述告警对应文档解决后，再观察 5 分钟后本节所述告警是否消除。

      - [ob_host_data_disk_percent_over_threshold OB 主机数据目录磁盘使用率超限](https://www.oceanbase.com/docs/common-ocp-1000000000827262)
      - [ob_host_log_disk_percent_over_threshold OB 主机日志目录磁盘使用率超限](https://www.oceanbase.com/docs/common-ocp-1000000000827268)
      - [ob_host_install_disk_percent_over_threshold OB 主机安装目录磁盘使用率超限](https://www.oceanbase.com/docs/common-ocp-1000000000827204)
 3. 确认是否内存不足。

   若内存不足，则可能会伴随 [ob_host_mem_percent_over_threshold OB 服务器内存使用率超限](https://www.oceanbase.com/docs/common-ocp-1000000000827317) 告警上报，处理方法请参考该告警的解决方法。
 4. 确认是否存在大事务。

   在 OCP 的 **性能诊断** 界面，通过 **TopSQL** 和 **SlowSQL** 页签中的内容查看是否有可疑 SQL，如执行时间过长的 SQL。

   如有，可通过 **诊断结果** 进行分析对 SQL 进行优化，同时结合业务判断是否能将大事务拆成小事务。
 5. 若以上方法都未能解决问题，请参考下述指令联系技术支持人员处理。

   ```sql
   -- 查看所有 Server 信息，用于确定是否存在异常 OBServer 节点
   select * from __all_server;

   -- 查看当前长事务
   SELECT *
   FROM __all_virtual_trans_stat
   WHERE part_trans_action <= 2 AND ctx_create_time < DATE_SUB(NOW(), INTERVAL 1200 SECOND)
   LIMIT 100;

   ```

 上一篇 下一篇 ![有帮助](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) 咨询热线
