首批通过分布式安全可靠测评,为关键业务系统打造
查看租户会话
更新时间:2023-08-01 11:45:47
您可以通过视图或 SQL 语句查看租户会话。
sys 租户可以通过 GV$OB_PROCESSLIST/V$OB_PROCESSLIST 视图和 SHOW PROCESSLIST/SHOW PROCESSLIST 语句查看所有租户的会话信息,普通租户可以通过 GV$OB_PROCESSLIST/V$OB_PROCESSLIST 视图和 SHOW PROCESSLIST /SHOW PROCESSLIST 查看租户会话信息。
通过视图查看租户会话
用户登录集群的 MySQL 租户或 Oracle 租户。
执行以下语句,查看租户会话信息。
租户管理员可以查看当前租户内的所有会话信息,普通用户只能查看当前自己的会话信息。如果您拥有
PROCESS权限,则可以查看所有会话。MySQL 模式
SELECT * FROM oceanbase.GV$OB_PROCESSLIST;查询结果如下:
+----------------+----------+----------+------------+------+----------------------+-----------+----------+---------+-------+------------+--------+-------------------------------------------+--------------+---------------+----------------+-----------+-----------+------------+----------------------------------+----------+-----------+------------+-----------------------------------+-------------+--------+--------+-------------+ | 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 | +----------------+----------+----------+------------+------+----------------------+-----------+----------+---------+-------+------------+--------+-------------------------------------------+--------------+---------------+----------------+-----------+-----------+------------+----------------------------------+----------+-----------+------------+-----------------------------------+-------------+--------+--------+-------------+ | xx.xx.xx.198 | 2882 | 2881 | 3221619770 | root | xx.xx.xx.135:36417 | oceanbase | mysql001 | Query | 0 | 0 | ACTIVE | SELECT * FROM oceanbase.GV$OB_PROCESSLIST | NULL | NULL | xx.xx.xx.135 | % | 0 | 0 | 2E175335D36600B7A8EC72C5094888DD | 0 | 50415 | NULL | YB42AC1E87C6-0005FF6AD9F824BE-0-0 | | | | | | xx.xx.xx.198 | 2882 | 2881 | 3221582898 | root | xx.xx.xx.135:24532 | test | mysql001 | Sleep | 1621 | 1621 | SLEEP | NULL | NULL | NULL | xx.xx.xx.135 | % | 0 | 0 | | 0 | 0 | NULL | NULL | | | | | | xx.xx.xx.198 | 2882 | 2881 | 3221737054 | root | xx.xx.xx.135:3710 | test | mysql001 | Sleep | 8171 | 8171 | SLEEP | NULL | NULL | NULL | xx.xx.xx.135 | % | 0 | 0 | | 250765 | 0 | NULL | NULL | ACTIVE | | | | | xx.xx.xx.198 | 2882 | 2881 | 3221737160 | root | xx.xx.xx.135:4010 | test | mysql001 | Sleep | 15527 | 15527 | SLEEP | NULL | NULL | NULL | xx.xx.xx.135 | % | 0 | 0 | | 0 | 0 | NULL | NULL | | | | | +----------------+----------+----------+------------+------+----------------------+-----------+----------+---------+-------+------------+--------+-------------------------------------------+--------------+---------------+----------------+-----------+-----------+------------+----------------------------------+----------+-----------+------------+-----------------------------------+-------------+--------+--------+-------------+ 4 rows in setOracle 模式
SELECT * FROM SYS.GV$OB_PROCESSLIST;查询结果如下:
+----------------+----------+----------+------------+------+----------------------+------+-----------+---------+-------+------------+--------+-------------------------------------+--------------+---------------+----------------+-----------+-----------+------------+----------------------------------+----------+-----------+------------+-----------------------------------+-------------+--------+--------+-------------+ | 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 | +----------------+----------+----------+------------+------+----------------------+------+-----------+---------+-------+------------+--------+-------------------------------------+--------------+---------------+----------------+-----------+-----------+------------+----------------------------------+----------+-----------+------------+-----------------------------------+-------------+--------+--------+-------------+ | xx.xx.xx.197 | 2882 | 2881 | 3221926974 | SYS | xx.xx.xx.135:36950 | SYS | oracle001 | Sleep | 11213 | 11213 | SLEEP | NULL | NULL | NULL | xx.xx.xx.135 | % | 0 | 0 | NULL | 0 | 0 | NULL | NULL | NULL | NULL | NULL | NULL | | xx.xx.xx.198 | 2882 | 2881 | 3221549774 | SYS | xx.xx.xx.135:16924 | SYS | oracle001 | Query | 0 | 0 | ACTIVE | SELECT * FROM SYS.GV$OB_PROCESSLIST | NULL | NULL | xx.xx.xx.135 | % | 0 | 0 | 0A6CF0E2AB2C1A1917AB1FFDF2BE9CFF | 0 | 50038 | NULL | YB42AC1E87C6-0005FF6AD5E8243D-0-0 | NULL | NULL | NULL | 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 及端口号。如果是通过 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:事务状态。ACTION:通过调用DBMS_APPLICATION_INFO.SET_ACTIONProcedure 设置的当前执行操作的名称。MODULE:通过调用DBMS_APPLICATION_INFO.SET_MODULEProcedure 设置的当前执行操作的名称。CLIENT_INFO:通过DBMS_APPLICATION_INFO.SET_CLIENT_INFO过程设置的信息。
通过 SHOW PROCESSLIST 语句或 SHOW FULL PROCESSLIST 语句查看租户会话
SHOW PROCESSLIST 语句的显示结果与连接数据库的方式有关。当通过 ODP 连接数据库时,显示的是对应的 ODP 节点上的会话信息;当通过直连方式连接数据库时,显示的是租户对应的 OBServer 节点上的会话信息。
查看租户会话时,租户管理员可以查看当前租户内的所有会话信息,普通用户只能查看当前自己的会话信息。如果您拥有 PROCESS 权限,则可以查看租户内的所有会话。
说明
用户登录集群的 MySQL 租户或 Oracle 租户。
执行以下命令,查看租户会话。
通过直连方式连接数据库时,使用
SHOW PROCESSLIST语句查看租户会话SHOW PROCESSLIST;查询结果如下:
+------------+------+----------------------+-----------+---------+------+--------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +------------+------+----------------------+-----------+---------+------+--------+------------------+ | 3221487631 | root | xx.xx.xx.xx:44615 | oceanbase | Query | 0 | ACTIVE | SHOW PROCESSLIST | +------------+------+----------------------+-----------+---------+------+--------+------------------+ 1 row in set相关字段说明如下:
Id:表示该会话的 ID。User:表示该会话所属的用户。Host:表示发起该会话的客户端 IP 及端口号。db:表示该会话当前连接的数据库名。Oracle 模式显示为与用户名同名的 Schema 名。Command:表示该会话正在执行的命令类型。Time:表示当前命令执行的时间,单位为秒。如果命令发生了重试,则系统会清零后重新计算。State:表示该会话当前的状态。Info:表示该会话正在执行的语句。
通过直连方式或 ODP 连接数据库时,使用
SHOW FULL PROCESSLIST语句查看租户会话SHOW FULL PROCESSLIST;查询结果如下:
+------------+------+-----------+----------------------+------+---------+------+--------+-----------------------+----------------+------+ | ID | USER | TENANT | HOST | DB | COMMAND | TIME | STATE | INFO | IP | PORT | +------------+------+-----------+----------------------+------+---------+------+--------+-----------------------+----------------+------+ | 3221926974 | SYS | oracle001 | xx.xx.xx.xx:36950 | SYS | Sleep | 9154 | SLEEP | NULL | xx.xx.xx.197 | 2881 | | 3221549774 | SYS | oracle001 | xx.xx.xx.xx:16924 | SYS | Query | 0 | ACTIVE | SHOW FULL PROCESSLIST | xx.xx.xx.198 | 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 端口号。