У нас есть несколько цепочек процессов, которые выполняются в течение дня, загружая данные из нашей системы SAP R / 3 в SAP BW. Обычно на их выполнение уходит около получаса. На этой неделе они занимали больше часа.
Мы сравнили запуски этой недели с запусками прошлой недели с использованием / SSA / BWT, но время выполнения отдельных шагов загрузки и активации примерно одинаково.
Единственное, что мы заметили, это то, что кажется, что цепочка приостанавливается («В ожидании»), пока SAPLRSSM удаляет данные из TESTDATRNRPART0.
Не удалось найти много информации об этом в Интернете, но, похоже, это временная таблица, которая используется при перемещении данных из таблиц PSA в InfoObject.
Может ли кто-нибудь рассказать нам больше об этой таблице и указать, почему это может занять больше времени, чем обычно?
В конце концов, мы обнаружили (с помощью SAP), что причина того, что удаление из этой таблицы занимало больше времени, чем обычно (а затем приводило к тому, что цепочка процессов длилась дольше), заключается в том, что оптимизатор затрат (CBO) в базе данных Oracle был решив не использовать индекс для этой таблицы.
Причина, по которой он не использовал индекс, заключается в том, что задание DBMS_STATS, которое производит статистику о таблице, выполнялось в то время, когда таблица была пустой.
Решением было жестко запрограммировать статистику для этой одной таблицы, чтобы CBO всегда выбирал план выполнения, который использует индекс. Подробнее в SAP-нота 1020260.