您的位置:首页 > 其它

DPC脚本处理注意事项

2014-07-16 11:56 330 查看
1.检查是否向DPC_GROUPCFG中插入了组信息

2.将所有脚本的换行符做替换 ^p替换成^n 使用UE

3.通过执行clear_file.sh 来清理/db_data/sta目录下的除了hold文件之外的文件

4.停止DPC,dpcend,将要执行条线的状态置为00,将nextdate置为要执行的数据日期。

5.修改所有条线的%002节点状态为失败11

6.启动DPC,dpcstart,修改%002节点状态为成功10并将nextdate修改为数据执行日期的下一天

7.为了提升执行效率,将071,060都改用穿马甲的形式此时,需要在马甲sh文件添加第五个参数,datadate文件路径例如:sta/sys/data/datadate

8.MD_TABLE 表中字段FLAG的第三列为1的代表含有时间窗口与此同时MD_ETL_LOAD_MAPPING表字段LOAD_FLAG字段为2即insert模式

9.穿马甲的很多,有:31、32、34、51、60、71。

10.为了让这些马甲正常发挥作用,还需要在DPC_JOBCFG中写好这些马甲对应的执行脚本

11.dpc_joblog可以定期清理

12.如果重新开始执行数据最好清理DPC_TASKCTL的JOBSEQ和TASKSEQ字段为空即可。

13.对于31、32、34、51、60、71这些马甲来说出错的时候直接进入sta/sys/data目录,按照创建时间排序看看停止在哪个文件上了就能很快定位到出问题的文件。

14.对于80出错来说,可能有两种情况

1)/db_data/datapool/fms/datadate/datalog里面存在*.msg文件,则说明文件装载到数据库出错了,一般的来说msg里面记录了出错原因。

2)如果joblog里面有:文件记录数错! /db_data/sta/sys/data/sys_tab.dpm1 txt---5765770 dpm1---5393133 则说明dpm1处理过程出错,此时执行如下步骤

1.删除dpm1
2.手动执行60或者71脚本重新生成dpm1
/db_data> dpm1 etc/dpm1_tbs.cfg tbs_pzjqdjb sta/tbs/data/tbs_pzjqdjb.dpm1 sta/tbs/data/datadate
3.将80状态修改为00,重新装载数据update dpc_taskctl set JOBSEQ='',taskSEQ='' , state='00' where taskid='016080'

注意:任何一个节点执行成功都会,将nextdate置为下一天(001除外)

%008 每次会比较dpm1和txt文件条数是否相等,如果不等就返回45,查看JOBLOG_数据日期.log会看到具体出错的表,删除原来不完整的dpm1, 然后重新生成那一张表的dpm1(%061.sh) 命令为/db_data/sta/sys/data/sys_table.dpm1 ,最后将%080状态修改为00即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: