首批通过分布式安全可靠测评,为关键业务系统打造
查看租户会话
更新时间:2026-03-28 17:42:36
您可以通过视图或 SQL 语句查看租户会话。
注意事项
本文档以 OceanBase 数据库版本为 V4.3.0、ODP 版本为 V4.2.3 版本,同时 ODP 的配置项 client_session_id_version =2 为例提供操作指导,不同版本和设置其返回结果不完全一样。有关 ODP 配置项值的查看及设置方法,请参见 配置项说明。
通过视图查看租户会话
用户登录集群的 MySQL 租户或 Oracle 租户。
执行以下语句,查看租户会话信息。
租户管理员可以查看当前租户内的所有会话信息,普通用户只能查看当前自己的会话信息。如果您拥有
PROCESS权限,则可以查看所有会话。MySQL 模式
obclient [oceanbase]> SELECT * FROM oceanbase.GV$OB_PROCESSLIST\G查询结果如下:
*************************** 1. row *************************** SVR_IP: 172.xx.xxx.xxx SVR_PORT: 2882 SQL_PORT: 2881 ID: 3221487622 USER: root HOST: 100.xx.xxx.xxx:49451 DB: test TENANT: mysql001 COMMAND: Sleep TIME: 631.462197 TOTAL_TIME: 631.462197 STATE: SLEEP INFO: NULL PROXY_SESSID: NULL MASTER_SESSID: NULL USER_CLIENT_IP: 100.xx.xxx.xxx USER_HOST: % RETRY_CNT: 0 RETRY_INFO: 0 SQL_ID: TRANS_ID: 3413 THREAD_ID: 0 SSL_CIPHER: NULL TRACE_ID: NULL TRANS_STATE: ACTIVE ACTION: MODULE: CLIENT_INFO: LEVEL: 1 SAMPLE_PERCENTAGE: 10 RECORD_POLICY: SAMPLE_AND_SLOW_QUERY LB_VID: NULL LB_VIP: NULL LB_VPORT: NULL IN_BYTES: 448 OUT_BYTES: 0 USER_CLIENT_PORT: 49451 TOTAL_CPU_TIME: 0 PROXY_USER: SERVICE_NAME: NULL TOTAL_CPU_TIME: 0 TOP_INFO: NULL MEMORY_USAGE: NULL *************************** 2. row *************************** SVR_IP: 172.xx.xxx.xxx SVR_PORT: 2882 SQL_PORT: 2881 ID: 3221487623 USER: root HOST: 100.xx.xxx.xxx:14422 DB: NULL TENANT: mysql001 COMMAND: Query TIME: 0.005717 TOTAL_TIME: 0.005774 STATE: ACTIVE INFO: SELECT * FROM oceanbase.GV$OB_PROCESSLIST PROXY_SESSID: NULL MASTER_SESSID: NULL USER_CLIENT_IP: 100.xx.xxx.xxx USER_HOST: % RETRY_CNT: 0 RETRY_INFO: 0 SQL_ID: 2E175335D36600B7A8EC72C5094888DD TRANS_ID: 0 THREAD_ID: 33799 SSL_CIPHER: NULL TRACE_ID: YB42A************** TRANS_STATE: ACTION: MODULE: CLIENT_INFO: LEVEL: 1 SAMPLE_PERCENTAGE: 10 RECORD_POLICY: SAMPLE_AND_SLOW_QUERY LB_VID: NULL LB_VIP: NULL LB_VPORT: NULL IN_BYTES: 449 OUT_BYTES: 0 USER_CLIENT_PORT: 14422 TOTAL_CPU_TIME: 0 PROXY_USER: SERVICE_NAME: NULL TOTAL_CPU_TIME: 0 TOP_INFO: NULL MEMORY_USAGE: NULL 2 rows in setOracle 模式
obclient [SYS]> SELECT * FROM SYS.GV$OB_PROCESSLIST\G查询结果如下:
*************************** 1. row *************************** SVR_IP: 172.xx.xxx.xxx SVR_PORT: 2882 SQL_PORT: 2881 ID: 3221487626 USER: SYS HOST: 100.xx.xxx.xxx:25945 DB: SYS TENANT: oracle001 COMMAND: Sleep TIME: 14 TOTAL_TIME: 14 STATE: SLEEP INFO: NULL PROXY_SESSID: NULL MASTER_SESSID: NULL USER_CLIENT_IP: 100.xx.xxx.xxx USER_HOST: % RETRY_CNT: 0 RETRY_INFO: 0 SQL_ID: NULL TRANS_ID: 6343 THREAD_ID: 0 SSL_CIPHER: NULL TRACE_ID: NULL TRANS_STATE: ACTIVE ACTION: NULL MODULE: NULL CLIENT_INFO: NULL LEVEL: 1 SAMPLE_PERCENTAGE: 10 RECORD_POLICY: SAMPLE_AND_SLOW_QUERY LB_VID: NULL LB_VIP: NULL LB_VPORT: NULL IN_BYTES: 447 OUT_BYTES: 0 USER_CLIENT_PORT: 25945 TOTAL_CPU_TIME: 0 PROXY_USER: NULL SERVICE_NAME: NULL TOTAL_CPU_TIME: 0 TOP_INFO: NULL MEMORY_USAGE: NULL *************************** 2. row *************************** SVR_IP: 172.xx.xxx.xxx SVR_PORT: 2882 SQL_PORT: 2881 ID: 3221487625 USER: SYS HOST: 100.xx.xxx.xxx:24782 DB: SYS TENANT: oracle001 COMMAND: Query TIME: 0 TOTAL_TIME: 0 STATE: ACTIVE INFO: SELECT * FROM SYS.GV$OB_PROCESSLIST PROXY_SESSID: NULL MASTER_SESSID: NULL USER_CLIENT_IP: 100.xx.xxx.xxx USER_HOST: % RETRY_CNT: 0 RETRY_INFO: 0 SQL_ID: 0A6CF0E2AB2C1A1917AB1FFDF2BE9CFF TRANS_ID: 0 THREAD_ID: 34190 SSL_CIPHER: NULL TRACE_ID: YB42A*************** TRANS_STATE: NULL ACTION: NULL MODULE: NULL CLIENT_INFO: NULL LEVEL: 1 SAMPLE_PERCENTAGE: 10 RECORD_POLICY: SAMPLE_AND_SLOW_QUERY LB_VID: NULL LB_VIP: NULL LB_VPORT: NULL IN_BYTES: 449 OUT_BYTES: 0 USER_CLIENT_PORT: 24782 TOTAL_CPU_TIME: 0 PROXY_USER: NULL SERVICE_NAME: NULL TOTAL_CPU_TIME: 0 TOP_INFO: NULL MEMORY_USAGE: NULL 2 rows in set
查询结果中的相关字段说明如下:
SVR_IP:表示该会话所属的服务器的 IP 地址,即 OBServer 节点的 IP 地址。SVR_PORT:表示该会话所属的服务器的 RPC 端口号,即 OBServer 节点的 RPC 端口号。SQL_PORT:表示该会话所属的服务器的 SQL 端口号,即 OBServer 节点的 SQL 端口号。ID:表示该会话 ID。USER:表示该会话所属的用户。HOST:表示发起该会话的客户端 IP 及端口号。说明
本文档以 OceanBase 数据库版本为 V4.3.0、ODP 版本为 V4.2.3,同时 ODP 的配置项
client_session_id_version =2为例。对于 OceanBase 数据库 V4.3.0 之前的版本或 ODP V4.2.3 之前版本,或者 ODP 为 V4.2.3 版本但配置项未设置为client_session_id_version =2的场景,通过直连方式连接数据库时,该字段表示发起该会话的客户端 IP 及端口号。如果是通过 ODP 连接数据库,该字段则表示 ODP 的主机 IP 及端口号。DB:表示该会话当前连接的数据库名。Oracle 模式显示为与用户名同名的 Schema 名。TENANT:表示该会话所访问的租户名称。COMMAND:表示该会话正在执行的命令类型。TIME:表示当前命令执行的时间,单位为秒。如果命令发生了重试,则系统会清零后重新计算。TOTAL_TIME:如果会话中有正在执行的命令,则表示从命令开始执行到当前时间的间隔;如果没有正在执行的命令,则表示该会话在当前状态的持续时间,单位为秒。STATE:表示该会话当前的状态。INFO:表示该会话正在执行的语句。PROXY_SESSID:如果是通过 ODP 连接数据库,则本列显示的是 ODP 节点上的 Session ID。否则显示为NULL。MASTER_SESSID:如果是通过 ODP 连接数据库,则本列显示的是 ODP 节点上的主 Session ID,用于串联同一个 SQL 的多个子 Session。否则显示为NULL。USER_CLIENT_IP:发起该会话的客户端 IP。USER_HOST:发起该会话的客户端主机名。RETRY_CNT:当前命令的重试次数。RETRY_INFO:当前命令的重试信息,一般为最后一次重试的错误码。SQL_ID:当前命令对应的 SQL ID 信息。TRANS_ID:事务 ID。THREAD_ID:线程 ID。如果是通过 ODP 连接数据库,则该线程 ID 也表示 ODP 节点上的 Session ID。SSL_CIPHER:加密密码名称。TRACE_ID:Trace ID。TRANS_STATE:事务状态。IDLE:空闲状态,表示事务未开始。ACTIVE:事务显式开启。通过START TRANSACTION、BEGIN等语句显式开启。IMPLICIT_ACTIVE:事务隐式开启,autocommit = on模式下,执行 DML 等修改数据的语句后事务被开启。ROLLBACK_SAVEPOINT:事务正在回滚至保存点。IN_TERMINATE:事务正在结束,包括内部原因导致的结束和用户发起的结束事务(例如,执行COMMIT、ROLLBACK语句)。ABORTED:事务因发生异常而内部终止或回滚。ROLLED_BACK:事务已经被回滚。COMMIT_TIMEOUT:事务提交超时。COMMIT_UNKNOWN:事务提交结果未知。COMMITTED:事务已经成功提交。
ACTION:通过调用DBMS_APPLICATION_INFO.SET_ACTIONProcedure 设置的当前执行操作的名称。MODULE:通过调用DBMS_APPLICATION_INFO.SET_MODULEProcedure 设置的当前执行操作的名称。CLIENT_INFO:通过DBMS_APPLICATION_INFO.SET_CLIENT_INFO过程设置的信息。LEVEL:表示该会话的全链路追踪的监控级别。例如,1表示 Level 为1的诊断信息。SAMPLE_PERCENTAGE:表示该会话的全链路追踪的采样频率。例如,10表示以 10% 的概率进行诊断信息的采样。RECORD_POLICY:表示该会话的全链路追踪的记录策略,主要支持以下三种策略:ALL:表示所有命中采样打开 Trace 的 Trace 打点信息均会打印到日志文件中,并且是在每个 Span 结束时, 即打印到日志文件中。ONLY_SLOW_QUERY:表示所有命中采样打开 Trace 的 Trace 打点信息中,属于慢查询的请求 Trace 会打印到日志文件中,其余的均会丢弃。对于该打印策略, Trace 日志的打印时机是在请求结束被判定为慢查询后才打印。在 Proxy 中, 对于根 Span 即事务级别的 Span, 是在发现有慢查询时, 就会打印根 Span。
SAMPLE_AND_SLOW_QUERY:表示所有命中采样打开 Trace 的 Trace 打点信息中,满足以下条件之一的 Trace 均会打印到日志文件:- 当使用隐藏配置项
_print_sample_ppm进行万分之一的概率采样,且只有当采样结果被选中时,才会将其打印到日志中 - 满足
ONLY_SLOW_QUERY策略下的打印条件
此外,该模式下, 日志打印的时机也不是在 Span 结束时,如果满足条件 1,则在客户端就被标记为该 trace 日志会被强制打印,并且该信息会传递到后面的链路组件;如果满足条件 2,则打印时机与
ONLY_SLOW_QUERY策略相同。有关全链路追踪的详细介绍,请参见 全链路追踪。
- 当使用隐藏配置项
LB_VID:如果是公有云环境上通过负载均衡直接连接数据库,则本列显示的是负载均衡服务的 VPC ID。其他场景下始终显示为NULL。LB_VIP:如果是公有云环境上通过负载均衡直接连接数据库,则本列显示的是客户端连接负载均衡服务的 IP。其他场景下始终显示为NULL。LB_VPORT:如果是公有云环境上通过负载均衡直接连接数据库,则本列显示的是客户端连接负载均衡服务的端口。其他场景下始终显示为NULL。IN_BYTES:该会话的流入流量。OUT_BYTES:该会话的流出流量。USER_CLIENT_PORT:发起该会话的客户端端口号。PROXY_USER:代理用户登录场景,显示代理用户的名称;非代理用户登录场景,显示为空。SERVICE_NAME:该 Session 由哪个服务名创建,值为NULL表示该 Session 不是由服务名创建。TOTAL_CPU_TIME:当前命令执行的 CPU 耗时,单位为秒。如果命令发生了重试,则系统不会清零。TOP_INFO:展示执行中 SQL 所在的顶层 PL 语句信息。MEMORY_USAGE:单条 SQL 语句当前占用的内存大小,单位为字节。
通过 SHOW PROCESSLIST 语句或 SHOW FULL PROCESSLIST 语句查看租户会话
您也可以通过 SHOW PROCESSLIST 语句或 SHOW FULL PROCESSLIST 语句查看租户会话。
查看租户会话时,租户管理员可以查看当前租户内的所有会话信息,普通用户只能查看当前自己的会话信息。如果您拥有 PROCESS 权限,则可以查看所有租户内的所有会话。查看用户权限的相关操作请参见 查看用户权限(Oracle 模式) 和 查看用户权限(MySQL 模式)。如果您没有所需的权限,请联系管理员为您添加,为用户添加权限的相关操作请参见 直接授予权限(Oracle 模式) 和 直接授予权限(MySQL 模式)。
用户登录集群的 MySQL 租户或 Oracle 租户。
执行以下命令,查看租户会话。
使用
SHOW PROCESSLIST语句查看租户会话注意
本文档以 OceanBase 数据库版本为 V4.3.0、ODP 版本为 V4.2.3,同时 ODP 的配置项
client_session_id_version =2为例。对于 OceanBase 数据库 V4.3.0 之前的版本或 ODP V4.2.3 之前版本,或者 ODP 为 V4.2.3 版本但配置项未设置为client_session_id_version =2的场景,当通过 ODP 连接数据库时,SHOW PROCESSLIST语句显示的是对应的 ODP 节点上的会话信息;当通过直连方式连接数据库时,SHOW PROCESSLIST语句显示的是租户对应的 OBServer 节点上的会话信息。obclient [SYS]> SHOW PROCESSLIST;查询结果如下:
+------------+------+----------------------+------+---------+------+--------+------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +------------+------+----------------------+------+---------+------+--------+------------------+ | 3221488068 | SYS | 100.xx.xxx.xxx:18985 | SYS | Sleep | 298 | SLEEP | NULL | | 3221488078 | SYS | 100.xx.xxx.xxx:32489 | SYS | Query | 0 | ACTIVE | SHOW PROCESSLIST | +------------+------+----------------------+------+---------+------+--------+------------------+ 2 rows in set相关字段说明如下:
Id:表示该会话的 ID。User:表示该会话所属的用户。Host:表示发起该会话的客户端 IP 及端口号。db:表示该会话当前连接的数据库名。Oracle 模式显示为与用户名同名的 Schema 名。Command:表示该会话正在执行的命令类型。Time:表示当前命令执行的时间,单位为秒。如果命令发生了重试,则系统会清零后重新计算。State:表示该会话当前的状态。Info:表示该会话正在执行的语句。
使用
SHOW FULL PROCESSLIST语句查看租户会话obclient [SYS]> SHOW FULL PROCESSLIST;查询结果如下:
+------------+------+-----------+----------------------+------+---------+------+--------+-----------------------+----------------+------+ | ID | USER | TENANT | HOST | DB | COMMAND | TIME | STATE | INFO | IP | PORT | +------------+------+-----------+----------------------+------+---------+------+--------+-----------------------+----------------+------+ | 3221488068 | SYS | oracle001 | 100.xx.xxx.xxx:18985 | SYS | Sleep | 548 | SLEEP | NULL | 172.xx.xxx.xxx | 2881 | | 3221488078 | SYS | oracle001 | 100.xx.xxx.xxx:32489 | SYS | Query | 0 | ACTIVE | SHOW FULL PROCESSLIST | 172.xx.xxx.xxx | 2881 | +------------+------+-----------+----------------------+------+---------+------+--------+-----------------------+----------------+------+ 2 rows in set相关字段说明如下:
ID:表示该会话的 ID。USER:表示该会话所属的用户。TENANT:表示该会话所访问的租户名称。HOST:表示发起该会话的客户端 IP 及端口号。如果您是通过 ODP 连接的数据库,则表示 ODP 的主机 IP 及端口号。DB:表示该会话当前连接的数据库名。Oracle 模式显示为与用户名同名的 Schema 名。COMMAND:表示该会话正在执行的命令类型。TIME:表示当前命令执行的时间,单位为秒。如果命令发生了重试,则系统会清零后重新计算。STATE:表示该会话当前的状态。INFO:表示该会话执行的语句。IP:表示该会话所属的服务器 IP 地址,即 OBServer 节点的 IP 地址。PORT:表示该会话所属的服务器的 SQL 端口号,即 OBServer 节点的 SQL 端口号。