27 декабря 2012 г.

Последний пост в 2012 году


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



  Так что вынужден категорически всех поздравить с наступающим Новым Годом! :)



   Мечтайте, планируйте и реализовывайте свои мечты! Не забывайте отдыхать в 2013 году.



   И давайте вспомним слова Стива Джобса:

    Stay Hungry. Stay Foolish.


До встречи в Новом Году!

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


19 декабря 2012 г.

Утилиты для администрирования ORACLE в SAP. Часть II.

В первой части статьи я провел обзор утилит (BR* утилиты), входящих в состав SAP ядра и помогающих администрировать базу данных ORACLE.

К сожалению, программа BR*Tools (в девичестве SAPDBA) является консольной утилитой и, следовально имеет свои плюсы и минусы. В частности, не очень удобный интерфейс взаимодействия с администратором. 

Но это легко устранить установкой отдельного графического интерфейса для утилиты BR*Tools. Графический интерфейс называется BrGui. На момент написания статьи существовало две версии утилиты:
  • BrGui 6.30: позволяет получить графический интерфейс к утилитам BR*Tools 6.20 (с патча 126) и BR*Tools 6.40 (с 11 патча),
  • BrGui 6.40: позволяет получить графический интерфейс к утилитам BR*Tools версии 7.00 и выше. Хотя поддерживает и утилиты, которые поддерживала версия 6.30.
Версию BrGui 6.40 с последним патчем можно найти в SAP note # 769159 - Corrections in BrGui 6.40. Для установки утилиты необходимо скачать ZIP-архив из вышеуказанной ноты и скопировать его на сервер, где установлена SAP система. Распаковать архив. В архиве находится файл readme.txt, где указана информация по установке и запуску утилиты. Содержимое архива можно скопировать, например, в директорию /usr/sap/.

BrGui это Java приложение, поэтому для корректной работы необходимо, чтобы была указана переменная окружения JAVA_HOME. Запуск осуществляется через выполнения файла brgui.bat (Windows NT) или скрипта brgui (Unix). В операционной системе MS Windows есть возможность создать ярлык на выполнение. Для этого следует прописать строку запуска:

cmd /c start /B %JAVA_HOME%\bin\javaw.exe -classpath E:\usr\sap\brgui\lib\sap.com~tc~bl~brgui~impl.jar com.sap.gui.brgui.BrGui
Рабочая директория иконки должна быть "E:\usr\sap\brgui". В качестве иконки можно указать файл E:\usr\sap\brgui\brgui.ico (рис. 1).

Рис. 1. Иконка запуска BrGui в MS Windows.

Перед запуском утилиты можно открыть конфигурационный файл brgui.properties, который располагается в основной директории BrGui. В данном файле необходимо настроить соединение до системы, заменив строку
  brgui.remote-0=<alias> (<remote>) <profile>
на строку, вида:
  brgui.remote-0=SME (localhost)
где, первое - SID SAP система, а в скобках - тип соединения. В данном случае мы коннектимся к локальному хосту.

При запуске утилиты появится окно логина к утилите BR*Tools (рис. 2). При нажатии на кнопку "Logon" мы попадем в основное окно утилиты BR*Tools только в графическом исполнении (рис. 3).

Рис. 2. Окно логона BrGui.

Рис. 3. Графический интерфейс BrGui 6.40.

Через графический интерфейс можно делать все то же, что и через консольный. Вот, например, как выглядит окно раздела "Show instance status" (рис. 4).


Рис. 4. Show instance status.

Последние версии утилиты работают вполне стабильно и чаще быстрее, чем консольный вариант.

Дополнительную информацию можно почерпнуть из SAP note # 611493 - BrGui: Graphical user interface for BR*Tools.

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


10 декабря 2012 г.

Утилиты для администрирования ORACLE в SAP. Часть I.

В статье про ПО SAP на сайте Луркоморья написано: "... В европейском идеале, базисник занимается исключительно сервером приложений и базовой логикой системы — безопасностью, производительностью, управлением изменениями и др. В реальности, этот человек отвечает за СУБД, ОС и даже за железо ...". И, к сожалению, это правда. Но, к счастью, компания SAP AG думает и об этом и предоставляет SAP Basis администратору утилиты для администрирования базы данных ORACLE.

Данные утилиты входят в состав ядра SAP системы, в следствии чего, представляют собой бинарные файлы, и начинаются на BR*. Для удобного доступа к данным утилитам используется программа, которая представляет собой интерактивное меню для выполнения тех или иных операций с базой данных ORACLE. В старых версиях систем (в SAP R/3 4.6C и ORACLE 8i) использовалась программа SAPDBA (рис. 1). В новых версиях систем (с WAS 6.20 и выше) была заменена утилитой BR*TOOLS (рис. 2).

Рис. 1. Утилита SAPDBA.
Рис. 2. Утилита BR*TOOLS.

Кроме изменения дизайна в новой версии, была применена другая концепция перерисовки экрана. Это немного усложнило удобство использования, но позволило отслеживать на экране всю последовательность действий. То есть предыдущий экран утилиты теперь не перерисовывается, как в старой версии, а сохраняется на экране. Всегда можно прокрутить вверх окно терминала и посмотреть действия и команды. Можно сохранить в текстовый файл для последующего анализа или наглядного примера.

Запуск утилиты, как вы уже поняли, осуществляется из командной строки путем ввода команды:
> sapdba
или
> brtools
Версию используемой программы можно узнать, указав ключик "-V".
Запускать следует из под пользователя ora<sid> в Unix системах или <sid>adm в MS Windows.

Для соединения к базе данных используется OPS$ user, так как он не требует пароля с уровня ОС. В утилитах это указывается через параметр "-u /".

При выборе той или иной операции с базой данных автоматически запускается одна из следующих программ:
  • BRBACKUP - осуществляет бэкап базы данных. Журналы работы хранятся в директории /oracle/<SID>/sapbackup.
  • BRARCHIVE - создает копии оффлайн журналов ORACLE (offline redo logs). Журналы работы можно найти в директории /oracle/<SID>/saparch.
  • BRCONNECT - отвечает за различные административные задачи, такие как сбор статистики ORACLE или проверка базы данных. Журналы работы стоит искать в директории /oracle/<SID>/sapcheck.
  • BRRESTORE - восстановление из резервных копий базы данных. Логи в директории /oracle/<SID>/sapbackup.
  • BRRECOVER - новая утилита (с версии 6.20 и выше) восстановления базы данных. Журналы в /oracle/<SID>/sapbackup.
  • BRSPACE - утилита для реорганизации базы данных целиком или по частям. Журналы находятся в директории - /oracle/<SID>/sapreorg.
Для работы используются параметры из профайлов:
  • /oracle/<SID>/<DB_vers>/dbs/init<SID>.sap,
  • /oracle/<SID>/<DB_vers>/dbs/init<SID>.dba.
Данный путь верен для Unix, в Windows надо dbs заменить на database.

При выполнении или планировании операций с базой данных из таких SAP транзакций, как DBACOCKPIT, DB13, DB02, DB14 и т.д, используются эти же утилиты. Правда запуск происходит из под пользователя <sid>adm в Unix и SAPService<SID> в MS Windows.

Старые журналы работы утилит можно удалить с помощью опции "-f cleanup" программы BRCONNECT или, запланировав соответствующее задание в транзакции DB13. По-умолчанию, удаляются журналы старше 30 дней. Период регулируется параметрами cleanup_* в вышеуказанных профилях.

Если возникли ошибки в работе вышеуказанных утилит и, решение не было найдено в базе SAP notes, то можно написать сообщение в службу поддержки, указав компонент BC-DB-ORA-DBA.

За дополнительной информацией можно обратиться к следующим нотам:
- SAP note # 651812 - FAQ: BR*TOOLS and SAPDBA
- SAP note # 12741 - Current versions of BR*Tools and SAPDBA

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


28 ноября 2012 г.

Утилита DPMON

Как я уже говорил в посте про SAP Management Console, в данной утилите, как и в SAP MMC в MS Windows Server, можно, помимо всего прочего, осуществлять мониторинг рабочих процессов (WPs) ABAP инстанции SAP системы на уровне операционной системы.

Иногда это бывает жизненно необходимо. Например, в ситуации, когда заняты все диалоговые рабочие процессы инстанции, вход в систему затруднен. В данном случае, время отклика системы огромно, так как запросы "толкаются" в очереди ABAP-диспетчера. И часто список процессов операционной системы не дает представления о причинах проблемы - процессоры сервера, на котором работает диалоговая инстанция, могут быть не загружены. А в увеличенном времени отклика инстанции могут быть виноваты "тяжелые" процессы к базе данных, которые удерживают диалоговые рабочие процессы диалоговой инстанции за пользователями. Известно, что SAP ABAP инстанции используют принцип мультиплексирования рабочих процессов, что позволяет большему количеству пользователей работать на инстанции с меньшим количеством рабочих процессов. Тут этот принцип может дать сбой и пользователям будет не хватать свободных диалоговых рабочих процессов.

Итак, как еще можно достучаться до таблицы рабочих процессов с уровня операционной системы? В файлах SAP ядра есть утилита DPMON, которая запускается из-под пользователя <sid>adm командой вида:
 > dpmon nr=04 
или
 > dpmon pf=/usr/sap/<SID>/SYS/profile/<SID>_D04_hostname 
здесь 04 - номер диалоговой инстанции, а <SID>_D04_hostname имя её профиля.

Утилита имеет небольшое меню (рис. 1), через которое можно просмотреть статистику очереди диспетчера (рис. 2), таблицу рабочих процессов инстанции (рис. 3), остановить тот или иной рабочий процесс, дабы освободить ресурсы системы и дать остальным пользователям поработать и так далее.

Рис.1. Меню утилиты DPMON.

Рис. 2. Статистика очереди ABAP диспетчера.

Рис. 3. Таблица рабочих процессов ABAP инстанции.

Утилита доступна для всех SAP систем с ABAP стеком и всех операционных систем. В новой версии (на снимках экрана система SAP R/3 4.6C) может немного отличаться в лучшую сторону. Например, добавлением функций для мониторинга J2EE инстанции.

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


22 ноября 2012 г.

Журнальные файлы Oracle и archivelog mode. Часть II.

В первой части поста я остановился на онлайн журнальных файлах. Продолжим.

Онлайн журнальные файлы используются по кругу (рис. 1).

Рис. 1. Запись в онлайн журнальные файлы ORACLE.

После того, как полностью заполнен онлайн журнал группы G11, начинается запись в журнал группы G12 и так далее, пока не дойдет до группы G14. После использования последней группы, процесс записи должен переключиться на первый журнал и начать запись в него. И тут есть 2 варианта. Дело в том, что экземпляр ORACLE может работать в двух режимах:
  • ARCHIVELOG MODE,
  • NOARCHIVELOG MODE,


20 ноября 2012 г.

12 ноября 2012 г.

Журнальные файлы Oracle и archivelog mode. Часть I.

В структуре базы данных ORACLE, которая представлена на рисунке 1, можно выделить 3 крупные части:
  • процессы,
  • области в оперативной памяти,
  • файлы на жестком диске.
Рис.1 Структура СУБД ORACLE.
Выделяют 2 вида процессов. Первый - это фоновые процессы, которые запускаются всегда при запуске экземпляра (инстанции) и выполняют огромное количество операций по обслуживанию базы данных, очистки, журналированию, восстановлению и так далее. Второй тип - это, так называемые, "shadow processes", которые создаются в количестве равном количеству рабочих процессов SAP инстанций, работающих с этим экземпляром базы данных. Они-то и обрабатывают SQL запросы к базе данных со стороны SAP системы.
Также еще есть, отдельно стоящий, процесс сетевого слушателя (ORACLE Listener), который "слушает" определенный сетевой порт (в случае SAP системы, по умолчанию это 1527) и обеспечивает соединение к экземпляру базы данных извне.

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

Ну и наконец, файлы базы данных. Это прежде всего профиль - файл, который используется для инициализации экземпляра базы данных при запуске. Содержит набор параметров и указатели на важные директории базы данных. Хранится и имеет название:
/oracle/<SID>/<ora_version>/database/SPFILE<SID>.ORA.
Контрольный файл базы данных, который содержит структуру базы данных. Очень важен для целостности экземпляра, поэтому хранится в 3 экземплярах. Одну копию можно обнаружить тут - /oracle/<SID>/origlogA/cntrl/CNTRL<SID>.DBF.
Самый большой объем занимают файлы с данными, которые логично распределены между табличными пространствами экземпляра. По-умолчанию, расположены в директориях вида /oracle/<SID>/sapdataX.
Журнальные файлы ORACLE делятся на онлайн и оффлайн. Остановимся на них подробнее.

В журнальные файлы ORACLE записывает все операции, которые производятся с файлами данных. Таким образом, если произойдет сбой, то ORACLE при восстановлении экземпляра сможет повторить все операции с данными в той же последовательности, как это происходило во времени до сбоя. Данные файлы очень важны для работы базы данных, поэтому за ними нужен "глаз да глаз".

По-умолчанию, при создании экземпляра базы данных для SAP системы организуется 4 группы журнальных файлов размером по 50 Мб с дублированием (зеркалированием) каждого. Онлайн журнальные файлы распределены по 4 директориям:
/oracle/<SID>/origlogA/
             LOG_G11M1.DBF
             LOG_G13M1.DBF
/oracle/<SID>/origlogB/
             LOG_G12M1.DBF
             LOG_G14M1.DBF
/oracle/<SID>/mirrlogA/
             LOG_G11M2.DBF
             LOG_G13M2.DBF
/oracle/<SID>/mirrlogB/
             LOG_G12M2.DBF
             LOG_G14M2.DBF
Здесь видно 4 группы G11, G12, G13, G14 с двумя копиями M1 и M2 в каждой.
Данные директории рекомендуется распределять по разным файловым системам с RAID1 или RAID1+0  для приемлемого уровня отказоустойчивости и быстродействия.

Продолжение тут.

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


26 октября 2012 г.

Знакомство


В этом посте хотел бы познакомиться со всеми, кто заходит на этот блог.

Со мной-то все знакомы. Мой профиль можно посмотреть тут.

Пожалуйста, напишите в комментариях к этому посту несколько слов о себе.

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

Спасибо. :)

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


24 октября 2012 г.

SAPControl

В продолжении поста про SAP Management Console стоит упомянуть про утилиту SAPControl. Данная утилита входит в состав SAP kernel (начиная с версии 640 patch level 169) и позволяет выполнят ряд, так называемых, веб-методов процесса sapstartsrv. Утилита является консольной и доступна во всех операционных системах.

Синтаксис и набор опций можно увидеть, если набрать в командной строке имя утилиты без параметров:
> sapcontrol 
SAPControl позволяет производить все те же операции, что и  SAP Management Console, но в консольном режиме.

Основной синтаксис команды следующий:
> sapcontrol [-prot xxx] [-user <user> <password>] [-host <host_name>] -nr <instance number> -function <Web method> 
здесь user - это пользователь sidadm, который имеет полномочия на запуск/останов SAP инстанции,
опция -prot используется для доверительных соединений между хостами с инстанциями одной SAP системы (подробности в SAP note # 927637).
 

22 октября 2012 г.

TCP/IP порты, используемые SAP


SAP системы используют TCP/IP порты для взаимодействия с пользователями и с другими системами. Все эти порты описаны в документе, который доступен тут.
Информация актуальна, документ постоянно обновляется. Полнее списка я не видел.

Ну и бонус, единственная, известная мне, книга про администрирование SAP систем на русском языке - Сигрид Хагеман и Лиане Вилл "SAP R/3 системного администрирование". В очень хорошем качестве, разбитая по главам.

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


15 октября 2012 г.

SAP Management Console

Администраторы, которые обслуживают SAP системы на операционной системе MS Windows Server, знакомы с утилитой SAP MMC. Это стандартная Microsoft Management Console с SAP оснасткой (snap-in), через которую можно запускать/останавливать SAP системы частями или целиком, просматривать журналы, список процессов и так далее (рис. 1).

Рис. 1. SAP MMC в операционной системе MS Windows Server.

В операционных систем Unix для запуска/останова SAP инстанций приходилось использовать консольную утилиту startsap/stopsap с набором опций.

5 октября 2012 г.

SAP NetWeaver: курсы, сертификация.

Из каталога семинаров учебного центра SAP на второе полугодие 2012 года сделал несколько сканов. Странички с планами семинаров, которые касаются администрирования SAP NetWeaver, содержат так же последовательность подготовки к сдаче на сертификат специалиста. По щелчку - большие сканы.

Курсы и сертификаты для системного администраторов SAP


Курсы и сертификат для специалистов по безопасности SAP систем

Курсы по SAP Solution Manager

Данные планы можно использовать при самостоятельном обучении на ту или иную специализацию.

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


3 октября 2012 г.

Материалы курса ADM100 2011 года

Попали мне в руки материалы с курса ADM100 (в бумажном виде), который читают в учебном центре SAP CIS в Москве в этом году. Материал свежий, от 2011 года.

И вот что обнаружил:
  • Глав (Units) теперь всего 10. В материалах 2008 года их было 13. Убрали главы про онлайн документацию (Unit 4: Access to Help), работу и настройку транспортной системы (Unit 8: Working with the Transport System), архивирование данных (Unit 12: Data Archiving). Последняя включена в виде урока в главу "Fundamentals of Working with the Database", правда без практической части.
  • небольшое обновление в архитектуре и терминологии для систем на базе SAP NetWeaver 7.10 и выше:
    - центральная инстанция (Central Instance, CI) теперь Primary Application Server или PAS,
    - диалоговая инстанция (Dialog Instance, DI) теперь Additional Application Server или AAS,
    - функции Java диспетчера (Java dispatcher) теперь выполняет процесс ICM (Internet Communication Manager),
    - SDM упразднен,
    - инстанция Java Central Services (SCS) теперь содержит Gateway Proccess.
    Отсканированная картинка из курса ADM100 2011 года.

  • появился урок про утилиты SAP Management Console и SAPControl, про которые скоро будет новое сообщение.
  • появился небольшой урок про Downtime Management.
  • есть урок по мониторингу и тюнингу RFC (раньше была лишь теория и настройка соединений).
  • очень плотный урок про DBACOCKPIT (транзакция для управления базой данных, которая заменила ряд транзакций типа DB02, DB13, DB12, DB14 и т.п.).
  • в главе Software Maintenance появились уроки про Maintenance Certificate (требуется для работы утилит SPAM, SAINT и JSPM), Maintenance Optimizer (MOpz).
  • в главе про печать из системы появился урок про Printing Assistant for Landscapes (PAL). Это некая центральная система, в которой производится конфигурирование системы печати и распределение конфигурации по другим SAP системам (ABAP стэки). Нужен минимум SAP NetWeaver 6.40. Поддерживает почти все типы печати. 
  • в главе про фоновые задания появился урок про Java утилиту SAP Central Process Scheduling производства Redwood, которая интегрирована в SAP Solution Manager. 
  • в последней главе про мониторинг и решение проблем хороший урок про возможности SAP Solution Manager, с большой пачкой номеров нот и ссылками на документацию.
В целом материал курса показался очень неплохим. Многие уроки показались более конкретные. Минус явный только один - нет главы про транспортную систему. 

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


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

Использовать ли "под кат"?


Я вот подумал - а удобно ли Вам читать мой блог и не стоит ли большие посты скрывать "под кат"? В связи с этим проведем опрос.

Опрос закрыт.

Спасибо за Ваш голос. :)

Результаты: в итоге получилось 50/50. Значит очень большие сообщения буду прятать "под кат". Надеюсь будет не очень ужасно. :)
Спасибо еще раз за участие.

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


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

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


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

Обучение SAP Basis


Предлагаю обучение администрированию SAP систем на базе SAP NetWeaver.

В рамках данного курса можно приобрести следующие навыки:
  • установка SAP системы на базе платформы SAP NetWeaver, 
  • обновление системы (установка SAP notes, пакетов поддержки, дополнений), 
  • настройка системы после установки (русский язык, основные транзакции), 
  • работа с транспортной системой (настройка, мониторинг, перенос запросов),
  • администрирование пользователей и полномочий в SAP системе,
  • управление мандантами,
  • администрирование, резервное копирование и восстановление базы данных,
  • установка и настройка клиентского места SAP GUI,
  • работа с SAP Support Portal.

Обучение включает теоритеческую и практическую части.
Способы обучения и условия обсуждаются индивидуально.

Кто заинтересовался, пишите на shibolov@gmail.com.
Желательно сразу в письме указать информацию о себе, опыт работы администратором систем и цели обучения.

Ну и поздравляю всех с днем знаний. ;)

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


14 августа 2012 г.

SAP JVM 4: установка и переключение

Для своих продуктов компания SAP AG рекомендует устанавливать Java версии 1.4.2_xy. Для большинства платформ подходит Java от компании Sun/ORACLE, а для Linux на x86_64 от IBM (подробности в SAP note 1172419 - Linux: Supported Java versions on the x86_64 platform).

Но начиная с 2011 года, компания SAP AG начала разработку и поддержку собственной версии Java Virtual Machine под названием SAP JVM 4 (параллельно с JVM от Sun и IBM). Мало того, с 1 октября 2012 года будет поддерживаться только собственная разработка компании - SAP JVM 4. Список поддерживаемых платформ и подробности можно найти в SAP notes:


При установки новой системы на базе SAP NetWeaver 7.0 Enhancement Package 3 или выше SAP JVM 4 уже включена в установочный пакет от SAP. А для уже установленных систем компания SAP AG разработала утилиту SAP JVM switch tool для переключения с JVM 1.4.2 на SAP JVM 4. Как скачать утилиту и SAP JVM 4 описано в SAP note 1555341 - Downloading SAP JVM Switch Tool and SAPJVM 4. Искать надо по ссылке http://service.sap.com/patches и ключевому слову "SAP JVM 4". По данной ссылке необходимо скачать, выбрав тип операционной системы, 2 архива:
  • SAPJVMSWITCH<version>.SAR - содержит SAP JVM switch tool,
  • SAPJVM4<version>.SAR - собственно SAP JVM 4 последней версии.

Процедуру переключения на новую SAP JVM 4 покажу на примере SAP Solution Manager 7.01 на платформе Windows x86_64/ORACLE. До обновления использовалась J2SE от Sun/ORACLE версии 1.4.2_22.


Рис. 1. Версия Java до переключения

7 августа 2012 г.

Небольшой апдейт


В результате обновления контента для SLD системы на SAP Solution Manager обновил одноименную инструкцию:

- обновление SAP SLD Software Catalog.

В рамках моего примера была решена задача по обновлению SAP_CR для SLD с версии 5.8 (2010 год) до версии 8.2 (2012 год). В инструкции были переработаны экраны и добавлена ссылка на одну SAP note, которая решает проблему при загрузки большого пакета SAP_CR.

Кто пользуется  - качайте, обновляйте.

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


3 августа 2012 г.

Опрос: важно ли высшее образование


Хотелось бы узнать ваше мнение по поводу высшего образования в целом, ВУЗ-ов и конкретно вашего случая - где учились, как оцениваете потраченные на это 5-6 лет, используете ли в своей работе полученные знания.

Опрос закрыт.

Если есть желание что-то сказать по этой теме дополнительно - пишите в комментариях.
Спасибо. :)

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


2 августа 2012 г.

Logical Volume Manager (LVM) своими руками. Часть IV


Продолжу описывать LVM с практической точки зрения.
Предыдущие части доступны тут:
- Logical Volume Manager (LVM) своими руками. Часть I
- Logical Volume Manager (LVM) своими руками. Часть II
- Logical Volume Manager (LVM) своими руками. Часть III

Еще одна типичная ситуация - это когда необходимо организовать доступ к файловым системам одной Volume Group с разных серверов. То есть физически диски находятся в дисковом массиве, который расположен, например, в SAN-сети (Storage Area Network) и несколько серверов имеют доступ к этим дискам. Такая конфигурация обязательна для организации работы отказоустойчивого кластера на базе MC/ServiceGuard.

Последовательность следующая:
  1. Создать необходимую Volume Group c Logical Volumes и файловыми системами с точками монтирования на одном сервере. Назовем его исходным (host1). 
  2. Отмонтировать файловые системы и деактивировать Volume Group на исходном сервере:
    • # umount /data 
    • # vgchange -a n /dev/vg01  
  3. Создать специальный mapping файл Volume Group на исходном сервере и скопировать его на новый сервер. Назовем его целевым (host2).
    • # vgexport -p -s -m /vg01.map /dev/vg01 - Обратить внимание на опцию -p (режим, когда при экспорте Volume Group vg01 не удаляется на исходном сервере),
    • # rcp /vg01.map host2:/vg01.map 
  4. На целевом сервере подготовить диски, презентованные с дискового массива, которые были включены в Volume Group vg01 на исходном сервере, создать директорию и контрольный файл для Volume Group vg01:
    • # ioscan -fnC disk - если не созданы файлы устройств, то создать командой: # insf -C disk , больше ничего делать с дисками не надо.
    • # mkdir /dev/vg01
    • # mknod /dev/vg01/group c 64 0x010000 - для поиска свободного младшего номера использовать команду: # ls -al /dev/*/group  
  5. Выполнить импорт на целевом сервере, используя mapping файл, полученный в 3 шаге:
    • # vgimport -s -m /vg01.map /dev/vg01 - команда сама найдет нужные диски и добавит их в новую Volume Group; для проверки корректности отработки команды можно использовать команду: # strings /etc/lvmtab 
  6. Теперь можно активировать Volume Group на целовем сервере, сохранить конфигурацию для восстановления, создать точку монтирования, монтировать файловую систему и, если необходимо, то прописать автоматическое монтирование в /etc/fstab:
    • # vgchange -a y /dev/vg01 
    • # vgcfgbackup /dev/vg01 
    • # mkdir /data 
    • # mount /dev/vg01/lvol1 /data 
    • # vi /etc/fstab 
Данным методом можно перенести Volume Groups с одного сервера на другой. В данном случае после переноса их надо удалить на исходном сервере командой:
  • # vgexport /dev/vg01 

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


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 года.

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


20 июля 2012 г.

Вебинар про блейд-сервера Fujitsu

17 июля я присутствовал на вебинаре компании Fujitsu, посвященному линейки их блейд-серверов Fujitsu PRIMERGY BX.

Семейство Fujitsu PRIMERGY BX.
Линейка основана на процессорах Intel Xeon последнего поколения.

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

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

Презентация доступна тут.
Видео-запись вебинара выложил тут.

Для SAP систем недорогие блейд-сервера с типовой конфигурацией идеально подходят для серверов приложений.

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


17 июля 2012 г.

Резервное копирование SAP системы

Систему SAP можно представить в виде 3 компонент:
  • бинарное SAP ядро,
  • профили SAP системы и базы данных,
  • файлы базы данных, где располагается бизнес-логика, состоящая из ABAP-программ и настроек (записи настроечных таблиц), и данные-пользователей.
Все компоненты работают на сервере под управлением одной из операционных систем, поддерживаемой компанией SAP AG. Кроме перечисленного есть еще бинарные файлы СУБД (RDBMS), которые обеспечивают доступ к данным, хранящимся в базе данных и осуществляют функции синхронизации, консистентности данных и т.п.

Компоненты SAP системы.

По частоте изменения вышеуказанные компоненты делятся следующим образом:
  • бинарное ядро SAP системы обновляется только при обновлении SAP системы, в другое время в является неизменяемым набором данных,
  • профили системы и базы данных изменяются редко, только при изменении параметров SAP системы или базы данных,
  • база данных - наиболее динамично изменяющаяся часть системы.
Если не рассматривать уровень операционной системы, то для восстановления SAP системы в случае сбоя необходимо восстановление всех трех компонент. Это можно понять, если прочитать мой пост "Копирование SAP систем - I. Перенос/восстановление".

В зависимости от указанной выше частоты внесения изменений, можно выделить следующие шаги по резервному копированию системы:
  • сохранение текущей версии бинарного SAP ядра после каждого обновления системы (которое включает обновление SAP ядра),
  • сохранение файлов профилей SAP системы и базы данных после каждого изменения параметров системы. Профили SAP системы обычно загружаются в базу данных и изменяются через транзакцию RZ10. Поэтому копия их в базе данных существует. Но я рекомендую все таки делать копию отдельно. Можно просто в директорию на свою рабочую станцию. Благо файлы небольшого размера. 
  • сохранение файлов базы данных я рассмотрю более детально.
База данных ORACLE состоит из нескольких важных частей:
  • дата-файлы, в которых хранится вся информация. Располагаются в директориях /oracle/<SID>/sapdataX.
  • онлайн-журналы работы базы данных. 4 группы по 2 копии каждого журнала. Директории /oracle/<SID>/origlog<A,B> и /oracle/<SID>/mirrlog<A,B>.
  • оффлайн-журналы работы базы данных (если база данных работает в режиме ARCHIVE MODE). Директория /oracle/<SID>/oraarch.
  • control-файлы, в которых содержится вся информация о структуре инстанции базы данных. Обычно 3 копии, которые распределены по поддиректориям директории /oracle/<SID>.

Процедура восстановления базы данных, упрощенно, выглядит следующим образом:
  1. восстановление дата-файлов,
  2. восстановление control-файлов,
  3. применение оффлайн-журналов ORACLE (если необходимо).
Рекомендуемый компанией SAP AG цикл резервного копирования базы данных выглядит так:

Рекомендуемый цикл резервного копирования базы данных.

Цикл состоит из 28 дней.
Каждый день рекомендуется делать онлайн ("горячий") бэкап базы данных.
Каждый день необходимо делать две копии оффлайн-журналов ORACLE в разные директории/на разные ленты.
Раз в цикл необходимо делать хотя бы один оффлайн ("холодный") бэкап базы данных.
Раз в неделю обязательная логическая проверка базы данных и проверка одного созданного бэкапа на наличие ошибок чтения.

Для осуществления процедуры резервного копирования компания SAP поставляет набор утилит BR*TOOLs. В частности, brbackup - для резервного копирования дата-файлов, brarchive для копирования оффлайн-журналов ORACLE.
Конфигурационный файл данной утилиты - init<SID>.sap, который располагается в той же директории, что и профайлы ORACLE.

Можно использовать утилиту резервного копирования RMAN, которую предоставляет ORACLE. Или продукты сторонних производителей, например HP DataProtector.

Я всегда считал, что если есть возможно делать оффлайн бэкап базы данных каждый день, то почему бы не делать. И делал. Оффлай бэкап состоит из следующих шагов:
  1. Останов базы данных. Сервер приложений SAP продолжает работать, но рабочие процессы теряют соединение с shadow-процессами базы данных.
  2. Копия всех дата-файлов и control-файла.
  3. Запуск базы данных. Рабочие процессы SAP инстанции восстанавливают соединение до процессов базы данных.
Онлайн бэкап проходит несколько иначе:
  1. Первое табличное пространство переводится в специальный режим BEGIN BACKUP.
  2. Производится копирование дата-файлов первого табличного пространства.
  3. Первое табличное пространство переводится в нормальный режим работы.
  4. Шаги 1-3 повторяются для всех табличных пространств базы данных.
  5. Создается резервная копия оффлайн-журналов, которые были созданы во время процедуры онлайн бэкапа.
При создании онлайн резервной копии базы данных ORACLE пользователи могут работать с SAP системой, как обычно. При оффлайн - понятное дело, нет.

Но недавно я понял, что при создании оффлайн резервной копии базы данных происходит обнуление буферов ORACLE, так как база данных останавливается. И каждое утро, после ночной резервной копии происходит провал производительности системы до того момента, пока база данных не заполнит буферы данными. Чем больше инстанция и больше буферы, тем больше провал производительности, так как буферы базы данных играют существенную роль.

Исходя из этих рассуждений, мне кажется, что стоит следовать рекомендациям компании SAP AG и создавать ежедневные онлайн резервные копии. А оффлайн делать раз в неделю или реже (но минимум раз в цикл).

Подробности про резервное копирование можно найти в курсе SAP ADM505 - Database Administration (Oracle) - Unit 2.

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


12 июля 2012 г.

Новая версия miniSAP системы

Про предыдущую версию я писал в этом посте. Это была система на основе SAP NetWeaver 7.0.

Новая версия называется SAP NetWeaver AS ABAP 7.02 SP6 32-bit Trial. Также доступна версия 64 бита. По описанию кажется, что версия отличается лишь одной цифрой, да и та только во втором разряде после точки, но на деле все не так просто. Распространяемая версия представляет собой SAP EHP 2 for SAP NetWeaver 7.0 базируемый на новом SAP kernel 7.20 и использует базу данных MaxDB 7.8.01.018. В состав дистрибутива входит последняя версия SAP GUI 7.20.

Скачать можно на портале SAP Community Network: тут (регистрация бесплатная).

Еще одно немаловажное отличие - это новая версия программы установки. Если в предыдущей версии был специально разработанный для miniSAP инсталлятор, то тут всё по-взрослому. Полноценный, правда предварительно сконфигурированный, SAPINST последней версии.

Требования к системе подросли:
  • Windows XP SP2, Windows Server 2003 или Windows Vista. Английская версия.
  • минимум 2 Гб ОЗУ (желательно 4-8 Гб),
  • файл подкачки минимум 6 Гб,
  • Intel Pentium III 1.1 GHz или выше,
  • 50 Гб на HDD (35 Гб занимает система с базой данных после установки),
  • отсутствие установленной SAP системы с SID = NSP и системным номером = 00.
Документацию по установке и использованию искать в start.htm.

9 июля 2012 г.

Fujitsu FlexFrame for SAP

В среду, 27 июня, я участвовал в вебинаре компании Fujitsu, посвященному продукту FlexFrame for SAP.
Основные особенности:
  • с аппаратной точки зрения основано на архитектуре x86, блейд-сервера типовой конфигурации, серьезный дисковый массив. Апгрейд заменой блейдов.
  • в качестве операционной системы используется Suse Linux, причем используется единый образ операционной системы, который производится совместными усилиями компаний Fujitsu и SAP в недрах Вальдорфа. Можно самому патчить образ, если есть желание.
  • с программной точки зрения это отказоустойчивый симметричный кластер.
  • есть веб-интерфейс для мониторинга всей системы.
Контрольная панель Fujitsu FlexFrame for SAP.

  • управление производится с помощью набора команд командной строки shell.
  • на всех серверах установлен FlexFrame agent, который отслеживает состояние не только серверов, но и компонент SAP WAS и базы данных. Причем агент обладает набор предустановленных правил для самостоятельной реакции на то или иное событие (например, перезапуск процесса ORACLE LISTENER в случае его сбоя). 
  • очень масштабируемая система, много вещей делается "из коробки" и с минимумом временных затрат и сил администратора.
Плюсы использования Fujitsu FlexFrame.

В целом, интересное решение. Выложил запись вебинара и презентацию.

Основная страница решения на сайте производителя - тут.

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


5 июля 2012 г.

Вышла новая версия SAP GUI 7.30. Первый взгляд

На днях компания SAP AG обновила релиз клиентского программного обеспечения, выпустив SAP GUI 7.30 for Windows. Установочный диск можно скачать на http://service.sap.com/installations.

Поддержка предыдущей версии SAP GUI 7.20 заканчивается 9 апреля 2013 года.
Новая версия будет поддерживаться до 15 июля 2015 года.

Процесс установки не отличается чем-то особенным. Запускаем PRES1\GUI\WINDOWS\WIN32\SetupAll.exe.

Рис. 1. Установка SAP GUI 7.30 - 1.

2 июля 2012 г.

Logical Volume Manager (LVM) своими руками. Часть III


Это пост является продолжением цикла про LVM (первая часть, вторая часть).

Команды для сбора информации о файловых системах, структуре LVM и т.п.:
  • # bdf - список монтированных файловых систем.
  • # ll /dev/*/group - клевая команда для просмотра контрольных файлов всех Volume Groups сервера. Бывает полезна при поиске свободного minor-номера для новой Volume Group.
  • # cat /etc/fstab - список всех файловых систем, которые монтируются при старте ОС,
  • # vgdisplay -v - информация о всех Volume Groups и 
  • # vgdisplay -v vg01 - о конкретной.
  • # lvdisplay -v /dev/vg01/lvol1 - информация о Logical Volume lvol1, можно попробовать общий случай:
  • # lvdisplay -v /dev/vg01/lv* - информация о всех Logical Volume из Volume Group vg01 (если при создании были паинькой и соблюдали соглашение об именовании: lv* для Logical Volume и vg* для Volume Group).
  • # pvdisplay -v /dev/dsk/c0t1d0 - информация о Physical Volume.
Расширение Volume Group (добавление диска), Logical Volume:
  1. # pvcreate -f /dev/rdsk/c0t2d0 - подготовить диск для подключения к LVM,
  2. # vgextend vg01 /dev/dsk/c0t2d0 - добавить в существующую Volume Group vg01 новый диск.
  3. # lvextend -L 48000 /dev/vg01/lvol1 - расширить Logical Volume lvol1 до размера 48000 МБ.
  4. Расширить файловую систему на lvol1 (до этой операции, хоть диск (Logical Volume) и стал больше, но файловая система не сможет его использовать):
    - # umount /data - отмонтировать файловую систему,
    - # extendfs -F vxfs /dev/vg01/rlvol1 - расширить файловую систему на все свободное место,
    - # mount /data - монтировать расширенную файловую систему,
    - # bdf - проверить новый размер.
Уменьшение файловой системы и Logical Volume делается очень редко, так как перед этим необходимо удалить данные, сделав резервную копию, а после уменьшить файловую систему и Logical Volume командами newfs и lvreduce.

Ломать, не строить. Команды удаления Logical Volume:
  1. # umount /data - отмонтировать файловую систему,
  2. # lvremove -f /dev/vg01/lvol1 - удалить Logical Volume с опцией "force" (не смотря на наличие файловой системы и данных),
  3. # vi /etc/fstab - отредактировать список монтируемых файловых систем при старте ОС,
  4. # vgdisplay -v vg01 - проверить отсутствие Logical Volume.
Удаление физического диска из Volume Group:
  1. # pvmove /dev/dsk/c0t1d0 /dev/dsk/c0t2d0 - переместить данные с диска c0t1d0 на другой диск из Volume Group (если не указывать второй диск, то команда сама разместит на оставшиеся диски в Volume Group, конечно, при наличии места на них),
  2. # pvdisplay -v /dev/dsk/c0t1d0 - проверка того, что на диске нет данных (ни одного физического экстента - PE),
  3. # vgreduce vg01 /dev/dsk/c0t1d0 - удалить диск из Volume Group vg01,
  4. # vgdisplay -v vg01 - проверить изменения.

Удаление Volume Group:
  1. # lvremove -f /dev/vg01/lvol1 - удалить все Logical Volumes,
  2. # vgreduce vg01 /dev/dsk/c0t1d0 - удалить все диски, кроме одного,
  3. # vgremove vg01 - удалить Volume Group vg01,
  4. # rm -ir /dev/vg01 - удалить директорию vg01.
Можно удалить проще: одной командой
- # vgexport /dev/vg01 - удалит всё, ни о чем не спрашивая. :)

Активация/деактивация Volume Group:
  • # vgchange -a n vg01 - деактивирует Volume Group vg01, удаляя ее из LVM-таблицы ядра системы,
  • # vgchange -a y vg01 - активирует Volume Group vg01, делая возможным монтирование файловых систем из нее (автоматическая активация проводится при старте ОС),
  • # vgchange -a r vg01 - активация Volume Group vg01 в режиме "только для чтения".
Последовательности команд верны для файловых систем HFS, JFS. Есть дополнительная опция, которую можно приобрести у HP - Online JFS. Там есть "вкусные вещи", типа уменьшения/увеличения файловой системы без отмонтирования и т.п. Основная команда - fsadm.

Очень скучные посты получаются. :) Остался в плане еще один на эту тему.

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


26 июня 2012 г.

J2SE для инсталляции SAP систем


Для работы утилиты SAPINST, с помощью которой устанавливаются все текущие продукты компании SAP AG, требуется J2SE версии 1.4.2_xy.
Компания ORACLE, в 2010 году купившая разработчика языка Java и виртуальной машины JVMкомпанию Sun Microsystems, занимается разработкой и поддержкой Java-продуктов и J2SE, в частности.

Но проблема в том, что версия 1.4.2 уже давно "канула в лету" и не поддерживается. А SAP в свою очередь не поддерживает в своих продуктах версии J2SE выше данной, то есть новые. Поэтому в 2008 году компания ORACLE открыла специальную линию поддержки данной ветки J2SE с названием "Java SE for Business" и предоставила секретную страницу для скачивания. Подробности в SAP note 1230512 - End of Life of Oracle's J2SE 1.4.2.

Для доступа к секретной ветке необходимо перейти на страницу:
https://java-partner.sun.com/support
Ввести комбинацию пользователь: sap-jfb@sap.com
Пароль: DZwqphsV

В ветке Java 1.4 можно выбрать версию под необходимую операционную систему и скачать.
Подробности в SAP note 716604 - Access to Oracle J2SE and recommended J2SE options.


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