首页 > sap系统前台数据与后台表之间_数据治理之SAP软件非生产数据清除方法

sap系统前台数据与后台表之间_数据治理之SAP软件非生产数据清除方法

082d1d4df352fa90e0a9829f88081dca.png作者:JongWill声明:本文章仅用于SAP软件的应用与学习,不代表SAP公司。(注:文中所示截图来源SAP软件,相应著作权归SAP所有。)

我们知道SAP系统软件往往在使用多年后,底层数据库中的数据会变得相当庞大。在使用的过程中会产生一部分非生产(业务)数据,这些数据的存在基本无任何意义,不会影响系统正常运行,更不会影响公司业务正常运营。

近几年,随着企业数字化转型的迫切,企业常年积累的大量数据蕴藏着巨大的经济价值,业务数据化、数据业务化,通过数据分析和挖掘,挖掘出数据资产更多价值。

本文介绍SAP系统之Oracle数据库中LOB类型表空间释放方法,通过特殊手段清理掉,然后经过重组后可释放出大量空间,以减缓数据库增长带来的性能和备份方面的压力。同时,缩小数据治理的范围,提升数据治理的工作效率。

对某公司SAP系统中每月数据库增长量最大的数据库表进行分析时,发现近半年来增长量排列前10的表中,有两个LOB类型的表以每月将近3G的速度增长,占到每月数据增长量的20%~25%左右,经分析发现该表所存放的内容并不是业务数据(或生产数据),可通过SAP提供的标准程序进行清理,然后再对LOB表进行重组。

注:Oracle LOB类型表:即LARGE OBJECT表大对象表,该表存放可以是视频、文档、特殊文件等1G以上的大对象,该表通常作为某个Oracle普通的表的某个字段存在(该普通表的实际字段存储指向LOB类型表的指针),因此命名均由系统生成,仅凭名称无法判断该表用途。

由于SAP生产系统数据量超过600G,近半年公司ERP运维部对数据库增长进行严密的追终,经分析,系统中有2个LOB表增长量极大,如图: 

64f7aca8a90e39d27f392008fe996a65.png

数据增长量排列前三的表中有2个都是LOB类型表:

“SYS_LOB0000402122C00007$$”和“SYS_LOB0000398297C00007$$”

在数据库中的大小分别为 

03790e39ce6597315da8824b2b2952c5.png

d0342f4f3e9a475fd1d284383f6e9252.png

两个表加起来将近占用了50个G的数据空间。

具体处理过程

1.分析LOB表

由于LOB类型表其实存放的是某个oracle普通表的一个字段,所以必须先定位该LOB表属于哪个普通表的什么字段:

e40346e974785e78f3fa7412462014b2.pngb30538c3e24ee95a44355035e7db571d.png6b2161d7e91eb9eb64ef79b6623d085c.png06ae5ad8d0dbf3bd97ba33b866b56ac6.png2.对LOB表所属表分析对SOFFCONT1和SE16N_CD_DATA分析,主要分析数据条目、表大小以及表的功能,使用SE11或SE16分析条目数:203fea76a1e16a19850645d614378eb2.pnge413ba62cb1f53770883fe41a477b2f2.png经过对表的条目数和大小进行分析,发现,这些表条目数都在百万级,意味着如果需要清理,其可清理空间很大。具体分析表大小,如图:778b9cf260df81e54d27e1bdd5834d58.png由于这些表的存储方式采用LOB方式,本表中只存放对LOB表的指针,因此本表大小并不大。只需做LOB的重组即可,不需要将本表重组。分析表作用:7181b05ba4e4061a1f82e9646fa8380e.png经分析SOFFCONT1主要记录SAP工作流相关挂接文档,在本系统中,工作流会自动生成文档提醒用户工作流的操作内容,由于工作流上线时间已有2年,系统中存放了大量自动生成的工作流提醒文档,该文档存放在CLUSTD字段,经分析可将已过期的文档删除,但是需要业务部门的认可。36ccf4ee0e85f27bcbfc003442686304.png经分析SE16N_CD_DATA是记录所有通过SE16N维护表内容操作文档的。其中VALUE字段存放系统自动生成的变更记录文档,由于该表从未清理过,因此SAP上线3年来所有的变更记录均在此表内,因此导致数据量巨大,经分析该表保留3个月内的数据即可。具体数据清理方式由于需要清理的表是SAP标准表,所以绝对不允许使用数据库命令清理,需要通过SAP提供的标准程序进行,可通过SAP官方网站查找相关note,根据note966854可找到相关程序清理表SOFFCONT1,根据note1263844,可清理表SE16N_CD_DATA,清理掉这两个表的多余数据,可大大减少对应LOB表的数据量。重组LOB表当减少LOB表中数据量之后LOB表不会立刻释放,必须进行LOB表进行重组,重组LOB表的方式的步骤如下,以SE16N_CD_DATA为例:在原表上创建一个与现有表字对应LOB表类型相同的临时表ALTER TABLE SAPSR3.SE16N_CD_DATA ADD (VALUE_TEMP CLOB);将现有LOB表的数据拷贝进临时表UPDATE SAPSR3.SE16N_CD_DATA set VALUE_TEMP = VALUE;删除原LOB表ALTER TABLE SAPSR3.SE16N_CD_DATA DROP COLUMN VALUE;重新创建原LOB表ALTER TABLE SAPSR3.SE16N_CD_DATA ADD (VALUE CLOB);将表中数据从临时LOB表中,再拷贝回新创建的LOB表UPDATE SAPSR3.SE16N_CD_DATA SET VALUE = VALUE_TEMP;删除掉临时LOB表ALTER TABLE SAPSR3.SE16N_CD_DATA DROP COLUMN VALUE_TEMP;清理结果以SE16N_CD_DATA为例该表的LOB表“SYS_LOB0000398297C00007$$”,重组前其大小为:如图46344e883cc641ce8c6943b165f0deb3.png经过清理重组后:c9f5a5ba0809739db6fdfa3be0114550.png空间释放了91%左右。由于SAP系统数据库表庞大,表之间关系复杂,在分析数据库表增长量时,遇到增长速度过快LOB类型表时,需要根据本文提供的步骤,先定位该LOB关联的普通表,再分析该表的作用,然后判断是否可清理,最后去查找标准的清理方式,由于SAP是十分成熟的应用系统,其系统日志、记录等相当完善,但是使用一段时间后,都需要制定策略去定期删除,以此保证数据库的空间增长不会太快。最后总结1.在使用SAP标准程序删除包含LOB表的标准表时,由于长期没有清理,会因为LOB表中数据量过大,会导致在删除时系统资源不足,需要酌情调整系统参数,然后再进行删除。2.在重组LOB表时所创建的临时表,会因为数据冲突而导致用户前台操作失败,因此在重组LOB表时,必须确认当时其标准表无任何前台用户使用,因此建议在非工作时间完成此任务。在完成重组后,必须将临时表立即删除。

广而告之:截至目前,SAP中国顾问云之家微信群(纯SAP顾问)已满。现增加SAP中国顾问雾之家微信群(纯SAP顾问),云之家群和精英顾问群在将近4年的管理中,几乎未出现过乱发游戏、广告、招聘等学习无关的垃圾信息,希望更多的顾问朋友加入进来与大家就SAP软件相关进行纯交流、学习。进群直接联系大圣(微信号:potatocorn),非诚勿扰!!

分享是一种精神

209b677babd28aa73587f148ef17545f.gifaf999e0ac35b603bfe949985ccfb870a.png

每一个ERPer都有自己独特的思考和感悟!

                                                                  ---SAP齐天大圣

更多相关:

  • 本文是西门子开放式TCP通信的第2篇,上一篇我们讲了使用西门子1200PLC作为TCP服务器的程序编写,可以点击下方链接阅读:【公众号dotNet工控上位机:thinger_swj】基于Socket访问西门子PLC系列教程(一)在完成上述步骤后,接下来就是编写上位机软件与PLC之间进行通信。上位机UI界面设计如下图所示:从上图可以看出...

  • 我有一个大型数据集,列出了在全国不同地区销售的竞争对手产品。我希望通过使用这些新数据帧名称中的列值的迭代过程,根据区域将该数据帧分成几个其他区域,以便我可以分别处理每个数据帧-例如根据价格对每个地区的信息进行排序,以了解每个地区的市场情况。我给出了以下数据的简化版本:Competitor Region ProductA Product...

  • 作为一名IT从业者,我来回答一下这个问题。首先,对于具有Java编程基础的人来说,学习Python的初期并不会遇到太大的障碍,但是要结合自己的发展规划来制定学习规划,尤其要重视学习方向的选择。Java与Python都是比较典型的全场景编程语言,相比于Java语言来说,当前Python语言在大数据、人工智能领域的应用更为广泛一些,而且大...

  • 这段时间通过学习相关的知识,最大的变化就是看待事物更加喜欢去了解事物后面的本质,碰到问题后解决问题思路也发生了改变。举个具体的例子,我在学习数据分析,将来会考虑从事这方面的工作,需要掌握的相关专业知识这个问题暂且按下不表,那哪些具体的问题是我需要了解的呢,以下简单罗列:1、了解数据分析师这个岗位在各个地区的需求情况?2、数据分析师的薪...

  • 这一节将开始学习python的一个核心数据分析支持库---pandas,它是python数据分析实践与实战的必备高级工具。对于使用 Python 进行数据分析来说,pandas 几乎是无人不知,无人不晓的。今天,我们就来认识认识数据分析界鼎鼎大名的 pandas。目录一. pandas主要数据结构 SeriesDataFrame二...