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

18 октября 2021 г.

Повышенная нагрузка на систему от процессов rslgsend и rslgcoll

В 2012 году я опубликовал пост, где подробно описал процедуру перехода на новое SAP ядро 7.20 для систем на базе SAP NetWeaver 7.00 - 7.11. На текущий момент SAP ядро 7.20 не поддерживается, а для систем на базе SAP NetWeaver 7.00 - 7.31 рекомендуется перейти на версию ядра 7.22 EX2. Скорее всего данная ветка SAP kernel последняя (для этих версий систем) и будет поддерживаться до конца 2025 года (рис. 1).

Рис. 1. Окончание поддержки SAP kernel 7.22_EX2.

Если кто-то не знает про EX2, поясню. Для финальных версий SAP ядер, выше которых системы переводить не планируется, выпускают дополнительные ядра. Сначала с приставкой EXT, а потом EX2. В эти версии добавляют только самые критичные изменения для поддержки нового оборудования, безопасности или важных функций.

Для перевода систем на SAP ядро 7.22 EX2 следует руководствоваться SAP note # 2115344 - Installation of Kernel 722 (EXT/EX2). Помимо описания вполне стандартной процедуры обновления SAP ядра, там указано несколько нюансов, которые следует учитывать при переводе систем на это ядро. 

Во-первых, системы на базе SAP NetWeaver 7.00/7.01 не поддерживают механизм динамических рабочих процессов, который уже реализован в версиях SAP kernel 7.20 и выше. Про данный механизм я подробно писал в этом посте. Для корректной совместной работы ядра с такой системой эту функцию надо отключить через выставление следующих параметров инстанции:

rdisp/wp_no_restricted = 0
rdisp/configurable_wp_no = 0
rdisp/dynamic_wp_check = FALSE
rdisp/wp_max_no =
<сумма всех сконфигурированных рабочих процессов инстанции>

Второй момент, на который стоит обратить внимание, это новый формат центрального системного журнала SAP системы. Если у вас версия системы, основанная на SAP NetWeaver 7.00/7.01 (рис. 2) и работают процессы, отвечающие за центральный системный журнал (rslgsend и rslgcoll), то могут возникнуть проблемы с производительностью. Я с таким  столкнулся и хочу об этом рассказать.

Рис. 2. Пример версии системы на базе SAP NetWeaver 7.01.

Для начала пару слов о том для чего нужны эти процессы. В SAP системе, установленной на операционную систему Unix (любую её реализацию), в транзакции SM21 можно включить центральный системный журнал, который будет отображать журналы всех инстанций системы. Доступен он через пункт меню "System log -> Choose -> Central System logs". При этом в системах, работающих на операционной системе MS Windows центральный журнал не поддерживается. 

Принцип работы заключается в следующем. SAP ядро в специальной общей области памяти каждой SAP инстанции сохраняет локальный системный журнал (записи об ошибках и событиях инстанции). Выделенный процесс-демон с именем rslgsend пересылает эти записи центральному журналу выделенной инстанции (обычно это центральная инстанция системы). А на этой инстанции в свою очередь другой выделенный процесс коллектор (rslgcoll) собирает все записи вместе. Передача данных осуществляется по протоколу TCP, а процесс коллектор добавляет записи логов в файл центрального журнала, расположение которого задаётся через параметр rslg/central/file.  Вот на этой странице документации можно найти описание этого механизма.

Подробности же настройки упоминаются в SAP note # 25526 - Central system log not available. Стоит отметить, что часто функция центрального журнала активируется автоматически при установке SAP системы. Для старта вышеупомянутых процессов-демонов в стартовые профайлы инстанций добавляются строки для запуска вида:

#---------------------------------------------------------------------
# start rslgcoll
#---------------------------------------------------------------------
_CO =co.sap<SID>_DVEBMGS00
Execute_05 =local ln -s -f $(DIR_EXECUTABLE)/rslgcoll $(_CO)
Start_Program_05 =local $(_CO) -F pf=$(DIR_PROFILE)/<SID>_DVEBMGS00

#---------------------------------------------------------------------
# start rslgsend
#---------------------------------------------------------------------
_SE =se.sap<SID>_DVEBMGS00
Execute_06 =local ln -s -f $(DIR_EXECUTABLE)/rslgsend $(_SE)
Start_Program_06 =local $(_SE) -F pf=$(DIR_PROFILE)/<SID>_DVEBMGS00

Учтите, что здесь "Execute_XX" и "Start_Program_XX" должны иметь свой уникальный порядковый номер в зависимости от остальных аналогичных записей в профайле. 

Всё было бы хорошо, но начиная с версии SAP ядра 7.20 функции центрального журнала перекочевали в Web Services (процесс sapstartsrv), а процессы демоны (rslgsend и rslgcoll) больше не используются. Но системы с SAP_BASIS 7.00 или 7.01 новую версию центрального журнала использовать не могут, а для работы старой версии журнала при переходе на SAP ядро 7.20 процессы демоны передачи и сбора записей должны продолжать свою работу. И в этом случае, при их работе могут возникать коллизии с производительностью.

Процессы демоны начинают потреблять излишнее количество ресурсов: как процессорных (рис. 3), так и генерируя повышенный ввода-вывод на дисковую подсистему. Причем, ввод-вывод идёт на файловую систему, где хранится файл центрального системного журнала. В Unix системах  это директория /sapmnt/<SID>/global/. Ощущение, что процессы вхолостую постоянно пересоздают файл центрального системного журнала.

Рис. 3. Процессы-демоны в топе по потреблению процессорных ресурсов.

Решением данной коллизии является:
  1. Установка через транзакцию RZ10 параметра инстанции rslg/new_layout = 9.
  2. Остановка SAP инстанций.
  3. Удаление файла центрального журнала с уровня файловой системы.
  4. Старт SAP инстанций.

После этого процессы-демоны сразу успокаиваются и больше не тратят ресурсы системы впустую (рис. 4-8).

Рис. 4. Количество процессорного времени, съеденного демонами за неделю
без установки параметра.

Рис. 5. Количество процессорного времени, съеденного демонами за 3 дня
после установки параметра.

Рис. 6. График потребления процессорных ресурсов сервера.

Рис. 7. График нагрузки на СХД по SAN.

Рис. 8. График операций записи в файловую систему /sapmnt сервера.

На графиках разница видна невооружённым взглядом.

Проблема описана в SAP note # 1517379 - Which system log format does the 720 kernel write? Будьте внимательны и выполняйте все рекомендации компании SAP. 


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


22 апреля 2014 г.

Как определить Hardware Key без установки SAP системы

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

Ключевым параметром, по которому происходит привязка лицензионного ключа к оборудованию, на котором установлена SAP система, является Hardware Key, который можно просмотреть через транзакцию SLICENSE (рис. 1).

Рис. 1. Основной экран транзакции SLICENSE.

Есть способ как посмотреть Hardware Key для сервера, на котором еще не установлена SAP система. Для этого необходимо скопировать утилиту saplicense и 3 библиотеки (icu*.dll) из директории с SAP ядром (SAP kernel) для данной платформы на сервер (рис. 2).

Рис. 2. Утилита saplicense с библиотеками.

После этого через командную строку (в данном случае это командная строка MS Windows) войти в директорию с утилитой и выполнить команду вида:
> saplicense -get
Результатом выполнения команды будет Hardware Key (рис. 3).

Рис. 3. Получение Hardware Key без установки SAP системы.

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

13 ноября 2013 г.

Ошибка в BRTools 7.XX

Установив систему SAP NetWeaver 7.4 на платформу Linux/Oracle, обнаружил ошибку при выполнении любой программы из набора утилит BR*Tools (про данный инструментарий я писал тут).

Ошибка появляется как при работе через транзакцию DB13 (DBACOCKPIT) (рис. 1), так и при работе с утилитами на уровне операционной системы (рис. 2).

Рис. 1. Ошибка BR1301 в транзакции DB13.

Рис. 2. Ошибка BR1301 на уровне операционной системы.

По большому счету, это не ошибка, а предупреждение и на работу простых заданий ("Check Database", "Clean Up Logs", "Offline Complete DB Backup" и другие) не влияет. Однако, сообщение есть, глаза мозолит.

Решение проблемы: обновить BR*Tools.

Как видно из данного примера (рис. 1 и 2), здесь мы имеем дело с BR*Tools версии 7.40 с уровнем пакетов поддержки 1. При обновлении SAP ядра (после установки системы SAP ядро 740 с уровнем пакетов поддержки 12) до 37 уровня набор данных утилит не обновляется. Поэтому BR*Tools следует качать и обновлять отдельно.

Процедура похожа на процедуру обновления SAP ядра:
  1. Заходим на сайт поддержки по быстрой ссылке вида: http://service.sap.com/swdc. Переходим по пути для выбора SAP ядра нашей версии:
    "My Company's Application Components -> My Company's Software -> SAP NETWEAVER -> SAP NETWEAVER 7.4 -> Entry by Component -> Application Server ABAP SAP -> KERNEL 7.40 64-BIT UNICODE". В разделе зависимых от Oracle частей ядра находим архив вида DBATL740*.SAR (рис. 3). Скачиваем обновления.
  2. Рис. 3. Скачивание обновлений для утилит BR*Tools.

  3. Распаковываем архив с помощью утилиты SAPCAR.
  4. Останавливаем SAP систему.
  5. Делаем копию директории со старым SAP ядром (/usr/sap/ET4/SYS/exe/uc/linuxx86_64).
  6. Копируем с заменой файлы из архива в директорию с SAP ядром
    (/usr/sap/ET4/SYS/exe/uc/linuxx86_64).
  7. Выполняем из под пользователя root скрипт, выставляющий корректные полномочия для исполняемых файлов ядра:
    # /usr/sap/ET4/SYS/exe/uc/linuxx86_64/saproot.sh <SID>
  8. Запускам систему SAP.
После обновления (в данном примере на BR*Tools версии 7.40 с уровнем пакета поддержки 5) операции выполняются без предупреждений и ошибок (рис. 4).

Рис. 4. Журнал операции в транзакции DB13 после обновления.

Такая ошибка может встречаться в BR*Tools не только версии 7.40, но и в предыдущих.

Подробности по данной теме:
- SAP note # 912969 - BR*Tools 7.00 fails due to license problems,
- SAP note # 12741 - Current versions of BR*Tools.

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


26 сентября 2012 г.

Переход на SAP kernel 720

Во время обновления системы SAP Solution Manager 7.0 EHP 1 обнаружил, что SAP kernel 7.01, которое используется в этой версии системы, на данный момент не поддерживается компанией SAP AG. Поддержка SAP kernels версий 700, 701, 710 и 711 заканчивается 31 августа 2012. Компания SAP AG рекомендует переходить на другие версии SAP kernel. Подробности можно найти в SAP note # 1629598 - SAP Kernel 720 will replace older kernel versions.

В связи с вышеуказанной информацией мною было принято решение переходить на рекомендуемую версию SAP kernel 720.

Процедура перехода немного отличается от стандартной процедуры обновления уровня пакета поддержки для SAP kernel. Подробна она описана в SAP note # 1636252 - Installing a 7.20 kernel in SAP Web AS 7.00/7.01/7.10/7.11.

Итак, для Windows Server 64-bit и СУБД ORACLE последовательность шагов по обновлению c SAP kernel 701 (150 sup.pkg level) на SAP kernel 720 (300 sup.pkg level) следующая:
  1. Скачал файлы с новым SAP kernel 720 для моей платформы (2 части: независимая от СУБД и для ORACLE) и SAP IGS 720.
  2. Остановил SAP систему: сервер приложений и базу данных.
  3. Остановил Windows-сервис SAPOSCOL и удалил его из списка сервисов.
  4. Остановил и деактивировал Windows-сервис SAP<SID><INST_NO>.
  5. Остановил Windows-сервисы ORACLE.
  6. Скачал и установил SAPHOSTAGENT (заменяет SAPOSCOL с SAP NetWeaver 7.1), как описано в SAP note # 1031096 - Installing Package SAPHOSTAGENT (к ноте прикреплена инструкция в PDF).
  7. Сохранил старую версию ядра, переименовав директорию \usr\sap\<SID>\SYS\exe\uc\NTADM64 в NTADM64.SAVE.
  8. Распаковал SAR-архивы с новой версией ядра и SAP IGS в созданную директорию \usr\sap\<SID>\SYS\exe\uc\NTADM64.
  9. Добавил директории и файлы из сохраненной старой версии SAP kernel в новую директорию, как описано в пункте 4 - 4.2 SAP note # 1636252. Данный шаг необходим, так как у меня есть J2EE часть.
  10. Скачал и добавил в данную директорию ORACLE Instant Client для моей версии СУБД. Подробности в SAP note # 998004 - Update the Oracle Instant Client on Windows.
  11. Удалил старое SAP kernel из директории инстанции - \usr\sap\<SID>\<INST_NAME>\exe. 
  12. Запустил вручную обновление SAP kernel для директории инстанции через утилиту SAPCPE, которая копирует SAP kernel из директории \usr\sap\<SID>\SYS\exe\uc\NTADM64 в \usr\sap\<SID>\<INST_NAME>\exe.
  13. Активировал и запустил Windows-сервис SAP<SID><INST_NO>.
  14. Запустил Windows-сервисы ORACLE.
  15. В профиль инстанции с помощью текстового редактора добавил параметр rslg/new_layout=9, который активирует запись в системный журнал SAP инстанции в старом формате. Данный шаг необходим для корректной работы систем на базе SAP NetWeaver 7.0, 7.01, 7.1 и 7.11. Подробности в SAP note # 1517379 - Which system log format does the 720 kernel write? Так же удалил файл системного журнала.
  16. В профиль инстанции с помощью текстового редактора добавил параметры
    rdisp/wp_no_restricted = 0
    rdisp/configurable_wp_no = 0
    rdisp/dynamic_wp_check = FALSE
    Данные параметры отключают новую возможность динамического увеличения рабочих процессов инстанции, которая не поддерживается в системах на базе SAP NetWeaver 7.0 и 7.01.
  17. Запустил SAP систему. Оба стека (ABAP, J2EE) успешно стартовали.
  18. Проверил работу системного журнала в транзакции SM21.
  19. В транзакции RZ10 выровнял профиль инстанции, импортировав его с уровня ОС.
 Переход на новую версию SAP kernel 720 прошел успешно.

Система SAP с новой версией SAP kernel 720

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


21 ноября 2011 г.

Обновление системы на базе SAP NetWeaver 7.0: видео

В дополнение к посту про обновление системы есть пара роликов на youtube.

В первом ролике показан процесс обновления ядра (SAP kernel) системы.


В качестве платформы в ролике использована система SAP ERP 6.0 IDES. Ролики не мои, поэтому есть небольшие комментарии к видео:
  1. Определение текущего уровня SAP kernel - тут все наглядно и правильно.
  2. Загрузка новой версии SAP kernel - этап не показан, подробности можно посмотреть тут.
  3. Распаковка нового SAP kernel - есть избыточность в копировании sapcar. Я раньше делал также, но можно проще: если делать операцию из под пользователя <sid>adm, то у него в переменных окружения прописан путь до бинарных файлов SAP kernel и распаковать можно прямой командой:
    sapcar -xvf ARCHIVE.SAR
    подробности по работе с архиватором SAPCAR.
  4. Замена файлов старого SAP kernel новым - нет двух важных этапов: остановки системы перед копированием и создания резервной копии.
  5. Рестарт системы - если делать правильно, то тут должен быть старт системы.
    По поводу ошибки, которая возникает при старте системы после обновления SAP kernel, решение подробно описано тут.
Таким образом, данный ролик нагляден, но более правильная последовательность обновления описана в моей инструкции по обновлению SAP системы. У кого ролик не открывается, прямая ссылка - http://www.youtube.com/watch?v=MA2rbpPzBJg.

Второй ролик - про обновление SPAM/SAINT.


Этот ролик делал тоже не я. Комментарии:
  1. Распаковка SAR-архива - обратить внимание на директорию, в которой производится операция. Так как пакет небольшого размера, то можно сделать проще - загрузить обновление через SAPGUI и транзакцию SPAM.
  2. Загрузить пакет с обновлением, определить текущую версию SPAM/SAINT.
  3. Процесс обновления.
  4. Рестарт SPAM.
Прямая ссылка на ролик - http://www.youtube.com/watch?v=3_p57YUWjuc.

P.S. За наводку на ролики спасибо Роману Коробову. =)

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


8 ноября 2011 г.

SAPCAR - архиватор компании SAP AG


SAPCAR это утилита для архивирования файлов компании SAP AG. Расширение архивов *.CAR и *.SAR. CAR-архивы использовались компанией до версии системы SAP R/3 4.6C и для работы с ними существовала утилита CAR. На данный момент утилита SAPCAR поддерживает оба формата (новый *.SAR и старый *.CAR). Правда, создает только SAR-архивы. CAR-архивы может читать/тестировать/распаковывать. Обычно в архивы данного формата помещаются пакеты обновления или части установочных дисков систем SAP (например, SAP kernel).

На установленной SAP системе утилиту SAPCAR можно найти в директории с SAP kernel:
UNIX: /usr/sap/<SAPSID>/sys/exe/run/
NT: <drive>:\usr\sap\<SAPSID>\sys\exe\run\
А самая свежая версия для всевозможных операционных систем всегда доступна на сайте SAP Support Portal (quick link - http://www.service.sap.com/patches) по пути "Support Packages and Patches -> Browse Our Download Catalog -> Additional Components -> SAPCAR". Не пугайтесь только расширения *.exe в файлах для UNIX-систем. Это расширение надо просто удалить после того, как скачаете утилиту.

Утилита SAPCAR commandline типа. Основные опции:
  • SAPCAR -cvf ARCHIVE.SAR * - упаковать все файлы и директории из текущей директории в ARCHIVE.SAR,
  • SAPCAR -cvf ARCHIVE.SAR dir - упаковать всю директорию "dir" в ARCHIVE.SAR,
  • SAPCAR -cvf ARCHIVE.SAR dir/* - упаковать все файлы без директорий из директории "dir" в ARCHIVE.SAR,
  • SAPCAR -avf ARCHIVE.SAR file1 file2 file3 - добавить файлы file1, file2, file3 к ARCHIVE.SAR,
  • SAPCAR -xvf ARCHIVE.SAR - распаковать ARCHIVE.SAR,
  • SAPCAR -xvf "ARCHIVE1.SAR ARCHIVE2.SAR" - распаковать 2 архива,
  • SAPCAR -xvf "*.SAR" - распаковать все архивы формата *.SAR из текущей директории.

Подробности об установке утилиты в SAP note 212876 - The new archiving tool SAPCAR, о других опциях - в выводе команды SAPCAR без параметров.

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


25 октября 2011 г.

Обновление системы на базе SAP NetWeaver 7.0


Выложена новая инструкция - обновление системы на базе SAP NetWeaver 7.0 (zip-архив, 1558 Кб).

В данной инструкции на примере обновления системы SAP Solution Manager 7.0 EHP 1 с SPS 20 до SPS 27 показано в подробностях обновление ABAP и J2EE стеков системы, установка нового SAP kernel.

Система установлена на MS Windows 2003 Server с ORACLE 10.2.0.4 на платформу x64.
Инструкция в формате pdf, количество страниц - 24.

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


17 октября 2011 г.

Ошибка в Windows Server после upgrade SAP kernel

При обновлении SAP kernel на сервере с операционной системой MS Windows Server 2003/2008 возможна следующая ошибка:
при первом запуске системы после обновления файлов в директории с SAP kernel, не запускается программа sapcpe (приложение для автоматической синхронизации исполняемых файлов ядра из центральной директории):


Причем SAP система может даже запуститься, только sapcpe не запускается.

Проблема связана с Microsoft ATL и описана в SAP note # 1375494 - SAP system does not start after applying SAP kernel patch.

Необходимо выполнить описанные в ноте шаги (скачать и установить update с сайта Microsoft), и все будет хорошо.



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