早晨八点左右来到公司,气氛紧张,原来ODS系统在晚上load数据时,加载一张对公资产表时,出现reject现象,通过分析加载日志,显示第23行16列存在空值,查看需加载的数据日期为20140610文件,第16列存在空值的行将近1000多行。而且20140609日的文件第16列也存在一些空值行,怀疑此列中存在非法字符,但未找到;此数据是通过datastage进行调度,空值字段会加入默认值。db2 describe table
.,显示此表结构的列值均为非空字段。
期间通过曲线救国,db2look出来创建表语句,创建一张临时表,重新加载还是失败,再通过只加载前四个字段实验时,加载不成功。通过修改表字段非空约束条件,重新加载数据导入成功。
通过进一步与领导沟通,期间有无进行变更,上游核心系统是否进行变动,得知没有进行变更时,继续进行数据分析,查询装载成功的临时表内是否存在空值,显示5条记录,通过分析为某分行业务人员在昨日进行过过期尾款销户操作,此数据为1994,1996年数据,数据不规范,导致数据变动时,ODS系统进行增量比对,对此数据进行重新加工时报错。
从此应急事件中得到以下几点结论:
1:沟通很重要,系统,数据库出问题时,详细询问此段时间有没有做过变更或更改,很多问题都是由于变更时由于调研不充分导致事件发生。
2:多看日志,通过查看应用程序记录下的日志,db2diag.log,.nfy日志文件,找到问题的蛛丝马迹。收起夏云静涌系统工程师
北京宇信易诚科技有限公司
回答者
系统工程师北京宇信易诚科技有限公司
夏云静涌 最近回答过的问题
回答状态
发布时间:2014-06-15关注会员:1 人回答浏览:1122