SDS集群中alter 操作帶來的殭屍會話

2021-10-24 21:36:21 字數 3203 閱讀 8750

1、環境:

sds集群。

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.

oracle資料庫中alter操作

對欄位操作 操作方法 更新欄位名 alter table table name rename column column old to column new 新增字段 alter table table name add column name varchar 10 刪除字段 alter table...

ALTER 簡單操作 mysql

alter 語句 alter 語句用於在已有的表中新增 修改或刪除。刪除列 alter table 表名字 drop 列名稱 例如 刪除test111表中的age列 alter table test1111 drop age 新增列 新增到test1111表列,名為age,約束為not null 注...

SQL語句操作ALTER

1 新增列 alter table table name add column name datatype 例如 alter table student add name char 50 在student表中新增name欄位 2 刪除列 alter table table name drop col...