Показаны сообщения с ярлыком SM50. Показать все сообщения
Показаны сообщения с ярлыком SM50. Показать все сообщения

24 октября 2019 г.

Саповские секретики - VII

Секретик 1.

Транзакция SM50 отображает список рабочих процессов, которые сконфигурированы в текущей SAP инстанции. Количество рабочих процессов разного назначения настраивается через набор SAP параметров вида rdisp/wp_no_*. Нехватка рабочих процессов, в зависимости от типа, приводит к увеличению заданий в очереди ABAP-диспетчера, "зависанию" во время диалоговой работы, задержкам при запуске фоновых заданий и т.п. При чрезмерном количестве рабочих процессов происходит не оптимальное использование ресурсов сервера. Для мониторинга при настройке оптимального количества рабочих процессов инстанции помогут возможности транзакции SM50. На основном экране транзакции на верхней панели есть кнопка "CPU" (рис. 1).

Рис. 1. Начальный экран транзакции SM50.

После нажатия на данную кнопку напротив каждого рабочего процесса появится время, в течении которого соответствующий процесс операционной системы реально использовал ресурсы центрального процессора (рис. 2).


Рис. 2. Отображение реального времени работы рабочего процесса.

Если данное число после 2-4 недель работы инстанции равно 0, значит ABAP-диспетчер ни разу не давал задания данному рабочему процессу. Если вы обнаружили много таких процессов одного типа, то часть из них можно смело удалить. 

Главное не принимайте такое решение на основании короткого времени работы инстанции. Особенно, если у вас есть редкие кратковременные пиковые дни работы системы, а инстанция не пережила такой день после своего старта.

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


Секретик 2.

В транзакции SM04 отображается список пользователей, которые выполнили вход в систему на текущей SAP инстанции. Дополнительно, используя данную транзакцию можно проводить мониторинг версии клиентского программного обеспечения SAP GUI, которое использовал пользователь, а так же IP адрес, с которого был выполнен вход в систему. Для этого на панели на основном экране транзакции необходимо войти в настройки варианта просмотра (рис. 3).

Рис. 3. Настройки варианта просмотра экрана в транзакции SM04.

В диалоговом окне добавить поля "Версия GUI" и "IP-адрес" и нажать кнопку "Скопировать" (рис. 4). 

Рис. 4. Настройка видимых полей транзакции SM04.

После этого в соответствующих полях отобразится информация по пользователям, выполнившим вход в систему (рис. 5).

Рис. 5. Информация по версиям SAP GUI и IP-адресам пользователей.

Секретик 3.

Если SAP система работает на операционной системе UNIX-like, Linux в том числе, то будет полезно знать, что у пользователя операционной системы <sid>adm есть ряд настроенных псевдонимов (aliases) для команд. Например,
  • cdexe - переход в директорию с SAP Kernel.
  • cdpro - переход в директорию с профилями SAP.
  • cdDi - переход в директорию текущей инстанции.

Рис. 6. Пример использования alias для пользователя <sid>adm.

Все активные псевдонимы можно посмотреть выполнив команду alias (рис. 7).



Псевдонимы настраиваются в профайлах пользователя операционной системы. Найти их можно набрав команду в домашней директории пользователя:
grep alias .*

Хотите попробовать администрирование SAP системы в операционной системе Linux?
Посмотрите мои новые обучающие пакеты практических заданий.


Предыдущие выпуски:
Саповские секретики - I,
Саповские секретики - II,
Саповские секретики - III,
Саповские секретики - IV,
Саповские секретики - V,
Саповские секретики - VI.


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


23 сентября 2019 г.

Расширение функциональности транзакции SM04

В статье "Мониторинг рабочих процессов SAP системы" я описывал транзакцию SM50. Данная транзакция используется для мониторинга рабочих процессов ABAP инстанции. Так же в статье упоминалось, что начиная с релиза системы SAP NetWeaver 7.40 SP08, транзакция получила расширенную функциональность и позволяет просматривать рабочие процессы всех инстанций текущей SAP системы. Таким образом, произошла замена функциональности транзакции SM66. При запуске транзакции SM66 в новых релизах SAP систем вызывается транзакция SM50 с расширенным отображением рабочих процессов по всем инстанциям. Запуск старой версии транзакции SM66 возможен через код транзакции SM66_OLD. И в прошлом посте я объяснил, чем она может быть интересна и полезна. 

Теперь хочу рассказать о том, что такие же изменения произошли и в паре транзакций SM04 - AL08. Первая транзакция (SM04) служит для просмотра списка пользователей, выполнивших вход в текущую ABAP инстанцию. В транзакции можно просмотреть список открытых режимов каждого пользователя. Можно закрыть режим пользователя или все режимы, принудительно выбросив пользователя из SAP системы. Это бывает необходимо, например, перед ручным удалением блокировок из таблицы блокировок SAP, о чём я писал тут. Также в транзакции можно просмотреть количество памяти SAP системы выделенной пользователю. Начальный экран транзакции знаком всем тем, кто в той или иной степени приобщён к делу администрирования SAP системы (рис. 1).

Рис. 1. Список пользователей, выполнивших вход в ABAP инстанцию.

Как вы знаете, SAP система поддерживает горизонтальное масштабирование. Производительность уровня сервера приложений SAP может быть увеличена через установку дополнительных диалоговых инстанций, или как их сейчас называют Additional Application Server (AAS). В этом случае для просмотра пользователей, выполнивших вход во все ABAP инстанции текущей SAP системы, необходимо пользоваться транзакцией AL08 (рис. 2).

Рис. 2. Просмотр пользователей по всей системе в транзакции AL08.

В новых версиях SAP систем, основанных на SAP NetWeaver 7.40 SP08 и выше, ситуация немного изменилась. В транзакции SM04 появилась возможность перейти в режим просмотра пользователей по всей системе. Для этого необходимо перейти в пункт меню "Перейти к -> Список по всем системам" (рис. 3).

Рис. 3. Переход к просмотру пользователей по всем инстанциям в транзакции SM04.

После этого в списке появятся пользователи других ABAP инстанций, а в таблицу добавится столбец с именами инстанций серверов приложений (рис. 4).

Рис. 4. Просмотр пользователей по всем инстанциям в транзакции SM04.

И именно этот экран отображается в свежих релизах SAP систем при вызове кода транзакции AL08. 

Для вызова же старой версии транзакции AL08 служит отдельная транзакция - AL08_OLD
Кто-то может быть к ней очень сильно привык. :) 

Отличается она от новой версии, например, тем, что список всех инстанций системы с распределением пользователей по ним отображается сразу в верхней части экрана транзакции (рис. 5). Но каких-то функциональных особых "фишек" я в ней не знаю.

Рис. 5. Отображение ABAP инстанций SAP системы и пользователей в них в транзакции AL08_OLD.

Официально об этом в SAP note 2445935 - AL08 new layout as of EHP7.




19 августа 2019 г.

Мониторинг рабочих процессов SAP системы

Как вы знаете, ядром любой ABAP инстанции SAP системы является ABAP-диспетчер, который управляет рабочими процессами (рис. 1).

Рис. 1. Архитектура ABAP части SAP NetWeaver.

Рабочие процессы разделяются по назначению:
  • диалоговые (DIA) - отвечают за работу диалоговых пользователей системы;
  • фоновые (BTC) - выполняют фоновые задания;
  • обновления (UPD, UP2) - отвечают за обновление данных в таблицах;
  • блокировки (ENQ) - управляют блокировками на уровне сервера приложений;
  • печати (SPO) - отвечают за печать из SAP системы.

Мониторинг рабочих процессов осуществляется в транзакции SM50. Классический вариант транзакции хорошо известен администраторам SAP системы (рис. 2).

Рис. 2. Пример основного экрана транзакции SM50 в системе на SAP_BASIS 620.

Транзакция позволяет выполнять мониторинг всех рабочих процессов текущей инстанции. Процессы могут иметь различный статус - ожидать запросов (простаивать), выполнять задачу, ожидать сообщения или быть остановленными на уровне операционной системы по причине ошибки или сбоя. По каждому процессу можно:
  • просмотреть журнал (пункт меню "Процесс -> Трассировка -> Просмотреть файл"), 
  • перейти в отладку работающей программы (пункт меню "Программа/Режим -> Программа -> Отладка"), 
  • сбросить задачу, работающую на рабочем процессе (пункт меню "Процесс -> Отменить с (без) дампом"),
  • перезапустить процесс после сбоя (пункт меню "Процесс -> Перезапуск после ошибки -> Да").

Для просмотра рабочих процессов всех инстанций SAP системы (в случае использования системы с больше, чем одной ABAP инстанцией) используется транзакция SM66.

В свежих релизах SAP системы (SAP NetWeaver 7.40 SP08 и выше) дизайн и функциональность транзакции SM50 притерпели некоторые изменения (рис. 3).

Рис. 3. Пример транзакции SM50 в системе SAP NetWeaver 7.50.

Появилась возможность просматривать не только все рабочие процессы, но и получить список только активных в текущий момент времени рабочих процессов. Для переключения между этими режимами отображения служат кнопки "Активные рабочие процессы" и "Все рабочие процессы" на панели (рис. 3 и 4).

Рис. 4. Отображение только активных рабочих процессов в транзакции SM50.

Кроме того, в транзакции появилась возможность просмотра рабочих процессов всех диалоговых инстанций текущей SAP системы. Для этого необходимо в меню выбрать пункт "Перейти к -> Список по всем системам" (рис. 5).

Рис. 5. Получение списка всех рабочих процессов SAP системы в транзакции SM50.

Причем, если запустить транзакцию SM66 в новых релизах SAP NetWeaver, то можно увидеть интерфейс очень похожий на SM50 (рис. 6).

Рис. 6. Пример транзакции SM66 в системе SAP NetWeaver 7.50. 

Такая же кнопка переключения между отображением всех процессов или только активных (рис. 6 и 7).

Рис. 7. Пример транзакции SM66 в системе SAP NetWeaver 7.50 с полным списком рабочих процессов.

Дополнительно есть возможность переключить режим отображения рабочих процессов на отображение только по конкретной ABAP инстанции. Для этого в меню транзакции SM66 есть пункт "Перейти к -> Переключить на инстанцию" (рис. 8).

Рис. 8. Переключение в транзакции SM66 на отображение рабочих процессов конкретной инстанции.

Таким образом, складывается ощущение, что в новых версиях SAP NetWeaver транзакции SM50 и SM66 представляют собой практически один и тот же инструмент, с повторяющимися функциями. То есть транзакция SM50 заменяет транзакцию SM66 в старой версии системы. Но это верно только в какой-то степени. И дальше я расскажу почему.

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

По умолчанию транзакция отображает список активных рабочих процессов всех ABAP инстанций SAP системы. Но на панели есть полезная кнопка "Process Selection", нажав на которую появляется возможность в диалоговом окне настроить режимы отображения (рис. 9).

Рис. 9. Настройка режима отображения процессов в старой версии транзакции SM66.

В диалоговом окне можно ограничить выборку рабочих процессов:
  • по типу, 
  • по статусу, 
  • по пользователю, задачи которого обрабатывает процесс,
  • по времени работы задачи на процессе,
  • по таблице, с которой работает процесс,
  • и так далее (рис. 10).

Рис. 10. Ограничение рабочих процессов для отображения в SM66.

Таким образом, поигравшись с настройками, можно выполнять мониторинг процессов, решая разные задачи. Например:
  • отобразить все фоновые рабочие процессы в системе (рис. 11),
  • отобразить все рабочие процессы, работающие больше определённого периода времени,
  • отобразить все рабочие процессы, которые не обрабатывают в данный момент времени запросы пользователей - для того, чтобы понять сколько свободных ресурсов есть в системе (рис. 12).

Рис. 11. Список всех фоновых процессов в SAP системе.

Рис. 12. Список рабочих процессов в статусе "Ожидает".

Но для новых версий систем (SAP NetWeaver 7.40 SP08 и выше) не всё потеряно. Старая версия транзакции SM66 доступна через транзакцию SM66_OLD, за которой скрывается та же программа - SAPMSM66.




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