DCS组件异常导致T_DCS_BILLLOG数据丢失,通过TBILLLOG数据进行恢复并日结

发布时间:  2014-12-10 浏览次数:  297 下载次数:  2
问题描述
1、 BIR日报表查询无数据;间隔报表产讯无数据。
2、 进入数据库查看T_DCS_BILLLOG发现自DCS组件完成NTP同步并重启后的数据消失。
3、 mdscmd命令查看DCS组件状态正常,系统监控台查看aplogic数据库数据源连接正常。
4、 查看3300进程号的dsc.log日志发现master状态的DCS组件报错:Send Message To ThreadPool Failed.
告警信息
处理过程
解决办法:
1、对DCS组件主备倒换,DCS数据成功入库。
2、查看T_DCS_BILLLOG表,观察数据丢失时段:

3、根据缺数据时间将数据从tbilllog12插入到T_DCS_BILLLOG_REDO表中:
INSERT INTO T_DCS_BILLLOG_REDO
  SELECT RANK() OVER(ORDER BY CALLID, DECODE(CALLIDNUM, -1, 99, CALLIDNUM)) TABLEID,
         CALLID,
         CALLIDNUM,
         CALLERNO,
         CALLEENO,
         WAITBEGIN  -8/24,
         WAITEND -8/24,
         ACKBEGIN -8/24,
         ACKEND -8/24,
         CALLBEGIN -8/24,
         CALLEND -8/24,
         SERVICENO,
         TRKNO,
         TRKGRPNO,
         MODNO,
         DEVICETYPE,
         DEVICENO,
         DEVICEIN,
         CALLTYPE,
         WAITCAUSE,
         RELEASECAUSE,
         SUBCCNO,
         VDN,
         MEDIATYPE,
         UVID,
         ORGCCNO,
         ORGCALLID,
         ORGCALLEENO,
         ORGSERVICENO,
         SERCCNO,
         SERSERVICE,
         USERLEVEL,
         USERTYPE,
         CALLINCAUSE,
         ENTERREASON,
         LEAVEREASON,
         BILLINFO,
         PRESERVICENO,
         PREDEVICETYPE,
         PREDEVICENO,
         PREDEVICEIN,
         MEDIAINFOTYPE,
         SKILLID,
         LOCATIONID,
         BILLINFO1,
         BILLINFO2,
         BILLINFO3,
         BILLINFO4,
         OBSSERVICEID,
         OBSUNIQUEID,
         CURRENTSKILLID
    FROM TBILLLOG12
   WHERE CALLEND > TO_DATE('20141208231625', 'yyyymmddhh24miss')
     AND CALLEND < TO_DATE('20141210112706', 'yyyymmddhh24miss');
COMMIT;
4、完成数据插入:

5、 查看T_DCS_BILLLOG_REDO数据数量:

6、 执行P_DCS_CTIBILLCURSOR存储过程进行日结:

也可以icd用户登陆SQLPLUS之后进行exec
P_DCS_CTIBILLCURSOR;
7、存储过程P_DCS_CTIBILLCURSOR每次执行4W条数据,执行完成后需要再次执行P_DCS_CTIBILLCURSOR直到T_DCS_BILLLOG_REDO表里面的数据数量为0:

8、日结完成后,在SQLPLUS里依次执行完成数据转存:
exec p_aggr_p;
exec p_aggr_d;
exec p_aggr_w;
exec p_aggr_m;
多执行几次,直到T_AGGR_STATUS表里的数字不再变化。
根因
NTP设置完成并重启DCS组件后,DCS组件异常,DCS数据入库T_DCS_BILLLOG表失败。
建议与总结
在重启完成CTI组件之后不仅要查看监控台及mdscmd命令行确认系统组件运行状态正常、并确保无告警;还需要进入系统组件各模块日志文件,确认模块日志文件中无报错;还需要进入数据库TBILLLOG+月份、T_DCS_BILLLOG及TRECORDINFO+月份,确认最新数据已经写入数据库,数据入库正常后才能确保系统运行正常。 

END