记DB2生产应急一事

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

查看其它 2 个回答夏云静涌的回答

夏云静涌夏云静涌系统工程师北京宇信易诚科技有限公司
回复 2# ppjava2009
相互学习!!!
系统集成 · 2014-06-15
浏览1122
X社区推广