GBase 8s 如何查看回滚的事务 和对应的SQL

描述:

如何查看当前数据库中是否有事务在回滚, 如果有, 具体是哪条 SQL 在回滚?

解决办法:

方法1: 通过 onstat -u|grep RP; 可以获取相关的 sessionid。 通过 onstat -g ses sid 获取 SQL;

方法2: 通过 onstat -x|grep "A-R"; 可以定位到 userthread, 例如 "686cb9e8", 然后通过

onstat -u|grep "686cb9e8" 获取到 sessionid; onstat -x 输出中的 rb_time 表示回滚的剩余时间。

案例:

描述:gbase在线,在gbase服务器里面能正常访问gbase,但是用工具程序就访问不了,gbase服务是online状态,存储空间也是够的,这是gbase日志

如图

经过上面的分析:长事务到达高水位之后,事务即将挂起,长事务回滚完之后,挂起的事务没断开,也没发起重连,导致gds和应用也连不上,onmode -z sid杀掉挂起的事务,让session重连

相关推荐
b***66617 小时前
MySQL SQL100道基础练习题
数据库·mysql
8***23557 小时前
MySQL:数据查询-limit
数据库·mysql
m***9827 小时前
【Navicat+MySQL】 在Navicat内创建管理数据库、数据库表。
数据库·mysql·oracle
f***28147 小时前
SQL sever数据导入导出实验
数据库·sql·oracle
q***D4437 小时前
Navicat 连接 SQL Server 详尽指南
java
a***56067 小时前
Knife4j文档请求异常(基于SpringBoot3,查找原因并解决)
java·服务器·数据库
f***68607 小时前
Spring Boot 热部署
java·spring boot·后端
5***26227 小时前
Spring Boot实现定时任务
java·spring boot·后端
2***d8857 小时前
springcloud springboot nacos版本对应
java
Y***98517 小时前
SpringBoot整合Email 邮件发送详解
java·spring boot·后端