5 мая 2012 г.

Копирование SAP систем - I. Перенос/восстановление.

Обычно SAP система устанавливается из комплекта дисков, предоставляемых компанией SAP AG. После установки системы требуется выполнить ряд пост-установочных шагов. Таких как, установка дополнительных SAP-компонент, обновление SAP системы до нужного уровня SPS, установки принтера, дополнительного языка, создание рабочего манданта, начальная настройка модуля BASIS, создание пользователей и т.п. Только после этого система будет готова к работе консультантов и пользователей. При данном типе установки мы получаем, так называемую, "чистую систему". В системе нет данных пользователей (master data), нет настроек для бизнес-процессов предприятия. Только то или иное SAP решение (в зависимости от того, что мы устанавливали - SAP ERP (SAP ECC), SAP BI, SAP XI, SAP Solution Manager, SAP CRM и т.д.), состоящее из набора программ, экранов, таблиц, транзакций и инструментарий для доработки этого решения до нужд предприятия или разработки своего.

Но для SAP систем есть такое понятие как копирование системы. Обычно под ним подразумевается создание новой SAP системы из существующей. Это позволяет "убить двух зайцев": перенести собственные разработки/доработки, настройки и данные пользователей в новую систему, а так же освободить технического специалиста от большинства пост-установочных шагов (установка пакетов поддержки, дополнительного языка и т.п.). :-)
В рамках этого перед техническим специалистом может стоять одна из следующих задач:
  • Перенос системы с сохранением SID на новый сервер в рамках той же платформы (Disaster system recovery),
  • Гомогенное копирование системы (Homogeneous system copy),
  • Гетерогенное копирование системы (Heterogeneous system copy).
Рассмотрим первую задачу - необходимо установить SAP систему заново, сохранив содержимое базы данных, SID системы и версию всех SAP компонент. Когда может возникнуть такая задача? Например, при восстановлении аппаратной части сервера после сбоя с переустановкой операционной системы. Или в случае "переезда" на более мощный сервер, но с той же платформой (тип OS, разрядность, СУБД). Получаем очень частный случай гомогенного копирования системы - гомогенное копирование системы с сохранением SID.
Для решения поставленной задачи необходимо иметь:
  • исходный сервер с исходной SAP системой, либо резервная копия исходной системы, куда входит - полное описание системы (что нужно всегда иметь для каждой системы, которую мы обслуживаем), резервные копии базы данных, профилей SAP системы и инстанции базы данных, транспортной системы, текущего ядра SAP системы (не обязательно, но желательно).
  • целевой сервер или восстановленный и готовый к работе сервер,
  • установочные диски операционной системы (если необходимо),
  • установочные диски SAP системы, которую мы будем восстанавливать/переносить.
Последовательность действий следующая (в случае ABAP и ABAP+J2EE систем):
  1. Подготовка исходной информации - резервные копии исходной системы (см. выше).
  2. Подготовка целевого сервера: настройка оборудования, дисковых массивов, установка операционной системы той же версии и разрядности, как и на исходной системе. В рамках одного семейства можно и разные. Например, MS Windows Server 2003 -> MS Windows Server 2008 или HP-UX 11.00 -> HP-UX 11.11, главное бинарная совместимость (тип процессора и разрядность). Настройка файловых систем. Для операционных систем MS Windows обязательное условие - сохранение тех же логических дисков (размер не важен), так как файлы базы данных будут располагаться на тех же дисках, что и на исходной системе. Имя сервера, домен, сетевые настройки должны совпадать с исходным.
  3. Проводим установку SAP системы на целевом сервере (как новой), сверяясь с описанием исходной системы (SID, расположение директорий SAP системы, пароли системных пользователей и т.п.). СУБД устанавливаем той же версии, вплоть до уровня пакетов поддержки. Можно не делать ряд шагов для ускорения процесса. Например, этап сбора ORACLE статистики. 

    Уточнение: для последних версий SAPInst процедура, к сожалению, только такая. Для предыдущих (версии системы SAP R/3 4.6, SAP R/3 4.7 Enterprise) возможно прерывание процесса установки на этапа ImportABAP, так как до этого этапа центральная инстанция со всеми пользователями и службами уже установлена.
  4. После установки, проверив успешность установки и доступность для входа SAP системы, не надо делать никаких пост-установочных шагов. Останавливаем SAP-систему. В случае MS Windows - все службы SAP и ORACLE.
  5. Восстанавливаем файлы базы данных (можно просто пройтись по директориям: дата-файлы, control-файлы, онлайн redologs, профайлы ORACLE). Восстанавливаем SAP-профайлы, директории транспортной системы (настройку транспортной системы, файлы запросов, журналы), ядро SAP системы. 
  6. Запускаем базу данных и SAP систему. Первый запуск будет дольше обычного, как при обновлении SAP ядра
  7. Дополнительный шаг, который вероятно надо будет сделать, установить новую SAP лицензию.


Так как даже при сохранении оборудования сервера активный ключ аппаратных средств может быть сгенерирован заново и не совпасть с тем, что хранится в активной лицензии системы. Поэтому необходимо будет войти в систему пользователем SAP*, в транзакции SLICENSE установить новую лицензию и удалить старую.

В итоге, мы получаем систему идентичную исходной во всём. 

Данный метод переноса системы не стоит использовать при создании новой системы, так как две системы с одинаковым SID-ом не могут существовать в одном ландшафте, и осуществлять переносы между такими системами одно мучение. :-)

Про копии систем я расскажу в следующих постах.


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


20 комментариев:

  1. Хороший и нужный пост!

    ведь у сапа есть привязка к железу (hardware key) и при переезде на новый сервак нужно снова "заказывать" лицензию?

    ОтветитьУдалить
  2. Да,
    ключ аппаратных средств, изображенный на скрине и есть hardware key, который генерируется и зависит от производителя "железа", CPU и даже оперативной памяти. Так что вероятность того, что hardware key сменится, около 99 %. :)

    ОтветитьУдалить
  3. Спасибо! очень интересная статья. с нетерпением жду продолжения!
    Работаю QA и наши продукты имеют тесную интеграцию с SAP. вот сейчас возникла необходимость развернуть SAP у нас со всеми транзакциями и настройками как на работающем оригинале. Ваши статьи для меня -просто манна небесная. Спасибо )

    ОтветитьУдалить
    Ответы
    1. Ну очень здорово быть кому-то полезным. :)

      Удалить
    2. Еще, если позволите, один вопрос/просьба. может у Вас есть мануал/гайд по гомогенному копированию системы для версии SAP 4.7 Enterprise. а то в интернете найти не могу, а доступа к сап маркету у меня нет.
      Заранее благодарю.

      Удалить
  4. Алексей, найдем. :) Напишите мне на почту: shibolov@gmail.com

    ОтветитьУдалить
  5. Вячеслав, а о гетерогенном копировании расскажете? Гомогенное делать приходилось, а вот гетерогенное ещё нет, но скоро предстоит. Хочется быть, так сказать, во всеоружии.

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

      Если гомогенное копирование прошло успешно, то я уверен, что и гетерогенное получится.

      Удачи!

      Удалить
  6. Вячеслав, а у меня после такой процедуры после запуска системы блокироуется пользователь SAPSR3, видимо пароли не совпадают, смена пароля brtools не помогла. После разблокировки, при следующем запуске происходит тоже самое.

    В SYSLOG-ах при запуске все начинается с: "Database: Database error 1017 at CON" , а далее
    1) Database: > ORA-01017: invalid username/password; logon denied.
    2) SAP-Basis System: Initialization DB-Connect Failed, Return Code 000256
    3) SAP-Basis System: Stop Workproc13, PID 3852
    4) Database: > ORA-28000: the account is locked

    Вот проблема целиком, если вам не трудно посоветовать что-нибудь..
    http://sapboard.ru/forum/viewtopic.php?f=14&t=80559

    ОтветитьУдалить
    Ответы
    1. Игорь, добрый день!

      В этой ситуации получилась процедура не восстановления, а гомогенного копирования системы с сохранением SID. А она имеет другую процедуру проведения.
      Что тут можно посоветовать. Либо провести процедуру гомогенного копирования, через SAPInst и следуя инструкции от SAP.
      Либо попробовать сменить OPS$ пользователя в ORACLE. Данный пользователь выглядит как hostname\SAPSR3 (при использовании Windows). Так как hostname поменялся, то и OPS$ пользователь старый не подходит. Посмотри тут - http://help.sap.com/saphelp_nw70ehp2/helpdata/en/fa/bc883989676778e10000000a11402f/content.htm
      и поищи ноты на эту тему.

      Удалить
  7. Вячеслав, добрый день!
    С SAP совсем недавно...
    Выполнял гомогенное о копирование тестовой системы с сохранением SID с помощью SAPinst- systemcopy.
    Единственное но - система приемник имела SAP KERNEL 7.0 SR3 а система источник SAP KERNEL 70.
    Насколько такой вариант имеет право на жизнь? (копия системы завелась и пока работает)
    В этом случае в процессе копирования повышается версия SAP KERNEL.
    Система на Linux.

    П.С. Спасибо за Ваш блог - очень полезно и познавательно...

    ОтветитьУдалить
    Ответы
    1. Роман, в изменении версии ядра ничего страшного нет.

      Удалить
  8. Добрый день Вячеслав,
    у меня сейчас такая же задача, Windows/Oracle --> Windows/Oracle.
    Можно остановиться на пункте 3 "Проводим установку SAP системы на целевом сервере " то бишь устанавливаем пустую БД с таким же SID и в те же директории что и исходная система?
    В пункте 5, я так понял из контекста что происходит обычное копирование файлов БД и SAP (copy-past) из source системы в target при отключенных системах? Если да, то неужели это работает на Windows системах? (проделывал похожее на HP-UX используя fbackup там это работало, однако винда есть винда)

    ОтветитьУдалить
    Ответы
    1. Добрый день!

      Да, проводим установку SAP системы с теми же характеристиками, SID-ами и т.п. А потом заливаем туда базу из исходной системы. Либо восстанавливаем из бэкапа или просто срез всех файлов при остановленных системах.

      Если есть сомнения, то можно пойти по процедуру гомогенного копирования, которую я описывал тут - http://sidadm.blogspot.ru/2013/12/sap-ii.html.

      Удалить
  9. Вячеслав, доброго времени суток!
    Нужен Ваш совет, как профессионала.
    Компания, решила обновить серваки, ПО (Windows, MySQL), соответственно и версию САПа... с 7.0 на 7.01. С послед-м подключением СолМэна.
    Предложил нашей группе провести гетерогенное копирование (т.к. системы полностью меняются), а они говорят сделать просто бэкап и восстановление. В связи с этим, могли бы помочь выбрать метод для нашей задачи?
    с Ув. Андрей

    ОтветитьУдалить
    Ответы
    1. Андрей, добрый день!
      Правильно ли я понял задачу: вы меняете железо, на котором будет установлена более высокая версия ОС (MS Windows) и MS SQL? А потом будете делать апдейт версии SAP с 7.00 -> 7.01 (установка EHP 1)?
      Если это так, то первый этап можно провести просто бэкапом и восстановлением. Здесь я на 100 % уверен в плане ОС, если у вас не изменяется разрядность 32 -> 64. С MS SQL не работал, поэтому сказать не смогу. Но раз товарищи говорят, то может быть это так и есть. С ORACLE такой финт не получится, если не использовать конвертацию через RMAN.

      Второй этап это просто апдейт системы. К копированию системы эта задача отношения не имеет.

      Удалить
    2. Вячеслав,
      Да, все правильно, координально меняется железо, и версия САП.
      Будем пробовать. Тем более, что гетерогенное не подошло, ругается на версию ядра. Обновить не можем, т.к. большие разработки ведутся, и останавливать инстанцию, пока нельзя.
      Уже идет установка новой, и далее накатим бэкапы.

      с Ув. Андрей

      Удалить
  10. Здравствуйте,

    5 шаг восстанавливаем файлы, просто перемещаем файлы БД в "нужные" директории?

    ОтветитьУдалить
    Ответы
    1. Альберт, всё зависит от того, как была сделана резервная копия БД. В случае простого копирования файлов вручную, так же и восстанавливаем - копированием вручную.

      Удалить