GBase8s数据库监控当前正在运行的 SQL 情况

本文介绍如何使用onstat工具监控SQL执行情况及session资源使用情况,通过具体命令展示如何获取当前运行的SQL信息,并提供了一个实用的Shell脚本用于快速定位数据库中特定SQL或操作类型的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

检查点 当前正在运行的 SQL 情况
方法 onstat -g sql
onstat -g ses
onstat -g sql #sid
onstat -g ses #sid
运行情况 A.onstat -g sql
Sess SQL Current Iso Lock SQL ISAM F.E.
Id Stmt type Database Lvl Mode ERR ERR Vers Explain
25105 - sysmaster DR Wait 5 0 0 9.28 Off
10041 - demodb CR Not Wait 0 0 9.24 Off
B. onstat -g ses
session #RSAM total used
id user tty pid hostname threads memory memory explain
25105 gbasedbt - -1 localhos 1 204800 125960 off
10041 gbasedbt 5 11360 localhos 1 86016 67840 off
健康状况评估 可以监控 session 的 SQL,内存使用,进程 pid 等信息。
可以通过 onstat -g sql |wc -l 来监控到当前 SQL 总数.
技巧:
可以通过如下 shell 脚本来监控指定数据库当前 SQL 情况,可以帮助
DBA 快速定位问题:
act_sql.sh 脚本如下:
#!/bin/csh
echo “-------- BEGIN! -----------”
foreach sid ( onstat -g sql|grep -i -v vi|grep -i $1|awk ‘{print $1}’)
foreach used_flag ( onstat -g sql $sid|grep -i $2|wc -l|awk ‘{print $1}’)
if $used_flag then
echo “onstat -g sql” $sid
onstat -g sql $sid|grep -i $2
endif
end
end
echo “-------- finish! -----------”
可以利用该脚本来完成如下一些 SQL 检索功能:
A. 指定表名是否有被访问:act_sql.sh demodb orders
#说明:demodb 为数据库名,orders 为搜索表名
B. 列出当前所有正在执行的 select (insert,update,delete)操作
act_sql.sh demodb select
act_sql.sh demodb delete
act_sql.sh demodb update
act_sql.sh demodb insert

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值