ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 某次BW 异常处理过程

某次BW 异常处理过程

原创 Linux操作系统 作者:leniz 时间:2008-11-12 07:57:17 0 删除 编辑

症状:ODS无法向另外一个ODS做Delta
 异常:Runtime Error          RAISE_EXCEPTION
 信息:Exception condition "NOT_EXIST" raised
 分析:Error analysis
    A RAISE statement in the program "SAPLRSSM" raised the exception
    condition "NOT_EXIST".
    Since the exception was not intercepted by a superior program
    in the hierarchy, processing was terminated.


   Short description of exception condition:
    For detailed documentation of the exception condition, use
    Transaction SE37 (Function Library). You can take the called
    function module from the display of active calls.

 实际处理过程:

按照系统的提示,它一般会叫你通知管理员去处理,所以自己动手吧。
1. 查看系统 Monitor----》Details
      显示数据发出正常,但是接收没有数据
2. 在ABAP异常的情况下,Monitor的Status部分会出现Short Dump Overview,点击进去看看异常情况
3. 通过异常判断是否是简单的ABAP异常,如果不是,那么将异常信息贴到SDN,看看有没有相似的问题
4. SDN有相似问题,但是往往解答五花八门,所以选择方案一定要慎重,不要来一个试一个,往往会适得其反。
5. 提示使用Program:ZDMDELTAREPAIR进行修复,看了一下原代码,这个是修复第一笔有问题的处理,而我们是已经有很多数据了,所以行不同,不过通过此程序发现了两个非常重要的表:即Delta控制表rsdmdelta和rsbodslogstate,这两个表储存的信息分别为:

rsdmdelta:Data Mart Delta Management
      

ICNAME InfoCube
RLOGSYS Source system of the receiver
PARTID Request ID
DMCOUNT Internal number of the request containing the request
REQUEST Request no. of request containing the request

这个表存储的是进入此ODS的Request,以及激活之后的Request,注意这里的最后一笔会和另一个表有重大关系

rsbodslogstate:Changelog Status for ODS Object

ODSOBJECT ODS Object
DELTAINA DataMart delta update status
ACTIVE Max. Delta Slice in Change Log
PROCESSED_ALL Max. delta slice that was extracted by all receivers
PROCESSED_ONE Max. delta slice extracted until now
COMPR_ODS Delta slice up to which compression has taken place
ODSVERSION Active version of the Operational Data Store

这里要对栏位进行说明一下:
Active:激活后的最后一笔Request ID,在ODS的Management里面可以看到,
Process_ALL:已Delta的最后一笔RequestID
Process_ONE:已Delta的最先一笔的ResutID

6.通过核对,我们发现这两个表的数据不一致,按道理,目前此ODS的最后一笔也是我们导入到其他DataTarget的最后一笔,而实际上,表中显示的数据他们是不一致的,通过查询Monitor我们发现,在表rsdmdelta里面存的最后一笔Detal到其他地方的Request,已经被我们删除了,所以表rsbodslogstate中存的信息就和之前提到的表的信息不一致,所以我们的处理方法为,删掉rsdmdelta中的Request ID大于ODS中最大的Request ID,并且修改rsbodslogstate里面的数据将所有的值都按照我们之前的说明进行维护
7. 重新导入,系统导入正常了。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/554557/viewspace-490913/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 心情
请登录后发表评论 登录
全部评论

注册时间:2008-05-31

  • 博文量
    448
  • 访问量
    1104761