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

26 марта 2014 г.

Копирование манданта SAP системы

Как вы знаете, в SAP системе есть такое понятие как мандант. Мандант системы, с одной стороны, это набор таких данных как: манданто-зависимые настройки (customizing), основные записи пользователей (users) и основные данные или данные приложений (application data, master data) (рис. 1).

Рис. 1. Структура данных в SAP системе.

С другой стороны, с технического ракурса, мандант это набор записей таблиц, у которых поле MANDT = <номер манданта>. На уровне бизнеса же, мандант - это автономная единица в SAP системе для работы предприятия и хранения данных. В теории, два предприятия могут работать в разных мандантах одной системы без какого-либо нарушения целостности и безопасности данных.

Учтите что, в англоязычной литературе, мандант это client.

Мандант имеет номер из трех цифр и, в системе может быть до 1000 мандантов (от 000 до 999).

После установки SAP системы, в зависимости от типа и версии продукта, в ней могут присутствовать несколько стандартных мандантов, таких как, 000, 001 и 066.

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

Существует три вида процедуры копирования:
  • локальная копия манданта,
  • удаленная копия манданта,
  • экспорт/импорт манданта.

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

Процедура выполнения локальной копии следующая:
  1. В транзакции BD54 создать логическую систему для нового манданта.
  2. В транзакции SCC4 создать запись о новом манданте.
  3. Войти в новый мандант системы под псевдо-пользователем SAP* с паролем PASS.
  4. В транзакции SCCL запустить копирование с выбранным профилем для копирования.
  5. Для мониторинга процесса использовать транзакцию SCC3.
Полезные SAP notes:

Удаленная копия манданта (remote client copy) выполняется между двумя системами. Копия выполняется "на лету", то есть физической копии манданта не создается, место на жестком диске не используется. В качестве механизма используется RFC.

Процедура удаленного копирования манданта:
  1. В целевой системе войти в транзакцию BD54 и создать логическую систему для нового манданта.
  2. В целевой системе в транзакции SCC4 создать запись о новом манданте.
  3. В транзакции SM59 создать RFC-соединение до исходного манданта/системы.
  4. Войти в новый мандант системы под псевдо-пользователем SAP* с паролем PASS.
  5. В транзакции SCC9 запустить копирование с выбранным профилем.
  6. Для мониторинга использовать транзакцию SCC3 в целевой системе.
Полезные SAP notes:

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

Рис. 2. Планирование параллельных процессов при копировании манданта.

При выполнении копирования манданта через экспорт/импорт процедура состоит из двух частей: экспорта из исходной системы и импорта в целевую систему. Для проведения процедуры рекомендуется чтобы системы находились в одном транспортном ландшафте. При экспорте создается физическая копия исходного манданта, которая занимает место в транспортной директории.

Процедура экспорта манданта следующая:
  1. В исходной системе/манданте войти в транзакцию SCC8 и запланировать экспорт в транспортные запросы с выбранным профилем.
  2. Мониторинг производится в транзакции SCC3.

Процедура импорта манданта следующая:
  1. В целевой системе в транзакции BD54 создать логическую систему для нового манданта.
  2. В целевой системе в транзакции SCC4 создать запись о новом манданте.
  3. Войти в новый мандант системы под псевдо-пользователем SAP* с паролем PASS.
  4. Войти в транзакцию STMS, найти запросы с экспортом, запустить импорт запросов.
  5. После окончания импорта войти в транзакцию SCC7 и выполнить шаги пост-импорта манданта.
  6. Мониторинг последнего шага в транзакции SCC3.

Прежде чем выполнять любой вид копии манданта следует выполнить расчет необходимого дискового пространства. Об этом я уже писал тут.

Так как копирование манданта процесс длительный, то лучше всего планировать его выполнение в виде фонового задания.

При копировании манданта репозитарий не копируется (рис. 1). При удаленном копировании можно (выбрав соответствующий профиль копирования) скопировать манданто-независимые настройки. Объединить два манданта в один при копировании нельзя.

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

При удаленном копировании и экспорте/импорте необходимо чтобы структура таблиц исходной и целевой системы совпадали. Сравнение можно выполнить на предварительном этапе через кнопку "RFC/сравнение систем" (рис. 3).

Рис. 3. Сравнение структуры таблиц перед удаленным копированием.

Еще полезные SAP notes:

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


23 июля 2012 г.

Стандартные пользователи системы SAP

Как известно, после начальной установки любой SAP системы с ABAP-стэком мы имеем несколько стандартных мандантов:
  • 000 - эталонный мандант, "прародитель" рабочих мандантов системы; в данном манданте производятся работы по обновлению системы, настройке транспортной системы и так далее;
  • 001 - стандартный мандант, "прародитель" рабочих мандантов системы, в некоторых системах  (например, в SAP Solution Manager) может быть использован как рабочий мандант;
  • 066 - так называемый "Early Watch Client"; может быть использован службой поддержки компании SAP AG для доступа к системе клиента для анализа проблем, в частности с производительностью.
Вышеперечисленные манданты не рекомендуется изменять и, тем более, удалять.

В мандантах 000, 001 после установки системы есть 2 стандартных пользователя:
  • SAP* - используется при копировании мандантов, установки/продления лицензии (в случае ее скоропостижного окончания) и т.п.
    Раньше после установки пользователь имел начальный пароль: "06071992", который требовалось изменить в целях безопасности. В новых системах (SAP NetWeaver) во время инсталляции системы изменяется на пароль, указанный в качестве "Master Password":

    Экран установки SAP системы

    При удалении учетной записи остаётся псевдо-пользователь с начальным паролем "PASS", с помощью которого можно войти в систему. Подробности я описывал в посте: Как попасть туда, куда не пускают.

  • DDIC - используется при установке системы, обновлении, настройке и работе транспортной системы и других процессах.
    Блокировка/удаление ведет к останову многих процессов системы.
    Раньше после установки пользователь имел начальный пароль: "19920706", который требовалось изменить в целях безопасности. В новых системах (SAP NetWeaver) во время инсталляции системы изменяется на пароль, указанный в качестве "Master Password".
Иногда во время установки системы, основанной на SAP NetWeaver происходит сбой и, после вроде бы корректной установки, администратор не может войти в систему под стандартными пользователями с "Master Password".
В данном случае стоит попробовать старые стандартные пароли. Кстати, пароль - это дата выпуска первой SAP R/3 системы: 6 июля 1992 года.

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


8 октября 2008 г.

Как попасть туда, куда не пускают

Бывают такие ситуации, когда у Вас оказывается система, в которую Вы не можете войти, так как не знаете ни одну комбинацию пользователь/пароль в один или во все манданты системы.


Для выхода из таких ситуаций SAP придумал пользователя 'SAP*' (sapstar). Итак, последовательность взлома системы:
  1. Если у Вас есть доступ в один из мандантов, входите в него и через RZ11 проверяете значение параметра инстанции login/no_automatic_user_sapstar. Значение по умолчанию для версий системы до NetWeaver 7.0 - 0, а начиная с этой версии - 1. Для нашего плана необходимо выставить в 0. Поэтому, если Вы в системе, то через RZ10 в профиле инстанции выставляете этот параметр в 0. А если доступа в систему нет, то на уровне OS текстовым редактором в профиле инстанции меняем значение параметра. После этого перезагружаем SAP-инстанцию.
  2. Если знаете пароль пользователя system для ORACLE, то входите в ORACLE удаленно. А если не знаете, то подключаетесь локально через SQLPlus (sqlplus /nolog; connect /as sysdba). Далее даём команду
    select * from <DBSchemaOwner>.USR02 where BNAME='SAP*';
    DBSchemaOwner-а можно посмотреть через меню "Система -> Статус". Для 4.6С это обычно SAPR3, начиная с 4.7 - SAP<SID>. В результатах работы запроса можно увидеть в каких мандантах системы есть пользователь SAP*.
  3. Теперь SQL-запросом необходимо удалить пользователя из нужного манданта:
    delete * from <DBSchemaOwner>.USR02 where BNAME='SAP*' AND MANDT='<number>';
    Можно удалить пользователя SAP* из всех мандантов одним SQL-запросом, тогда просто не указываете MANDT в условии where.
  4. Теперь в мандант системы можно войти виртуальным пользователем SAP* с паролем PASS. Из под этого пользователя можно создать своего и работать.
  5. Для закрытия 'дыры' необходимо выставить параметр инстанции login/no_automatic_user_sapstar в 1, перезагрузить инстанцию и создать пользователя SAP* со своим паролем.