informix 长事务

在多数据库平台策略的指引下,DB2和Informix进行了明确的分工,分别专注于不同的应用场景。Keesee指出,目前DB2产品线主要关注高端商业智能、PureXML、数据挖掘、OLTP等领域,为用户提供综合、立体的信息管理解决方案。而Informix专注于持续提升大量、分布式在线交易环境中的事务处理能力,通过卓越的OLTP能力实现数据处理的高绩效和高可用性。“比较而言,Informix适用于高度分布式的数据库应用场景,在电信、零售、金融等行业中拥有很大的发展空间。同时,Informix在管理易用性和自动化方面的技术创新,让用户能够以更低的成本构建高性能的OLTP系统 --IBM Informix数据库开发全球董事Jerry Keesee 造成长事务的原因可能有两个,??1,事务确实太大了,导致跨越的日志树木太多,????2,由于应用没有关闭,后面的应用在前面的应用的基础上进行,????症状,长事务会阻塞所有的访问,回滚之前的事务,这会大大的降低数据库的性能,严重的导致数据库down 机 主机: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 其中flag字段的第三位为R说明事物在rollback,说明是长事务??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 这一条就是长事务:?1cf0a6748 A-R-- 1cd55c618 642073 119403 119405 0x1aa91e4 DIRTY 0 ??5、通过长事务的userthread值找出session id onstat -u|grep (userthread) 查找sesion id 如:[/informix]onstat -u|grep c000000049f25958 ????c000000049f25958 --BPR-- 401956 acct30 - 0 0 146 2274 4060 ????6、显示会话连接信息,找出造成长事务的SQL语句,并优化 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,事务自动回退了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21634752/viewspace-614054/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21634752/viewspace-614054/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值