15 июля 2019 г.

Блокировки в SAP системе - II

В первой части были рассмотрены вопросы концепции SAP блокировок, реализация механизма и мониторинга блокировок в SAP системе.

Продолжим.

Удаление блокировки вручную

Иногда возникает ситуация, когда оставшаяся в системе, неактуальная, блокировка мешает работе других пользователей. Для решения данной проблемы в транзакции SM12 существует возможность удаления записи блокирования вручную. 

Стоить помнить, что так как механизм блокирования в SAP системе служит для обеспечения целостности данных, пользоваться функцией удаления блокировок следует крайне осторожно. 

Перед удалением блокировки рекомендуется выполнить следующие шаги: 
  • проанализировать запись блокирования,
  • удостовериться, что пользователь (владелец блокировки) вышел из системы (транзакция SM04),
  • удостовериться, что от данного пользователя нет запросов на обновление данных, которые еще не успели выполниться (транзакция SM13).

Если пользователь вышел из системы, а запись о его логине "висит" в SM04, то в первую очередь следует закрыть все режимы пользователя, принудительно выбросив его из системы.

Если выполнение предыдущих шагов не привело к удалению записи из таблицы блокировок, то удалить блокировки вручную. Для этого выделить строку с записью блокирования и на панели нажать кнопку «Удалить», подтвердив серьёзность своих намерений в диалоговом окне (рис. 1).

Рис. 1. Удаление записи блокирования вручную.

Диагностика и решение проблем

Для проверки работы механизма блокирования можно выполнить его диагностику. Для этого на основном экране транзакции SM12 выбрать пункт меню «ДополнИнфо -> Диагностика». Программа совершит попытку установки тестовой блокировки, после чего выведет результаты на экран (рис. 2).

Рис. 2. Диагностика механизма блокировки в SAP.

Узким местом при настройке сервера блокировок может быть таблица блокировок (lock table). Размер таблицы блокировок ограничен параметром инстанции - enque/table_size. Единицей измерения параметра являются Кб, а спектр значений зависит от версии SAP: от 4 096 до 102 400, а в более свежих версиях верхний предел увеличен до 2 000 000 (рис. 3). По-умолчанию, в свежих релизах устанавливается - 64 000 Кб.

Рис. 3. Конфигурация размера таблицы блокировки в системе SAP NetWeaver 7.5.

В зависимости от сконфигурированного размера таблицы система устанавливает ограничения на максимальное количество записей, владельцев и аргументов, которое может быть сохранено в таблице. Например, при 4 096 Кб это число - около 5 000 (точное число отличается от версии к версии). Просмотреть максимальные значения таблицы блокировок можно, перейдя на основном экране транзакции SM12 в пункт меню «ДополнИнфо -> Статистика». Система отобразит максимальные и пиковые значения за время работы системы (рис. 4).

Рис. 4. Статистика работы сервера блокировок.

Проблемой может стать переполнение таблицы блокировок. В случае возникновения этой ситуации новые блокировки в системе не устанавливаются, а в системном журнале (транзакция SM21) появляются соответствующие сообщения. Работа системы парализуется до тех пор, пока не удалятся блокировки в таблице, освободив место для новых записей. Ошибка может возникать в следующих ситуациях:
  • настроен недостаточный размер таблицы блокировок, 
  • не корректно написано приложение, создавшее одновременно много блокировок,
  • проблемы с обновлением в системе (транзакция SM13).  

Заполнение таблицы блокировок необходимо периодически отслеживать с помощью транзакции SM12 (рис. 4). Значение в поле «Максим. уровень заполнения» не должно быть больше 90-95% от максимального возможного числа.


Еще одним узким местом может стать рабочий процесс блокировок при классической реализации сервера блокировок (первая часть статьи). При высокой нагрузке на механизм блокировок возможна конфигурация больше чем одного рабочего процесса блокировок. В больших инсталляциях возможно увеличение до 4-х рабочих процессов. Дополнительную информацию можно найти в SAP note # 127773 - Several enqueue work processes.

Дополнительная информация

страница SAP Enqueue Server на сайте wiki.scn.com,
SAP note # 746138 - Analyzing lock table overflows,
SAP Lock Concept на SAP Help Portal (версия для SAP NetWeaver 7.5).
SAP note # 552289 - FAQ: R/3 lock management,
SAP note # 1565578 - Lock Table Overflow.


Автор: Шиболов Вячеслав Анатольевич


Комментариев нет:

Отправить комментарий