赛迪网 > IT技术 数据库 > 精彩更新
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

Informix日志分析工具onlog的具体应用

发布时间:2008.07.24 09:11     来源:赛迪网    作者:Anna

【赛迪网-IT技术报道】Informix 数据库安装简单,管理方便,性能强大,大量应用在金融电信领域的联机交易系统中。 Informix 提供的一系列管理工具帮助系统管理员快速的监控并收集数据库的信息,快速诊断问题提供了有效的手段。本文介绍使用 onlog 工具在一实际案例中怎么追踪分析事务处理过程,并最终排除系统故障。

onlog 工具简介

onlog 命令可以用来显示 Informix 数据库的逻辑日志内容,在数据库处于 offline 状态时,onlog 命令只读取磁盘上的逻辑日志;而数据库处于 quiescent 或者 online 模式,onlog 还会同时把共享内存中逻辑日志缓冲区的内容一并读出。因此 onlog 对分析追踪数据库在某个交易处理过程中对数据库做了哪些修改,非常有用。

onlog 命令可以带不同的参数来调用,详细的命令说明请参考 Informix 《系统管理员参考手册》。onlog –l 列出了详细的逻辑日志记录,从中可以对一个事务相关动作进行跟踪分析。

onlog –l 的输出中 type 字段包含了该逻辑日志记录的类型,BEGIN 类型记录标志了一个事务的开始,时间是该事务的开始时间。一个完整的事务处理状态在数据库的逻辑日志中是由一个记录序列来记载的,由 BEGIN 型记录开始,以 COMMIT 或 ROLLBACK 型记录结束。如下图 1 所示.

图1.逻辑日志片段示例

应用分析

某银行系统对交易中间件平台做了版本升级,涉及到数个应用系统:核心业务系统、网上银行、IC 卡交易及国际结算。升级之后 IC 卡和网上银行系统出现交易做不了的情况,网上银行系统的跨域交易未能提交到数据库系统( Informix ),中间件层面返回交易超时失败。

经过对数据库进行监控分析,数据库没有任何的故障现象,但是在交易中间件环节除了收到超时失败错误信息,也无法定位更详细的错误情况。

于是便只有从从数据库事务跟踪的层次来追踪在整个事务处理过程中数据库做了哪些动作,用 onlog –l 生成逻辑日志的详细记录,并根据时间找到相应时间段的逻辑日志记录。从下面的逻辑日志片段中,我们找到了与我们失败交易事务时间接近的 addr 为 cfb018、type 为 BEGIN 一条逻辑日志记录;下一条记录是 addr 为 cfb040、type 为 HUPBEF 的记录。

图2.通过日志跟踪事务进程

继续往下可以找到下面的逻辑日志记录信息,addr 为 cfd14c,type 为 XAPRECOM,是 TP/XA 跨库访问的预提交指令,这条记录表明数据库已经做好提交的准备,一旦接受到 COMMIT 指令,则对整个事务进行提交。

图3.查找事务提交时的日志

继续往下检查逻辑日志记录,我们找到一条 XAPRECOM 的后续记录,addr 为 d05050,类型为 ROLLBACK 的记录,数据库在接到 XAPRECOM 指令后,没有做 COMMIT,而是做了一个 ROLLBACK。

图4.查找事务的执行情况日志

进一步比较 BEGIN 记录到 ROLLBACK 记录的时间,从 17:23:33 至 17:28:42 经历了 5 分 09 秒。

检查数据库的 onconfig 配置参数,发现下面的设置:

TXTIMEOUT                                 0x12c

这是缺省的事务超时时间:5 分钟, Informix 在接受到 XAPRECOM 指令后,等了 5 分中没有收到中间件的的 COMMIT 或 ROLLBACK 指令,对 TP/XA 型事务在超时后自动做出了回滚。

据此判断,交易的失败原因不在数据库层面,客户进一步集中精力在中间件层面进行分析,最终排除了故障。

总结

Informix 的 onlog 命令提供了很好的数据库事务级追踪分析手段,在上面的实际案例应用中有效的通过事务追踪排除了数据库层面的问题,为准确定位问题并促成问题的最终解决提供了诊断手段。

(责任编辑:卢兆林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 有关BCB连接Informix数据库的参考示例 (06-25) · 使用标准I/O进行Informix同时备份和恢复 (06-25)
· 实例讲解Informix日期边界处理的缺陷问题 (06-25) · Informix数据库记录数过多引起的性能下降 (06-03)
· 用dbschema工具导出Informix数据库的结构 (04-29) · 在Informix数据库中释放异常锁资源 (04-24)
· Informix系统维护的特殊问题 (04-24) · Informix数据库利用索引提高查询效率 (04-24)
· Informix中查看和设置table的lock级别 (04-24) · Informix数据库利用索引提高查询效率 (04-24)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 北京新规不能霸王硬上弓 网店牌照缓期执行
· 软件外包之变的新台阶: 提高全球交付能力
· ERP案例分析 SaaS带来冲击 IT服务商面临挑战
· 通方期货CRM解决方案 房地产行业CRM解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统