处理链由于系统dump停掉/如何恢复系统中断的处理链

处理链断了,一直是黄灯状态,但是没有出错,下层链无法继续往下执行.
或者链内部的DTP没有往下一个执行.

这时候去ST22发现,在往下个处理链执行的时间节点出现了一个系统dump.
咋回事呢?

不知道.显示是DTP出错了…ABAP program是SAPLRSMDATASTATE
SAP的解释是:在lock manager里,DTP是隐式实例,因此在Check_Tstate检查后,确定后续不继续执行.
这啥意思呢?就是没找到它上面的DTP已经执行完的请求?
在这里插入图片描述
然后它还让我们去检查RSMDATASTATE这个表:
要确保以下四个字段都是0.不是0要改成0…

但是这种情况只针对于DTP的对象不是info cube的,因为DSO或者信息对象是没有聚集和压缩的,所以这几个值只能是0. 如果不是0就会由于不一致导致dump.
在这里插入图片描述在这里插入图片描述
但是这只是解决不出现dump了.好像.
那怎么让处理链继续往下跑呢?

处理链相关表

RSPCPROCESSLOG
RSPCLOGCHAIN

在这里插入图片描述
在这里插入图片描述

如何继续执行处理链

从上面的表可以看出RSPCPROCESSLOG给出了处理链的日志。那这里面有啥呢,log_id啥的,变量实例啥的。
在这里插入图片描述
在instance后面一列有个状态:正常是G:就是成功了。
在这里插入图片描述
那怎么去找你的处理链的某个process是啥状态呢?
处理链日志上右键display message:
在这里插入图片描述
找到chain下面的变量和实例。
在这里插入图片描述
copy到表里:
在这里插入图片描述
看到表里的状态并不是G这里的R是个例子。
在这里插入图片描述
那怎么让处理链继续往下跑呢?
这时候要去se38:RSPC_PROCESS_FINISH
填入在表中获得的logID等等,然后一定把状态改成G,最后执行。然后链就会往下执行了。
在这里插入图片描述

如何删除处理链日志表的内容

到这里咱首先得回归原始:
到底啥是处理链:简单点最好,就是一系列加载数据的操作流程。为了给报表最新的数据。(解释了等于没解释)
这个链呢,按咱需要可以设置周期:一天一次拉,一天几次啦,一周一次拉,一月一次拉,或者你自己设定特殊时间。
那你这个处理链执行肯定会有日志的。能方便你进行运行时间分析。

这个日志表呢:
RSPCLOGCHAIN:交叉表日志ID和链ID
RSPCPROCESSLOG:链流程日志
RSPCINSTANCE:一般实例
RSPCINSTANCET:一般实例文本

由于你每天都跑好多链,所以这个日志表每天都有好多数据进去,要占用数据库好多空间。虽然这些日志也是蛮重要的,但是定期清理释放空间也是相当重要的。

删除链日志

report:RSPC_LOG_DELETE
在这里插入图片描述
一般都把忽略错误勾上,然后CHAINID要填。CHAINID就是你的链的技术名。
logid就是你链开始后生成的。
在这里插入图片描述
日期选择那里,从哪天到哪天,最后到的那天也会被包括,就是被删除日志。

删除链实例

啥叫这个链实例?
就是你每条链每次跑都会生成一个instance啊:
在这里插入图片描述
这个内容保存在RSPCINSTANCE和RSPCINSTANCET里。
我们需要用这个report:RSPC_INSTANCE_CLEANUP来删除这些

在这里插入图片描述

在哪天之前的,选中下面第一个不同时跑处理链:来直接删除而不跑处理链,一般肯定都选。
选中第二个来删除日志,一般也选。

以上两个report就来删除处理链执行过程中的旧的日志表了。

一般每天,每周跑的,超过三个月的日志就要删了。
一般每月跑的,半年就能删了。当然如果你数据库够大,那随意。

猜你喜欢

转载自blog.csdn.net/weixin_45689053/article/details/113175631