---
title: 如何结束子 Session-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 如何结束子 Session相关的常见问题和使用技巧，帮助您快速解决 如何结束子 Session的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 如何结束子 Session

更新时间：2025-08-25 01:56

适用版本： V4.2.x 内容类型：How-to  

## 问题现象

在 OceanBase 数据库中，当通过 KILL 命令终止 Master Session（父 Session）时，其关联的子 Session（Child Session）未结束，导致 IO 消耗高。

![image01](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20250819end-session-like-this01.png)

![image02](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20250819end-session-like-this02.png)

![image03](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20250819end-session-like-this03.png)

![image04](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20250819end-session-like-this04.png)

![image05](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20250819end-session-like-this05.png)

## 问题原因

由于远程执行的 Session 未被 KILL 掉（该行为是符合预期的）。

## 适用版本

OceanBase 数据库 V4.2.x 版本。

## 解决方法

1. 通过递归函数查询子 Session，含父 Session。

   ```shell
   WITH RECURSIVE recursion AS (
    -- 初始查询：定位 Master Session（替换 ID 为实际值）
    SELECT
        SVR_IP, SVR_PORT, SQL_PORT, ID, USER, HOST, DB, TENANT, COMMAND, TIME, TOTAL_TIME, STATE, INFO,
        PROXY_SESSID, MASTER_SESSID, USER_CLIENT_IP, USER_HOST, RETRY_CNT, RETRY_INFO, SQL_ID, TRANS_ID,
        THREAD_ID, SSL_CIPHER, TRACE_ID, TRANS_STATE, ACTION, MODULE, CLIENT_INFO, LEVEL, SAMPLE_PERCENTAGE,
        RECORD_POLICY, LB_VID, LB_VIP, LB_VPORT, IN_BYTES, OUT_BYTES, USER_CLIENT_PORT, PROXY_USER,
        SERVICE_NAME, CAST(total_cpu_time AS SIGNED) AS TOTAL_CPU_TIME, TOP_INFO, MEMORY_USAGE
    FROM oceanbase.GV$OB_PROCESSLIST
    WHERE ID = '3221889721'  -- 替换为实际 Master Session ID

    UNION ALL

    -- 递归查询：查找所有子 Session
    SELECT
        op2.SVR_IP, op2.SVR_PORT, op2.SQL_PORT, op2.ID, op2.USER, op2.HOST, op2.DB, op2.TENANT, op2.COMMAND,
        op2.TIME, op2.TOTAL_TIME, op2.STATE, op2.INFO, op2.PROXY_SESSID, op2.MASTER_SESSID,
        op2.USER_CLIENT_IP, op2.USER_HOST, op2.RETRY_CNT, op2.RETRY_INFO, op2.SQL_ID, op2.TRANS_ID,
        op2.THREAD_ID, op2.SSL_CIPHER, op2.TRACE_ID, op2.TRANS_STATE, op2.ACTION, op2.MODULE,
        op2.CLIENT_INFO, op2.LEVEL, op2.SAMPLE_PERCENTAGE, op2.RECORD_POLICY, op2.LB_VID, op2.LB_VIP,
        op2.LB_VPORT, op2.IN_BYTES, op2.OUT_BYTES, op2.USER_CLIENT_PORT, op2.PROXY_USER,
        op2.SERVICE_NAME, CAST(op2.total_cpu_time AS SIGNED) AS TOTAL_CPU_TIME, op2.TOP_INFO, op2.MEMORY_USAGE
    FROM oceanbase.GV$OB_PROCESSLIST op2
    INNER JOIN recursion
        ON op2.MASTER_SESSID = recursion.ID
   )
   SELECT * FROM recursion;

   ```
 2. 手动终止子 Session。

   根据查询结果中的子 Session ID，执行 KILL 命令，示例如下。

   ```shell
   kill 3221498138 -- 替换为实际子 Session ID

   ```

Previous

[如何定位内部 SQL 导致的 ret=-5001 报错](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003149481)

Next

[OBKV-Table 常见问题诊断](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000001100159) ![有帮助](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) 咨询热线
