Меню

Автоматический запуск/останов SAP-инстанции на Linux

|

Операционная система SUSE Linux Enterprise Server 11, как и HP-UX, в качестве системы инициализации использует SysV. В этом случае процесс инициализации совместим со стандартом операционной системы System V.

Ранее я выкладывал посты (часть 1часть 2) про процесс запуска операционной системы HP-UX. Помимо этого там было описано как настроить автоматический запуск и останов SAP системы вместе с операционной системой. 

Потом, как вы помните, был пост, в котором я описывал процесс миграции системы на платформу x86_64 и операционную систему Linux. Пост назывался "История одной миграции SAP системы или Век живи, век учись! - III". Таким образом, система стала работать на операционной системе SUSE Linux Enterprise Server версии 11 SP4 и встал вопрос как автоматизировать запуск и останов SAP системы уже в данной операционной системе. 

Всё это я веду к тому, что в этот раз хочу рассказать как решил этот вопрос, может быть кому-то пригодится.

Операционная система SUSE Linux Enterprise Server 11, как и HP-UX, в качестве системы инициализации использует SysV. В этом случае процесс инициализации совместим со стандартом операционной системы System V. Тогда как почти все современные, на данный момент, дистрибутивы Linux (и SLES, начиная с версии 12) перешли на новую систему инициализации - systemd. Если кратко, то SysV основан на наборе shell-скриптов, а systemd это огромный программный универсальный комбайн с большим количеством функций (если интересны детали, то начать изучение можно с этого). А описание версий дистрибутивов (и систему инициализации, в частности) можно найти, например, на сайте DistroWatch.com

За основу shell-скриптов для решения поставленной задачи я взял скрипт, которым кто-то из читателей поделился в комментарии к старому посту про HP-UX. Но "из коробки" у меня скрипт не заработал. Точнее при ручном выполнении скрипта всё работало "на ура": система запускалась и останавливалась. А вот при запуске скрипта во время старта операционной системы возникали какие-то проблемы и он не срабатывал. Анализ показал, что в скрипте не работает изящное решение по выделению системного идентификатора SAP системы (и базы данных) SAPSID и DBSID из имени скрипта. То есть по какой-то причине при запуске скрипта процессом init не работал вот этот кусок кода:

FILENAME=`basename $0`

SAPSID=${FILENAME:6:3} 

В итоге, я заменил эти строки на прямое указание идентификатора системы в коде:

SAPSID=DLC 

Здесь DLC - это пример системного идентификатора системы.

Потом было ещё несколько усовершенствований, переделок. В итоге, работающие именно у меня скрипты можно скачать по этой ссылке.

Напоминаю ещё раз, что скрипты служат для автоматизации процесса запуска/останова старой SAP системы (используются скрипты startsap и stopsap) с базой данных Oracle на Linux, использующем систему инициализации SysV.

Инструкция по установке скриптов не сложная:

1. Для настройки запуска/останова SAP инстанции с базой данных Oracle cкопировать скрипт sapctlSID_CI в директорию /etc/init.d, переименовав имя файла и добавив в имя скрипта текущий SAPSID, командой вида:

cp sapctlSID_CI /etc/init.d/sapctl<SID>

2. Отредактировать файл /etc/init.d/sapctl<SID>, изменив в начале скрипта строки:

# Provides:          sapctlSID
и
SAPSID=SID 

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти