[ELMA3] Особенности обновления системы ELMA
Для успешного обновления системы и во избежание возможных проблем мы советуем придерживаться приведенных ниже рекомендаций.
Общие рекомендации
- Перед каждым обновлением – не зависимо от того, мажорный или минорный устанавливается релиз, – необходимо обязательно создать резервную копию базы данных или убедиться, что резервная копия уже создана.
- Перед обновлением на мажорный релиз следует сделать и резервную копию содержимого папки с конфигурацией (по умолчанию папка UserConfigс конфигурационными файлами находится в папке: ..\ <Общая папка с файлами системы ELMA>\UserConfig). Это необходимо для того, чтобы впоследствии иметь возможность беспроблемно произвести откат системы до предыдущей версии.
- Рекомендуется выполнять обновление системы сначала на тестовом сервере, и, если всё прошло в штатном режиме, обновлять продуктивный сервер (пример организации работы по схеме "Тестовый – Продуктив" см.: https://www.elma-bpm.ru/kb/article-751.html).
- При наличии дополнительных модулей, их необходимо пересобрать в MS Visual Studio для новой версии системы.
Дополнительные модули устанавливаются/обновляются через пакеты. В пакеты могут быть запакованы файлы исходного кода. При этом клиентский модуль, сконфигурированный для предыдущей версии, может быть не совместим с новой версией системы ELMA. Существует два варианта решения этой проблемы:
1) Пакет с выбранным модулем для новой версии ELMA необходимо положить в папку Packages (~\ELMA3-Standart\Packages).
2) Далее следует открыть клиентский модуль в VS и собрать проект. Если в процессе сборки у вас возникнут ошибки, для их решения используйте методы, описанные в статье: https://www.elma-bpm.ru/kb/article-618.html.
5. При наличии установленных компонентов ELMA Store необходимо следовать инструкции по обновлению системы: https://www.elma-bpm.ru/kb/article-915.html.
6. В случае использования сквозной авторизации, настроенной без установки дополнительного приложения, перед обновлением системы ELMA необходимо выполнить дополнительные шаги, описанные на соответствующей странице справки.
Наиболее частые проблемы обновления
- Версия 3.9 не поддерживает СУБД MS SQL 2005. Если вы используете MS SQL 2005, то перед обновлением на версию 3.9 его следует обновить до версии SQL 2008 и выше.
- Не допускайте "перепрыгивания" через мажорный релиз при обновлении, например, с 3.7 на 3.9. Сначала необходимо обязательно обновить систему до версии 3.8, и только затем можно обновлять до версии 3.9.
- Ошибка в версии 3.9, связанная с Linked Server. Для работы на сервере MSSQL в настоящее время используется механизм Linked Server, который позволяет изолировать транзакции генерации идентификаторов от основной транзакции. При первом запуске система сама попытается создать точку связи, а в случае неудачи – в веб-интерфейс будет выведено сообщение с инструкцией для администратора БД.
- При обновлении (как и при перезапуске веб-сервера после изменений в конфигурации) могут возникать ошибки нарушения целостности базы данных. Они не являются ошибками обновления, а лишь следствиями некорректных действий пользователей\администраторов ELMA, например, некорректного вмешательства в базу данных, удаления записей таблиц и т.п.
Каждое обновление – это частный случай, поэтому не всегда возможно предугадать возникновение нештатной ситуации. Если при обновлении у вас возникли проблемы, обращайтесь в службу технической поддержки компании ELMA: support.elma-bpm.ru.
Различные параметры таймаутов при обновлении
При обновлении существующей базы данных с версии 3.8 на версию 3.9 будет произведено масштабное преобразование базы данных, которое может занять длительное время. Поэтому для обеспечения корректного обновления требуется увеличить таймауты работы с БД. Для этого требуется выполнить ряд шагов:
- В файле Settings.config, расположенном в папке: ..\ <Общая папка с файлами системы ELMA>\Web, указать параметр DbTransformCommandTimeout – значение в секундах. Наша рекомендация – выставлять данный параметр с запасом – в значение 360000 с. Также проверьте файл конфигурации Settings.config в папке: ..\ <Общая папка с файлами системы ELMA>\Web – и в случае, если там присутствует этот параметр, то его также следует установить в значение 360000 с;
- В файле ..\<Общая папка с файлами системы ELMA>\UserConfig\configuration.config найдите тэг <main connectionStringName="MainDB" … /> и добавьте атрибут commandTimeOut="360000", если такого атрибута еще не было. Если указанный атрибут уже присутствует там – просто установите его значение в 360000 с;
- Обновление может занять очень большой промежуток времени; продолжительность процесса обновления в значительной степени зависит от размеров БД и ресурсов на сервере БД. В среднем, база данных размером 100ГБ на сервере с 16ГБ ОЗУ и 4 ядрами 2.4ГГц обновляется около 5-8 часов.
Настройка создания резервной копии
Перед обновлением системы необходимо обязательно создавать резервную копию базы данных. Можно настроить автоматическое создание резервной копии при каждом старте веб-сервера ELMA. Для этого в файле конфигурации configuration.config (о работе с файлами конфигурации можно прочитать здесь: https://www.elma-bpm.ru/kb/article-486.html) в строке <main connectionStringName="MainDB" type="EleWise.ELMA.Extensions.MSSQL.MSSQLProvider, EleWise.ELMA.Extensions.MSSQL" backupPath=""/> должен присутствовать параметр backupPath="". Если его значение не задано, то резервная копия создаётся в директории по умолчанию. Для редакции Стандарт это C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup, для редакции Экспресс – ...\ELMA3-Express\UserConfig. Если параметр backupPath="" заполнен, то резервная копия создаётся по указанному пути, например: backupPath="C:\Newfolder\backup".
Создание бэкапа вручную
Действия по созданию резервных копий подробно описаны в следующих статьях нашей базы знаний:
- работа с базами данных: https://www.elma-bpm.ru/kb/article-386.html;
- резервное копирование базы данных Oracle: https://www.elma-bpm.ru/kb/article-754.html.