---
title: "ob_tenant_slow_sql_exists OB 租户存在慢 SQL | OceanBase 文档中心"
description: ob_tenant_slow_sql_exists OB 租户存在慢 SQL 告警描述 慢 SQL 是指 SQL 执行时长超过 100 ms 的 SQL，该阈值可通过 OCP 系统参数 ocp.ob.slowsql.threshold 进行设置。当租户存在慢 SQL 时会产生相应告警，告警按 SQL-ID 展示。该告…
---
切换语言

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

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

# ob_tenant_slow_sql_exists OB 租户存在慢 SQL

更新时间：2023-08-22 10:46:20

[编辑](https://github.com/oceanbase/ocp-doc/edit/V4.0.3/zh-CN/500.alarm-reference/200.ob-alert/4500.ob_tenant_slow_sql_exists.md)  

## 告警描述

慢 SQL 是指 SQL 执行时长超过 100 ms 的 SQL，该阈值可通过 OCP 系统参数 `ocp.ob.slowsql.threshold` 进行设置。当租户存在慢 SQL 时会产生相应告警，告警按 SQL-ID 展示。该告警默认不开启，若您需要慢 SQL 告警则可启用该告警。

可通过设置系统参数 `ocp.alarm.datasource.slow-sql-exclude-obclusters` 来排除不需要慢 SQL 告警的集群，不同集群名以半角逗号分隔。

## 告警原理

| 参数 | 值 |
| --- | --- |
| 监控指标 | max_elapsed_time_ms |
| 指标来源 | 来源于 OCP-Agent 采集的 SQL_AUDIT 数据 (ob_hist_sql_audit_sample)： `select max(elapsed_time) as maxElapsedTimeUs from ob_hist_sql_audit_sample` |
| 采集指标 | max_elapsed_time_ms：执行 SQL 的最大耗时 |
| 监控表达式 | max(max_elapsed_time_ms) |
| 采集周期 | 60 秒 |

## 告警信息

| 告警触发方式 | 告警等级 | 范围 |
| --- | --- | --- |
| 基于监控指标的表达式 | 警告 | 租户 |

## 规则信息

| 监控指标 | 默认阈值（单位 ms） | 监控指标来源 | 检测周期 | 消除周期 |
| --- | --- | --- | --- | --- |
| max_elapsed_time_ms | 100 | SQL 采集 | 60 秒 | 5 分钟 |

## 告警模板

- 告警概述

     - 模板：${alarm_target} ${alarm_name}
     - 样例：ob_cluster=obcluster-1:tenant_name=sys:sql_id=2A6D6C59E6D86C57519267B5EC2CBEC3 OB 租户存在慢 SQL
 - 告警详情

     - 模板：集群：${ob_cluster_name}，租户：${tenant_name} 存在慢 SQL。数据库：${database}，执行账号：${user_name}，SQL ID：${sql_id}，SQL 文本：${query_sql}，首次发现时间：${start_time}，最后发现时间：${end_time}，慢 SQL 执行次数：${execution_count}，平均影响行数：${avg_affected_rows}，最大影响行数：${max_affected_rows}，平均返回行数：${return_rows}，最大返回行数：${max_return_rows}， 等待事件次数：${total_waits}，平均等待时间：${avg_total_wait_time_ms} 毫秒，最大等待时间：${max_total_wait_time_ms} 毫秒，远程执行次数：${remote_plan_count}， 分布式执行次数：${dist_plan_count}，平均执行耗时：${avg_elapsed_time_ms} 毫秒，最大执行耗时：${max_elapsed_time_ms} 毫秒
     - 样例：集群：obcluster-1，租户：sys 存在慢 SQL。数据库：OceanBase，执行账号：ocp_monitor，SQL ID：2A6D6C59E6D86C57519267B5EC2CBEC3，SQL 文本：`select /\*+ query_timeout(10000000) \*/ sid as session_id, event_id, con_id as tenant_id, total_waits, time_waited_micro as time_waited_us from v$session_event where total_waits \> ? and (sid\> ? or (sid = ? and event_id \> ?)) order by sid, event_id limit 40000`，首次发现时间：2022-04-06T14:18:44.579，最后发现时间：2022-04-06T14:18:44.579，慢 SQL 执行次数：1，平均影响行数：0，最大影响行数：0，平均返回行数：681，最大返回行数：681， 等待事件次数：1，平均等待时间：0.09 毫秒，最大等待时间：0.09 毫秒，远程执行次数：0， 分布式执行次数：0，平均执行耗时：4056.5 毫秒，最大执行耗时：4056.5 毫秒

## 对系统的影响

SQL 的执行过程会占用系统资源，当慢 SQL 个数过多时，会增加系统资源的占用率，导致系统的吞吐率受到影响；同时，SQL 执行过慢不符合业务预期，业务系统会受到影响。

## 可能原因

- 存在需要优化的 SQL，如大表关联查询、无索引等问题。
 - OBServer 节点资源不足，无法处理过多的请求，导致 SQL 执行速度变慢。

## 处理办法

1. 使用 OCP 租户管理页面的 SQL 诊断功能，诊断慢 SQL 发生的原因；如果是业务 SQL 问题导致，可绑定索引或绑定执行计划等。
 2. 查看 OBServer 节点的资源使用率是否超限，如 CPU 使用率、IOPS 或 IO 耗时、网络吞吐率等。

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