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

相关推荐
渣渣盟2 小时前
Flink Table API与SQL流数据处理实战
大数据·sql·flink·scala
无巧不成书02188 小时前
30分钟入门Java:从历史到Hello World的小白指南
java·开发语言
成为大佬先秃头9 小时前
数据库连接池:Druid
数据库·mysql·druid
zs宝来了9 小时前
Playwright 自动发布 CSDN 的完整实践
java
吴声子夜歌10 小时前
TypeScript——基础类型(三)
java·linux·typescript
晓华-warm11 小时前
Warm-Flow 1.8.5 正式发布:超时自动审批、暂存功能来了!
数据库
DynamicsAgg12 小时前
企业数字化底座-k8s企业实践系列第二篇pod创建调度
java·容器·kubernetes
森林里的程序猿猿12 小时前
并发设计模式
java·开发语言·jvm
222you12 小时前
四个主要的函数式接口
java·开发语言