感谢,请问OceanBase怎么查正在执行并且没有结束的SQL?
和mysql一样,show processlist应该能看到
登陆sys租户,然后执行
select * from oceanbase.__all_virtual_processlist where command<>‘sleep’ and id<>connection_id();
登陆sys租户 这个意思DBA权限的用户才能查询吗 我这边用普通一般用户 查不了
__all_virtual_是SYS 租户才能查的
sys
租户可以通过 GV$OB_PROCESSLIST
/V$OB_PROCESSLIST
视图和 SHOW PROCESSLIST
/SHOW PROCESSLIST
语句查看所有租户的会话信息,普通租户可以通过 GV$OB_PROCESSLIST
/V$OB_PROCESSLIST
视图和 SHOW PROCESSLIST
/SHOW PROCESSLIST
查看租户会话信息。
通过 SHOW PROCESSLIST 语句或 SHOW FULL PROCESSLIST 语句查看租户会话
SHOW PROCESSLIST
语句的显示结果与连接数据库的方式有关。当通过 ODP 连接数据库时,显示的是对应的 ODP 节点上的会话信息;当通过直连方式连接数据库时,显示的是租户对应的 OBServer 节点上的会话信息。
查看租户会话时,租户管理员可以查看当前租户内的所有会话信息,普通用户只能查看当前自己的会话信息。如果您拥有 PROCESS
权限,则可以查看租户内的所有会话。
https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001701023
如果是4.x 查 GV$OB_PROCESSLIST