informix 查询 锁表

     在informix中查询SELECT,表有千百万条数据,结构导致松鼠死掉,没有理会!

    继续在此表中查询,但是一直查不出来,SQL一直在执行。。。。。

原来是上个SELECT造成锁表,导致这个查询无法进行。。。

1、查询出执行SELECT语句的SQL

$onstat -g sql | grep SELECT

4855470    SELECT         tnmsdb             LC  Not Wait   0    0    9.28  Off       
4854240    SELECT         tnmsdb             LC  Not Wait   0    0    9.28  Off       
4853637    SELECT         tnmsdb             LC  Not Wait   0    0    9.28  Off       
4853554    SELECT         tnmsdb             LC  Wait 180   0    0    9.28  Off       
4853439    SELECT         tnmsdb             LC  Wait 180   0    0    9.28  Off       
4853172    SELECT         tnmsdb             LC  Not Wait   0    0    9.28  Off       
4847725    SELECT         tnmsdb             LC  Wait 180   0    0    9.28  Off      

找到Not Wait,可以会很多,但是一个个找,终于找到我的第一个SELECT的语句的

$ onstat -g sql  4853172

IBM Informix Dynamic Server Version 11.50.FC5     -- On-Line -- Up 162 days 11:56:51 -- 20592884 Kbytes


Sess       SQL            Current            Iso Lock       SQL  ISAM F.E.
Id         Stmt type      Database           Lvl Mode       ERR  ERR  Vers  Explain   
4853172    SELECT         tnmsdb             LC  Not Wait   0    0    9.28  Off       

Current statement name : _ifxc000000000000g

Current SQL statement :
  select alm_devinfo,nealarm_time,neend_time,alarm_name,rtu_alarm_id from
    history_alarm where rtu_alarm_id =
   
'ZMD-WAM5528-1-P@TD/ONT-1-1-1-1-1@/rack=1/shelf=1/slot=10/port=3/DUPCVLAN/1
    1-11-30 16:00:12'

Last parsed SQL statement :
  select alm_devinfo,nealarm_time,neend_time,alarm_name,rtu_alarm_id from
    history_alarm where rtu_alarm_id =
   
'ZMD-WAM5528-1-P@TD/ONT-1-1-1-1-1@/rack=1/shelf=1/slot=10/port=3/DUPCVLAN/1
    1-11-30 16:00:12'

2、得到会话id 4853172 

3、杀掉此会话

$onmode -z  4853172

 

小松鼠又活过来了!!

 

你可能感兴趣的:(informix,sql,database,ibm,server,up)