X0数据库故障定位/根因分析解决方案成功案例

成功案例一 无效交易持续报警的故障定位和解决

问题现象:

某银行的中间数据库突然持续报警, 监控显示数据库的ROLLBACK交易过多, 远超系统设置的阀值. 持续观察数据库, 并无其他的异常, 但是这个报警持续存在, 长时间后导致报警升级. 需要确定该报警的原因, 并解决这个报警问题.

问题分析:

通过X0, 浏览和查找各个连接中产生的ROLLBACK命令, 并查找ROLLBACK命令前后相关交易, 结果发现了问题原因:原来是应用系统更新了版本, 新版中, 某个交易发起DML操作前, 开发人员加入了一个ROLLBACK语句.这样就形成了: ROLLBACK -- SEL/INS/UPD/DEL -- COMMIT 这样的语句系列, 而这个大量出现的ROLLBACK语句就是导致持续报警的根本原因.

解决:

通过和研发协商, 去掉这个不需要的ROLLBACK语句, 问题得到解决.

X0数据库/应用系统节点级监控和故障定位解决方案成功案例

成功案例二 电商促销交易变慢的故障定位和解决

问题现象:

某银行和电商平台合作举行IPHONE促销活动, 在活动的过程中, 发现数据库中的促销交易大幅度变慢, 需要找出问题的原因并解决, 从而确实提升用户体验.

问题分析:

通过分析发现促销活动中的每笔促销交易会产生一个流水号. 这个流水是通过数据库产生的. 产生的办法如下:

1)select date, inc1, inc2 from T1 where app=’ipcx’ for update

2)update T1 set date=2016-09-09, inc1=001 , inc2=009287 where current of SQL_CURSH200C2

而上面操作过程中, T1表中只有一行记录. 当多个交易同时进行时, 由update操作需要加排它锁, 结果多个交易只能串行执行. 从而导致大量交易发生时, 响应时间急剧变大.

解决:

建议研发修改这个生成流水号的方法, 采用数据库的SEQUENCE或者自己生成.

意见反馈 | 法律声明
版权所有:沃信科技有限公司 2013 粤 ICP11091192