GBase 8s
运维管理
文章

资源耗尽的一个故障

GBase社区管理员
发表于2023-05-12 09:51:4966次浏览0个评论

现象:

     1. 主节点仍然是online

     2. dbaccess dbanem -  无法访问

     3. onstat -g ntt 可以看到监听

     4.onmode -P 重启监听无效

     5. onmode -ky关闭数据库无效

     6. onclean -ky关闭数据库

     7. 数据库上有几个 session在是running状态,有IO wait线程

 

我没有认真分析正在运行的会话,以为应该从会话的建立上入手分析。

后来onstat -g ses0发现

Current SQL statement (19) :
 select sum(studytime) as sum from XXXX where   auditsituation = 1   and
   ( userid = '24cd6e13307747978063498b75247e19' or userid =
   'b729a001bac6432792394e8178d5df76' or userid =
   '99e8881e526b4f0892d91020eceea9fc' or userid =
   '93f10cec13ca453595eec06d07abaec6' or userid =
   '34fa9573a7504f0e916509469b640024' or userid =
   'df9f4c7d52aa4e908abc22c21d3c8efa' or userid =
   '87fb4966fa7f4eb1b2dfdf8d6c15f2ab' or userid =
   '27c4f9e2143b44fa9c65dac8f1471ca2' or userid =
   '7b7bb589a4b8419c82599bb37cd7c368' or userid =
   'e5ac906d14b947508be12b42bba85ed2' or userid

这个SQL大约有40万行。

明显是这样的SQL耗尽了所有的资源,应该是poll thread的资源。

关键是如何监控poll thread是否已经不能提供服务了呢???

 

============================================================================================

今日又遇到一个类似的SQL

 select count(*)  from XXX  where  state = ?  and ( cardno
   ='yYm+9X82ZXJwlliYGnmVKucqpvGD+wB9oktwJkgKw6I='  or  cardno
   ='K0WzcJr4JnmFXJWQ0/D+KEkNRLXJU8R/W/8kYGR1jfo='  or  cardno
   ='/c8lUegg42Fhe+jPfrmtTBeVc0rxH5XiMKzrXVFp23A='  or  cardno
   ='hydNLudBFVQy2ZolLL+za/e32h9wWV1f2dVDNj+KHBc='  or  cardno
   ='VcTKHUzF63/wGIbgukLl8vdevxJVsPOpxQJf3/CijXY='  or  cardno
   ='gIt5BVE2uW6LvTq/atK1/0cJxBoTtU5gZsfs/5y7cRc='  or  cardno
   ='n5WuPKx5dJbAM41zJ6iDndLqEFsPDHuIiDJHIxWNoFM='  or  cardno
   ='g0/3jDc3hVfBYfnnN6N5PPt20I97SPnaJP62akQREu4='  or  cardno
   ='Aa+NSqYpMavq1E1fblpYPJqzWWTCwPfM5HtaKpcvL7w='  or  cardno
   ='Eeo/mEBP/mOrhy5DkJeMiUkNRLXJU8R/W/8kYGR1jfo='  or  cardno
   ='Bj0QSz5cRBSqakUhtN4Vol/0gY61W2DqThaZvCf5Q20='  or  cardn

大约有27万+行,我就想知道这么长的SQL是如何生成的呢????

评论已关闭