SSC集群中alter 操作带来的僵尸会话
GBase社区管理员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.
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526