1     概述

前段时间在项目中碰到一个问题,地点物料0MAT_PLANT_ATTR属性主数据因为有两个多月没有做增量更新,导致在之后的每次增量抽取活动中因为抽取的数据量过大使得在源系统的进程中发生short dump。

发现在这问题后,为避免增量抽取的数据量过大,先给0MAT_PLANT_ATTR重新做了一次无数据传输的初始化和FULL REPAIR UPDATE,然后再重新再做增量抽取。但是发现在源系统端的数据抽取进程中还是发生了short dump,错误的原因也是一样要抽取的数据量过大,导致内存发生错误,如图1.2。

图1.2

为什么0MAT_PLANT_ATTR在做了初始化以后,在做增量抽取时还是会发生数据量过大导致内存溢出的错误呢,在网上查了相关资料以及给SAP发了
MESSAGE后得到了答案。原来在BW中有一部分主数据的抽取是基于ALE增量机制,该类型的增量数据保存在表BDCPV中,由字段PROCESS标识
数据是否已经抽取过,如图1.3所示。按正常情况,数据源做完初始化后,应该将初始化时间点前的所有数据都打上已处理标记,这样下次增量抽取时就可以避免
重复抽取这部份数据,但是显然SAP由于某些原因(应该算是SAP的一个BUG)忽略了这一点,导致数据抽取出现异常(当然一定要数据量够大时才会出现问
题)。这一类型的主数据增量不会保存在队列中,即虽然在RSA7中可以看到数据源0MAT_PLANT_ATTR,但是查不到任何数据,这一类数据源也不
支持重复增量。

2    
查看数据源的增量处理类型

在源系统端运行TCODE:
RSA2,可以查看该数据源是否支持ALE指针增量机制,怎么鉴别一个数据源所对应的消息类型呢,可以通过表ROOSGEN来查看。查到数据源对应的消息类型后,还需要查看该消息类型是否已经激活,可以通过表TBDA2查看。

3    
主数据和BDCPV之间的关系

以物料属性0MATERIAL_ATTR数据源为例,说明一下主数据更新和表BDCPV之间的关系。物料属性的更新在MM01中进行,当我们增加或修改了
某一个物料后,数据不但保存在MARA,而且还会将修改的数据保存到表BDCPV中,当我们在MM01中新增加一个物料后,表BDCPV中也增加了一条数
据记录,消息类型为RS0059(每个系统都有自己的消息类型,不是统一的),在CREATETIME为20091211103441时,表MARA也生
成了一条新数据(Change
ID为‘I’)。

物料属性0MATERIAL_ATTR数据源执行FULL UPDATE或DELTA PROCESS时,extractor
function module会使用不同的方法读取相应的数据,如图3.1所示,当是Full或Initial的时候,数据从Base
Table中读取,当是Delta时,数据从BDCPV中读取。

图3.1

4    
增量抽取出现错误时的处理办法

在其他类型的增量数据处理中,如果当前的增量处理出现失败的情况,一般的处理办法是将当前请求置红,将目标数据中的请求删除,这样在下次做增量抽取时会自
动重新抽取这次没有抽成功的数据。但是在基于ALE的增量抽取机制中不支持重复抽取,因此不能简单的置红删除。而是需要先将错误请求置绿,处理好
BDCPV中记录的标识后,再重新运行增量信息包。

BW基于ALE的主数据增量机制分析的更多相关文章

  1. linux内核3.4基于wakeup_source的autosleep机制分析

    点击打开链接 一:wakeup_source简介: linux 3.4内核PM使用了wakeup_source来保持唤醒状态,也就是keep awake.之前android一直是基于Linux加入了w ...

  2. 苏宁基于Spark Streaming的实时日志分析系统实践 Spark Streaming 在数据平台日志解析功能的应用

    https://mp.weixin.qq.com/s/KPTM02-ICt72_7ZdRZIHBA 苏宁基于Spark Streaming的实时日志分析系统实践 原创: AI+落地实践 AI前线 20 ...

  3. Linux mips64r2 PCI中断路由机制分析

    Linux mips64r2 PCI中断路由机制分析 本文主要分析mips64r2 PCI设备中断路由原理和irq号分配实现方法,并尝试回答如下问题: PCI设备驱动中断注册(request_irq) ...

  4. Android内存机制分析1——了解Android堆和栈

    //----------------------------------------------------------------------------------- Android内存机制分析1 ...

  5. Linux内核态抢占机制分析(转)

    Linux内核态抢占机制分析  http://blog.sina.com.cn/s/blog_502c8cc401012pxj.html 摘 要]本文首先介绍非抢占式内核(Non-Preemptive ...

  6. Linux x86_64 APIC中断路由机制分析

    不同CPU体系间的中断控制器工作原理有较大差异,本文是<Linux mips64r2 PCI中断路由机制分析>的姊妹篇,主要分析Broadwell-DE X86_64 APIC中断路由原理 ...

  7. 基于 JDK 的动态代理机制

    『动态代理』其实源于设计模式中的代理模式,而代理模式就是使用代理对象完成用户请求,屏蔽用户对真实对象的访问. 举个最简单的例子,比如我们想要「FQ」访问国外网站,因为我们并没有墙掉所有国外的 IP,所 ...

  8. Android内存机制分析2——分析APP内存使用情况

    上面一篇文章说了Android应用运行在dalvik里面分配的堆和栈内存区别,以及程序中什么代码会在哪里运行.今天主要是讲解一下Android里面如何分析我们程序内存使用情况.以便后续可以分析我们程序 ...

  9. Linux 线程实现机制分析 Linux 线程模型的比较:LinuxThreads 和 NPTL

    Linux 线程实现机制分析 Linux 线程实现机制分析  Linux 线程模型的比较:LinuxThreads 和 NPTL http://www.ibm.com/developerworks/c ...

随机推荐

  1. [Leetcode][JAVA] Longest Consecutive Sequence

    Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ...

  2. Mat 转 IplImage

    Mat 转 IplImage 分类: OpenCV2013-06-02 17:00 1487人阅读 评论(0) 收藏 举报 Mat 转 IplImage Mat image1; IplImage *i ...

  3. testng.xml顺序执行多个case配置

    testng.xml顺序执行多个case配置 项目结构如图:

  4. 【原创】-- nfs安装配置及使用,挂载根文件系统

    环境:ubuntu14.04(非虚拟机),OK6410 环境搭建: (1) #sudo apt-get install nfs-kernel-server 如果已经是最新版本了,无需安装 (2) 建立 ...

  5. 【原创】TP-LINK +ASUS(Tomato) 双无线路由设置WDS

    主路由: TP-LINK TL-WR2041N 连接Internet,LAN IP地址:192.168.1.1,启用DHCP, 无线配置如下: 开启WDS功能,wireless为副路由的SSID,BS ...

  6. C语言 数组 列优先 实现

    C语言数组结构列优先顺序存储的实现 (GCC编译). 从行优先转换为列优先存储方式, 与行优先相比, 不同之处在于改变了数组维界基址的先后顺序, 从而改变了映像函数常量基址. /** * @brief ...

  7. 由Memcached使用不当而引发性能问题的两个经验总结

    在这个cache everywhere的时代,在这个人人都会说分布式缓存的时代,Memcached几乎已成为网站开发中的标配. 作为一名普通的coder,我们在编写缓存代码的时候,很多情况下可能都只是 ...

  8. 使用window2003安装邮件服务器最新实际操作记录

    关于使用windows 2003自带的服务组件来安装简单的pop3 协议邮件服务器网上教程很多,可以搜索出来,就是安装IIS选中smtp和添加window是组件的应用程序服务器,这点这里不多说. 安装 ...

  9. MATLAB实现将图像转换为素描(简笔画)风格

    代码: colorgrad.m function [VG, A, PPG] = colorgrad(f, T) ) || (size(f,)~=) error('Input image must be ...

  10. MySQL联合查询语法内联、左联、右联、全联

    MySQL联合查询效率较高,以下例子来说明联合查询(内联.左联.右联.全联)的好处: T1表结构(用户id,用户名,密码)   userid   username  password 1   jack ...