南大通用GBase 8s数据库(gbase database)在日常运维中,业务突然卡顿、接口超时、锁等待告警是比较高频的问题。很多时候我们需要快速抓到现场正在运行的 SQL,判断是否存在长事务、慢查询、资源抢占。onstat -g sql 就是运维人手必备的现场排查命令。本文即给大家介绍其用法、示例和风险边界。
# 查看会话详情、事务状态onstat -u # 查看该会话持有的锁信息,判断锁阻塞源头onstat -g locks # 查看会话等待事件,看是IO等待还是锁等待onstat -g wait
✅ 思路:
onmode -z
⚠️ 杀会话会回滚当前事务,务必先和业务确认,禁止随意在线上执行。
很多同学在需要校验数据一致性时,会直接执行 oncheck -cD,这里重点提醒风险:
# 校验数据页一致性oncheck -cD :
oncheck -cD 的行为:读取表的数据页做一致性校验, 运行期间会产生大量 IO,并且会对访问的表加共享锁。
GBase 8s 运维讲究 “先抓现场,再谨慎校验”,用好onstat -g sql这套组合排查命令,可以帮我们快速定位大部分业务阻塞问题;同时牢记 oncheck 的锁和 IO 风险,避开线上重大故障。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69979120/viewspace-3187831/ ,如需转载,请注明出处,否则将追究法律责任。