29 августа 2013 г.

Backdoor в SAP

В посте "User Information System" я рассказывал про встроенную систему отчетов, с помощью которой можно по различным критериям получать списки пользователей/полномочий/ролей и т.п. Недавно обнаружил, что в этой системе есть интересный, в какой-то степени даже опасный, нюанс. Заключается он в следующем:
Если мы создадим в системе пользователя с именем "............" (12 точек), то он не будет отображаться ни в одном из списков User Information System.

Для примера возьмем свеженькую систему SAP Solution Manager 7.1 SPS 08 (SAP_BASIS patch level 12). Создадим вышеуказанного пользователя с профилем SAP_ALL (рис. 1, 2).

Рис. 1. Создание пользователя "............".

Рис. 2. Добавление полномочий пользователю "............".

Под данным пользователем можно войти в систему (рис. 3).

Рис. 3. Вход в систему под пользователем "............".

А теперь попробуем этого пользователя найти. Например, с помощью отчета RSUSR002. Зададим в качестве критерия - "все пользователи с профилем SAP_ALL" (рис. 4, 5).

Рис. 4. Экран выбора отчета RSUSR002.

Рис. 5. Результат работы отчета RSUSR002.

Результаты удивительны: нашего пользователя тут нет.

Во таком поведении виноваты несколько строк в инклуде SR002F10 программы RSUSR002 (рис. 6).

Рис. 6. Код программы RSUSR002.

Данный код явно удаляет пользователя "............" из результатов работы отчета RSUSR002.

В компании SAP это назвали 'program error'. Ситуация и ее решение описываются в SAP note # 1844202 - SUIM| RSUSR002 User '............' is not found. А следы ведут нас к SAP note # 694250 - SUIM|RSUSR002: Negative multiple selection for profiles, в которой в злополучный инклуд SR002F10 вставляется кусок кода с вышеуказанными строками.

Как видно из SAP note # 1844202 данная ошибка затрагивает почти все системы с SAP_BASIS от 46B до 740. Мелочь, а неприятно.

На данную тему меня навела статья на сайте habrahabr.ru

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


14 августа 2013 г.

NFS: проблемы при монтировании

Часто при попытке примонтировать файловую систему по NFS (Network File System)  операционная система просто доводит до "белого каления" сообщениями вида:
ERROR:nfs mount: get_fh: server:: RPC: Rpcbind failure - RPC: Timed out
А решение проблемы зарыто не очень глубоко - надо проверить есть ли разница установки времени на NFS-сервере и NFS-клиенте. :)

При мало-мальском расхождении монтировать не хочет.


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


27 июня 2013 г.

Ошибка при обновлении системы SAP Solution Manager 7.1

После установки системы SAP Solution Manager 7.1 (SAP BASIS 702, SAP kernel 720 (401 package level)) делал обновление системы с SPS 04 до SPS 08. В результате во время обновления, на фазе DDIC_ACTIVATION получил ошибку вида:

Рис. 1. Ошибка в SPAM.

При этом в системе генерировались дампы вида:

Рис. 2. Дампы в системе.

Повторные запуски процесса установки результата не принесли, хотя иногда это помогает. :)
Анализ ситуации и поиск решений показал, что для дальнейшего процесса обновления системе необходимы исправления (отчет SDB1FHDB), которые содержаться в SAP note # 1678047 - COMPUTE_INT_PLUS_OVERFLOW during activation.

Но дело в том, что установка коррекций на стандартные объекты в данной ситуации блокирована транзакцией SPAM/SAINT, поэтому автоматическая установка исправлений из ноты с помощью SAP Note Assistant (транзакция SNOTE) невозможна.

Варианта решения два:
  1. Установка исправлений из ноты 1678047 по-старинке, то есть вручную. Делается это из под пользователя с ключом разработчика и с запросом ключа на изменение стандартных объектов SAP. Об этом я писал тут и тут
  2. Откатиться назад с помощью резервной копии базы данных, которую следует обязательно делать перед установкой пакетов поддержки в систему и предварительная установка SAP note 1678047 с помощью SAP Note Assistant перед обновлением системы. 
Я выбрал второй вариант. Восстановление базы из бэкапа (система SAP Solution Manager 7.1 сразу после установки под Windows/ORACLE) заняло чуть больше 1 часа.

Данная нота применима для компонент SAP_BASIS версий 702, 730 и 731.

Надеюсь этот пост поможет кому не наступить на эти "грабли". :)

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


29 мая 2013 г.

BRTOOLS как архиватор



При установке одной из новых SAP систем обнаружил, что в утилите BR*Tools появились кое-какие изменения.

Как вы знаете, при организации бэкап-стратегии для создания резервных копий базы данных можно использовать набор утилит BR*Tools (утилиты BRBACKUP и BRARCHIVE). Данные утилиты позволяют создавать резервные копии базы данных на магнитную ленту или жесткий диск. Настройка вышеуказанных утилит осуществляется через конфигурационный файл init<SID>.sap.

При создании резервной копии, чтобы экономить пространство на носителе, дата-файлы базы данных можно сжимать. До недавнего времени для этих целей использовались небольшие утилиты MKSZIP и UNCOMPRESS, которые SAP поставлял в составе SAP kernel.

Для настройки сжатия в конфигурационном файле были параметры вида:
compress = yes
compress_cmd = "E:\usr\sap\<SID>\SYS\exe\uc\NTAMD64\mkszip -c $ > $"
uncompress_cmd = "E:\usr\sap\<SID>\SYS\exe\uc\NTAMD64\uncompress -c $ > $"
Теперь же в BR*Tools 7.10/7.20 утилиты сжатия были исключены из состава SAP kernel, а за сжатие теперь отвечает сами утилиты SAP BR*Tools. Настройка сжатия при создания резервных копий тепервыглядит так:
compress = brtools
Работает такой вид сжатия только в SAP системах установленных на операционной системе MS Windows. Так же в этой операционной системе утилиты BR*Tools заменили собой утилиты записи на магнитную ленту.
Подробности можно прочитать в SAP note # 1173119 - New function in BR*Tools to replace MKS tools.

Расширение сжатых файлов сменилось с *.Z на *.K.

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


29 апреля 2013 г.

Увеличение SAP temporary license

Любая SAP система для корректной работы требует установки лицензионного ключа (SAP license key). Данный лицензионный ключ запрашивается на SAP Support Portal по ссылке - http://service.sap.com/licensekey. Ключ генерируется под определенный сервер, на основании Hardware Key (специальный ключ, генерируемый на основании аппаратного обеспечения сервера) (рис. 1). Так же лицензия имеет срок действия, который зависит от отношений между клиентом и компанией SAP AG. То есть он может быть выдан на срок от пары недель до бесконечности, которая выражается в 31.12.9999 (при очень хороших отношениях). От этого зависит как часто вы будете запрашивать продление лицензии для ваших систем.

Если лицензионный ключ истек, то в систему можно войти только пользователем SAP*, которым, как вы знаете, много не наработаешь. :)

Лицензионный ключ устанавливается через транзакцию SLICENSE (рис. 1) или утилиту saplicense (на уровне ОС).

Рис. 1. Hardware key и временная лицензия.

Рис. 2. Транзакция SLICENSE.
 
Есть два вида лицензии:
  • старого вида: короткий лицензионный ключ, который устанавливается вручную через специальную форму в транзакции SLICENSE,
  • нового вида: длинный ключ, который выдается в виде специального текстового файла. Установка через этот файл в транзакции SLICENSE (раздел "New Licenses" (рис. 3)).

Рис. 3. Раздел "New Licenses".

После установки любой SAP системы, в системе установлена временная лицензия (SAP temporary license) (рис. 1), которая позволяет проводить с системой пост-установочные операции и спокойно запрашивать постоянную лицензию (рис. 2).

До недавнего времени срок такой временной лицензии был 28 дней. Но у меня хорошая новость для вас. :) Сейчас компания SAP AG увеличила время действия временного ключа до 90 дней.

В SAP нотах указано, что данный период действует для систем на базе SAP NetWeaver AS Java 7.10 и SAP NetWeaver AS ABAP 7.11, но я заметил такое и на системе на базе SAP NetWeaver 7.0 EHP2. Так что, я думаю, что это нововведение для всех последних систем.

Полезные SAP ноты на эту тему:

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


19 апреля 2013 г.

SAP Software Provisioning Manager 1.0

До конца 2010 года компания SAP с каждым дистрибутивом всегда распространяла и набор утилит для операций установки, копирования, обновления систем и т.п.
С апреля 2011 года данные утилиты были выделены в отдельный набор под названием SAP Software Logistics Toolset 1.0 (доступны тут - "https://service.sap.com/sltoolset -> Software Logistics Toolset 1.0") (рис. 1).

Рис.1. Набор утилит SAP Software Logistics Toolset 1.0.

Как вы помните, раньше для установки SAP систем использовался, так называемый, Installation Master disk. Данный диск шел в комплекте с установочными дисками, например, для системы SAP ERP 6.0. В зависимости от ОС/БД, для которой вы хотели провести установку, диск Installation Master содержал файлы для исполнения именно на этой платформе. Основным содержимым этого диска была утилита SAPInst, с помощью которой администратор мог проводить установку/копирование/удаление тех или иных SAP систем (обычно один Installation Master поддерживал несколько систем) (рис. 2).

Рис. 2. SAPInst: начальный экран.

С февраля 2012 года компания SAP для систем на базе SAP NetWeaver 7.0 и выше изменила практику поставки диска Installation Master с каждым комплектом установочных дисков и вынесла утилиту SAPInst в отдельный продукт.
Этот продукт получил, как обычно, и новое название - SAP Software Provisioning Manager 1.0.
Входит он, как вы уже догадались из предыдущего скриншота, в состав Software Logistics Toolset 1.0 (рис 1).

Таким образом, перед установкой новой системы администратор должен войти на ресурс "https://service.sap.com/sltoolset -> Software Logistics Toolset 1.0". Напротив строчки SAP Software Provisioning Manager 1.0 нажать ссылку "Download" и скачать последнюю версию утилиты (рис. 3).

Рис. 3. Доступные для скачивания версии SAP Software Provisioning Manager 1.0.

Как видно из скриншота на данный момент компанией SAP поддерживается 2 версии утилиты:
  • файлы вида 70SWPM*.SAR - для установки систем на базе SAP NetWeaver 7.0 + EHPs,
  • файлы вида SWPM*.SAR - для установки систем на базе SAP NetWeaver 7.1, 7.3, 7.4.
Точный список какой SAP Software Provisioning Manager для установки какой системы используется можно найти в SAP note 1680045 - Release Note for Software Provisioning Manager 1.0.

Для распаковки SAR-архива придется так же скачать SAPCAR архиватор, о котором я писал тут.

Технически SAP Software Provisioning Manager 1.0 представляет собой старый добрый SAPInst (рис. 4 и 5). SAP JVM, как я уже говорил тут, входит в состав утилиты.


Рис. 4. SAP Software Provisioning Manager 1.0: начальный экран.

Рис. 5. SAP Software Provisioning Manager 1.0: информация о версии.

В связи с нововведениями в установочных наборах дисков для SAP систем появилось 2 вида дисков с SAP kernel - один для установки через SAP Software Provisioning Manager, другой, как я понял, для установки по-старинке (рис. 6).

Рис. 6. Разные версии SAP kernel.

В остальном, отличий в поведении новой версии SAPInst при установке SAP систем я не заметил.

Дополнительную информацию о SAP Software Logistics Toolset 1.0 можно найти в
SAP note 1563579 - Central Release Note for Software Logistics Toolset 1.0.

У данного поста было обновление, которое можно найти по ссылке.


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


12 апреля 2013 г.

Конфигурирование SAP системы - III

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

Как вы уже знаете, настроенные значения параметров для конкретной SAP системы хранятся в наборе из 3-х профилей:
  • START_<instance>_<Host name> - стартовый профиль,
  • DEFAULT.PFL - default профиль,
  • <SID>_<instance>_<Host name> - профиль инстанции.
Все профили читаются при старте и являются критической частью любой SAP системы.

Рассмотрим как поведет себя SAP система, когда не обнаружит тот или иной профиль при старте. Я для экспериментов использовал систему на MS Windows Server/ORACLE. У систем на разных платформах есть нюансы, но общее поведение совпадает.
Итак,
  1. Удалим стартовый профиль и попробуем запустить SAP cистему.
    Старт системы не проходит дальше запуска Windows-сервиса SAP<SID>_<sys_number> (рис. 1).

    Рис. 1. Ошибка при старте сервиса SAP<SID>_<sys_number>.