---
title: "使用 sql_diagnoser - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: 使用 sql_diagnoser 本文为您介绍 sql_diagnoser 的使用方法。包括租户 SQL 诊断、SQL Review、关闭 sql_diagnoser 等操作。 租户 SQL 诊断 您可在 sql_diagnoser 首页通过 租户SQL诊断 功能直接分析业务集群的运行过的 SQL，找出常见的可疑 S…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.5 LTS

# 使用 sql_diagnoser

更新时间：2026-04-07 20:57:20

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/700.reference/1500.Components-and-Tools/200.monitor-and-diagnos/200.sql_diagnoser/200.deploy-and-use-delsql_diagnoser/200.sql_diagnoser-development-guide.md)  

本文为您介绍 sql_diagnoser 的使用方法。包括租户 SQL 诊断、SQL Review、关闭 sql_diagnoser 等操作。

## 租户 SQL 诊断

您可在 sql_diagnoser 首页通过 **租户SQL诊断** 功能直接分析业务集群的运行过的 SQL，找出常见的可疑 SQL，从而帮助用户找到隐藏性能问题，给出优化建议。该功能具体填充字段说明如下。

| 输入框 | 描述 | 是否必填 |
| --- | --- | --- |
| Ip Address | IP 地址。 | 是 |
| Port | 端口。 | 是 |
| 用户名 | 租户的用户名 | 是 |
| 租户密码 | 租户登录密码。 | 是 |
| 集群名 | 如果是通过 OBProxy 连接的集群，则必须填写，否则将无法连接集群。 | 否 |
| 开始时间 | 表示获取从该时间点开始的 SQL 执行记录诊断。 | 是 |
| 采样数 | 表示从 sql_audit 视图中查询的记录条数，默认值10000 | 否 |
| 结束时间 | 表示获取截至到该时间点的 SQL 执行记录诊断。若诊断速度较慢，建议缩小查询范围后重试。 | 是 |
| 响应时间 | 响应时间阈值，表示响应时间超过该值的 SQL 执行记录才会被诊断，单位为 us，默认值为 20000 us。当诊断接口过慢时，可以调高该阈值。 | 否 |

#### 注意

1. 诊断规则和诊断结果中关于时间的属性都未做单位处理，实际与 `gv$ob_sql_audit` (OceanBase 数据库 V4.0 及以前版本`gv$sql_audit`)中的原始单位一致。比如 `elapsed_time` 单位为 us，CPU 时间由`execution_time + get_plan_time - total_wait_time_micro` 计算而来，单位同样为 us。
 2. sql_diagnoser 第一次启动时，会在当前用户主目录下创建文件夹 `h2`及其相关数据文件，若删除这些文件，诊断规则会重置。若想持久化对诊断规则的修改，请不要移动、修改或删除这些文件。
 3. 诊断默认过滤掉 OceanBase 数据库（OceanBase 数据库部署后默认创建名为 oceanbase 的数据库），请不要在该数据库下测试本工具功能。
 4. 为降低诊断对系统租户的压力及降低工具本身的负载，每次诊断最多从 `gv$ob_sql_audit` (OceanBase 数据库 V4.0 及以前版本`gv$sql_audit`)中提取 10000 条数据（按响应时间倒序），因此不能进行全量诊断。若想调整诊断数据量，建议以接口调用的方式指定最大返回行数 `queryLimit`；或者在启动本工具时，设置环境变量 `sql.diagnose.sql.query-sql-audit-limit`，如 `nohup java -Dsql.diagnose.sql.query-sql-audit-limit=12345 -Dserver.port=9090 -jar sql-diagnoser-4.2.0.0.jar &`。

## SQL Review

SQL Review 功能可以通过简洁的白屏操作，用户在白屏输入想要 Review 的 SQL 文本，工具根据常见的规则项帮助用户分析 SQL 语句是否合理，并给出改进建议。字段填写说明如下：

| 输入框 | 描述 | 是否必填 |
| --- | --- | --- |
| 连接地址 | IP 地址。 | 是 |
| Port | 端口。 | 是 |
| 用户名 | 租户的用户名 | 是 |
| 租户密码 | 租户登录密码。 | 是 |
| SQL文本框 | 输入你想要检查的SQL | 是 |

SQL 文本框里边输入的 SQL 进行检测是通过静态规则以及连接 OceanBase 数据库去查询一些内部视图来完成的，所以需要输入 OceanBase 数据库的连接信息（包括实际的要检测的数据库），检查过程中并不会去实际执行该文本框的 SQL，所以可放心使用 SQL Review 功能。

## 关闭 sql_diagnoser

您可通过关闭 sql_diagnoser 的进程来停止 sql_diagnoser 的运行。

1. 执行 `ps -ef | grep sql-diagnoser` 查看 sql_diagnoser 进程号。
 2. 执行 `kill -9 进程号` 关闭进程。

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