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重连

相关推荐
用户128526116022 小时前
我把祖传Java项目重构后,接口响应从3s砍到了200ms,只改了这几行代码
java
Linsk3 小时前
组件 = 模板 + 业务逻辑
java·前端·vue.js
Nturmoils3 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
星沉远浦3 小时前
用Gemini高效解决Java代码报错难以定位的问题
java
用户298698530147 小时前
Word 文档字符级格式化:Java 实现方案详解
java·后端
渣波7 小时前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
笨鸟飞不快7 小时前
从单个服务到集群:一次完整的性能排查复盘
java·前端
荣码8 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
SamDeepThinking8 小时前
Java微服务练习方式
java·后端·微服务
朦胧之18 小时前
AI 编程-老项目改造篇
java·前端·后端