1. 删除过期的后台管理日志和参数,事务码 RSBATCH
点删除选择。
设置30天前的进行删除。每天跑任务。因为历史数据多,第一次执行的事件会非常长,我第一次执行了15000多秒。
SM37中会出现 BI_DELETE_OLD_MSG_PARM_DTPTEMP 这样一条任务。
2. 删除DSO的上传数据日志表和PSA中的文件
se11 - RSTSODSPART表中查出表名。
用SE14 进行一个个表的删除
点最下面那个 删除并调整数据库-删除数据
3. 删除过期日志,事务码SLG2
这个最好也做一个任务,每天执行
4 删除报表统计数据 事务码 RSDDSTAT 执行删除页签
或者执行 SE38 RSDDSTAT_DATA_DELETE
参见下面印度人写的文章。
House Keeping Activities for Archiving in BW Syste... - SAP Community
上一张这位印度大神的照片,辟邪。
5.删除DTP相关数据,也就是RSBM等表的数据,这些表非常巨大,一年会存几千万条数据。
涉及的表极多极大,包括以下这些可删除数据的表。你们可以检查一下系统中这些表有多大了。
RSBMLOGPAR 层次结构日志: 字段/值对
RSBMLOGPAR_DTP DTP Log: Field/Value Pairs
RSBMNODES 层次结构日志: 节点
RSBMONMESS 层次结构日志: 带有消息的表
RSBMONMESS_DTP DTP Log: Table With Messages
RSBMREQ_DTP DTP Log: Status of Header Table
RSCRTDONE Apollo 的 CRT 包增强
RSDELDONE BW: 使用完整更新计划器的删除选择表格
RSHIEDONE 字段计划器的选择表格
RSLDTDONE 被请求信息包和组的文本
RSMONFACT 数据表监视器
RSMONICTAB 监视器 IC 表
RSMONIPTAB 监视器的信息包
RSMONMESS 监视器消息
RSMONRQTAB 请求 IDoc 的监视器表
RSREQDONE 监视器: 保存 QM 条目
RSRULEDONE 调度器选择的 ABAP 代码
RSSELDONE 监视器: 已执行请求的选择
RSTCPDONE 第三方的选择表格; 调度器
RSUICDONE BIW: 用户选择更新 IC 的选择表格
这个需要做归档然后再删除。
归档 参考SAP标准文档:
5.1 首先在事务码SARA中,归档BWREQARCH,写入
5.2 接下来创建一个001的变式,存盘
5.3 然后执行, SM37中会出现一个 ARV_BWREQARCH_WRI20241119154013 的任务。
5.4 等这个任务跑完 执行RSREQARCH_DELETE 这个程序
这时候会发现SM12中大量被锁的字条
5.5 然后发现RSBMREQ_DTP 的数据条数减少了一点。
这玩意手工做非常坑人,每次都只能空出几百兆出来,搞了一下午也就干了一百万条左右数据。可以尝试对上面两步骤做个20分钟间隔的任务或者尝试做一个PC。
PC可以用以下两个ABAP程序
RSREQARCH_WRITE
RSREQARCH_DELETE