我们有许多流程链在白天运行,将数据从我们的 SAP R/3 系统加载到 SAP BW。他们通常需要大约三十分钟才能运行。本周他们已经占用了一个多小时。
我们使用 /SSA/BWT 将本周运行与上周运行进行了比较,但各个加载和激活步骤的运行时间大致相同。
我们注意到的一件事是,当 SAPLRSSM 从 TESTDATRNRPART0 删除数据时,链似乎暂停(“暂停”)。
还没有设法在网上找到很多关于此的信息,但它似乎是一个临时表,当数据从 PSA 表移动到 InfoObject 时使用。
谁能告诉我们更多关于这张表的信息,并给我们一些指示,为什么它可能比正常时间花更长的时间?
最后我们发现(在 SAP 的帮助下)从该表中删除比正常情况花费更长的时间(然后导致流程链需要更长的时间才能完成)的原因是 Oracle 数据库中的基于成本的优化器 (CBO) 是决定不使用该表的索引。
它不使用索引的原因是生成有关表的统计信息的 DBMS_STATS 作业是在表为空时运行的。
解决方案是硬编码这张表的统计信息,以便 CBO 始终选择使用索引的执行计划。SAP Note 1020260中的更多详细信息。