基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
检查 ODP 连接
更新时间:2023-10-24 17:15:46
本文介绍使用命令行检查 OceanBase 数据库代理 ODP(OceanBase Database Proxy,又称 OBProxy)连接的一些常用操作。
查看客户端连接
通过 SHOW PROXYSESSION; 语句可以查看 ODP 上所有租户连接的全部客户端连接(Client Session,即 Client 和 ODP 间的连接)的内部状态。
示例如下:
obclient> show proxysession;
+---------------------+------+---------+--------+------+-----------------+------+-------------+-------------------+-------------------+--------+--------+-----------+
| proxy_sessid | Id | Cluster | Tenant | User | Host | db | trans_count | svr_session_count | state | tid | pid | using_ssl |
+---------------------+------+---------+--------+------+-----------------+------+-------------+-------------------+-------------------+--------+--------+-----------+
| 7230691421644980673 | 88 | ob1.cc | sys | root | 127.0.0.1:49999 | NULL | 0 | 1 | MCS_ACTIVE_READER | 120685 | 120685 | 0 |
+---------------------+------+---------+--------+------+-----------------+------+-------------+-------------------+-------------------+--------+--------+-----------+
1 row in set
参数说明:
| 字段 | 字段 |
|---|---|
| proxy_sessid | OceanBase 数据库内标记每个与 ODP 的会话的 ID 号。 |
| Id | ODP 内标记每个 Client Session 的 ID 号,即下文的 cs_id。 |
| Cluster | 连接所属的 OceanBase 集群名。 |
| Tenant | 连接 OceanBase 集群所使用的租户名。 |
| User | 连接 OceanBase 集群所使用的用户名。 |
| Host | 客户端 IP 地址及其端口号。 |
| db | 执行命令时所处的数据库。 |
| trans_count | 客户端会话已完成的事务数量。 |
| svr_session_count | ODP 与 OceanBase 数据库之间维持的会话总数量。 |
| state | 客户端会话状态,存在如下几个状态:
|
| tid | 线程 ID。 |
| pid | 进程 ID。 |
| using_ssl | 客户端会话是否使用 SSL 协议传输。 |
查看服务端连接
目前暂不支持直接通过 ODP 查看服务端连接(Server Session,即 ODP 和 OBServer 节点间的连接)。可以使用 root 用户登录 OceanBase 数据库的 sys 租户查看集群内的所有 Server,之后直连对应的 OBServer 节点查看连接。
使用
root用户登录 OceanBase 数据库的 sys 租户查看集群内的所有 Server。obclient> select svr_ip,svr_port,zone,inner_port,status from oceanbase.__all_server; +------------+------+--------+ | svr_ip | zone | status | +------------+------+--------+ | 10.10.10.1 | z3 | ACTIVE | | 10.10.10.2 | z2 | ACTIVE | | 10.10.10.3 | z1 | ACTIVE | +------------+------+--------+ 3 rows in set选择想要查看的 OBServer 节点,直连该 OBServer 节点,以直连
10.10.10.1,SQL 端口为2881为例。[admin@test001 ~]$ obclient -h10.10.10.1 -P2881 -uroot@sys -p****** -Doceanbase -A执行
show processlist;命令查看当前 OBServer 节点的所有连接。obclient> show processlist; +------------+---------+------------------+-----------+---------+------+--------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +------------+---------+------------------+-----------+---------+------+--------+------------------+ | 3221812197 | root | 10.10.10.1:48563 | NULL | Query | 0 | ACTIVE | show processlist | | 3222117829 | proxyro | 10.10.10.1:37876 | oceanbase | Sleep | 6 | SLEEP | NULL | | 3221709618 | root | 10.10.10.1:51390 | NULL | Sleep | 831 | SLEEP | NULL | +------------+---------+------------------+-----------+---------+------+--------+------------------+ 3 rows in set