GBase 8s
运维管理
文章

SSC集群中alter 操作带来的僵尸会话

GBase社区管理员
发表于2023-05-12 10:55:4054次浏览0个评论

1、环境:

SSC集群。

2、现象:

某个表锁了。

3、发现有问题的会话状态如下:

onstat -g ses 356522|more

GBase 8s Database Server Version 12.10.FC4G1AEE -- On-Line -- Up 18 days 21:14:55 -- 44147292 Kbytes

session           effective                            #RSAM    total      used       dynamic 
id       user     user      tty      pid      hostname threads  memory     memory     explain 
356522   nvsi     -         4        154860   DB02-INT 1        249856     199608     off

Program :
/opt/gbase/bin/dbaccess

tid      name     rstcb            flags    curstk   status
358746   sqlexec  9caccf28         ---P---  4320     join wait  358755    -

Memory pools    count 1
name         class addr              totalsize  freesize   #allocfrag #freefrag 
356522       V     9c0e1040         249856     50248      208        40        

name           free       used           name           free       used      
overhead       0          3288           mtmisc         0          120       
scb            0          144            opentable      0          13560     
filetable      0          2936           ru             0          600       
log            0          16536          temprec        0          33952     
keys           0          1312           ralloc         0          74016     
gentcb         0          1768           ostcb          0          2944      
sqscb          0          23640          sql            0          72  

hashfiletab    0          552            osenv          0          2752      
sqtcb          0          8272           fragman        0          12872     
sapi           0          64             udr            0          208      

sqscb info
scb              sqscb            optofc   pdqpriority optcompind  directives
907d9408         1264c8028        0        0           0           1        

Sess       SQL            Current            Iso Lock       SQL  ISAM F.E. 
Id         Stmt type      Database           Lvl Mode       ERR  ERR  Vers  Explain    
356522     ALTER TABLE    nvsi               DR  Wait 30    0    0    9.24  Off        

Current SQL statement (4) :
 ALTER TABLE nvsi:lbx09 MODIFY id char(32) NOT NULL

Last parsed SQL statement :
 ALTER TABLE nvsi:lbx09 MODIFY id char(32) NOT NULL

4、发现居然是在等待一个IPL,可是我明明已经关闭IPL了啊,难道是因为我关闭了IPL,所以ALTER才失败的吗???

~>onstat -g ath|grep 358755
358746   114f6cc88        9caccf28         1    join wait  358755       9cpu         sqlexec
358755   c6bd1bf8         12b8124a8        1    sleeping secs: 1       16cpu         ipl

5、查看等待的会话

onstat -u|grep 12b8124a8
12b8124a8        ---PR-D 356532   informix -        0                0    2     0        17

6、查看等待的会话

onstat -g ses 356532

GBase 8s Database Server Version 12.10.FC4G1AEE -- On-Line -- Up 18 days 21:16:01 -- 44147292 Kbytes

7、发现无法杀掉,估计是因为IPL无法处理

>onmode -z 356532
onmode: Cannot kill session 356532.

评论已关闭