Informix 长事务锁表故障

主机:HP 900 rp4440 A7124B

OS:HP-UX B.11.11 U 9000/800 (tc)

Informix Version:IBM Informix Dynamic Server Version 9.40.FC4W2

故障现象:出账业务无法处理,批价处理卡了一个多小时,所有前台应用失败,发现有很多表被锁死,1、用informix登录set4,onstat -显示如下:
IBM Informix Dynamic Server Version 9.40.FC4W2   -- On-Line (LONGTX) -- Up 203 days 13:20:36 -- 217s
Blocked:LONGTX

正常情况下为:IBM Informix Dynamic Server Version 9.40.FC4W2   -- On-Line -- Up 203 days 14:27:15 -- 2175680 Kbytes

2、查看informix运行日志路径:onstat -c|grep MSG
MSGPATH         /informix/online_charge.log # System message log file path

3、vi /informix/online_charge.log 查找最近一条Aborting Long Transaction纪录:
11:14:47  Aborting Long Transaction: tx 0xc000000049d05748 username: acct30 uid: 109

4、根据事务地址tx 查找flags标识有R且Transactions address即为上面的tx值的userthread

Transactions
address          flags userthread       locks  beginlg curlog  logposit   isol    retrys coord
c000000046ce2028 A---- c000000046ca0028 0      0       753     0x1b9624e8 COMMIT  0
c000000046ce2290 A---- c000000046ca0860 0      0       0       0x0        COMMIT  0
c000000046ce24f8 A---- c000000046ca1098 0      0       0       0x0        COMMIT  0
c000000046ce2760 A---- c000000046ca18d0 0      0       0       0x0        COMMIT  0
c000000046ce29c8 A---- c000000046ca2108 0      0       0       0x0        COMMIT  0

5、onstat -u|grep (userthread) 查找sesion id 如:[/informix]onstat -u|grep c000000049f25958

c000000049f25958 --BPR-- 401956   acct30   -        0                0    146   2274     4060

6、onstat -g ses 401956 找出此session是在干什么,定位出什么动作触发了长事务的形成。

7、长事务形成后,整个数据库只运行这个事务,关联的表都被锁住,其他事务想运行,要么等待,要么重启数据库。

2005-10-22 13:22

2005 年10月24日下午又出现长事务锁故障,解决过程是在informix的logdb中增加log块,用informix登录,执行onparams -a -d logdbs -s 128000,删除logdbs,执行onparams -d  -l 26 -y,然后uc -j,事务自动回退了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值