UpdateOmegaProduction » История » Редакция 5
Редакция 4 (BEA, 27.08.2024 18:18) → Редакция 5/9 (BEA, 27.08.2024 18:57)
h1. Обновления {{>toc}} h2. Общеее описание обновления Обнволения бывают 2 видов: * Релиз - основное крупное обновления с одной версии на другую * Патч - небольшие обновления и правки *Установка происходит строго последовательно! То есть: релиз->патч 1->патч 2 и так далее* Рекомендуется: * перед обновлением делать бекап базы данных и резервную копию файлов приложения * во время обновления блокировать доступ пользователей Методы установки: * [[UpdateOmegaProduction#Установщик обновлений|установщик обновлений]] (рекомендуется) * копирование файлов приложения и пуск скриптов h2. Установщик обновлений Установщик необходимо запускать на сервере, на котором располагаются исполняемые файлы Омеги. h3. Первый запуск и настройка При первом запуске установщик выдаст сообщение “Укажите в настройках путь к tnsnames.ora". Нужно зайти в пункт “Настройка” и указать путь к tnsnames.ora, в котором есть алиасы к используемым базам. При последующих запусках может появиться сообщение “Не обнаружен tnsnames.ora”. Нужно зайти в пункт “Настройка” и скорректировать путь к tnsnames.ora, в котором есть алиасы к используемым базам. После задания\изменения пути к tnsnames.ora требуется перезапуск установщика. Путь выглядит примерно так: C:\app\product\12.2.0\client_1\network\admin\ h3. Описание установщика Внешний вид установщика: !clipboard-202408211920-rj3vg.png! h4. Закладка Обновление h5. Раздел Экземпляр * *Расположение Расположение приложения Omega Production для обновления* обновления – расположение, можно задать выбрать и удалить расположение исполняемых файлов Омеги. Папка, в котором которой находятся папки App32, App64 или AppC64 * *Версия приложения* Версия приложения – отображает текущую версию приложения из соответствующей папки. Если в расположении отсутствует папка, для которой есть обновление в патче, то будет написано “Отсутствует. Будет обновлено” * *Базы данных* Базы данных – отображает список баз из файла omp_db.ini приложения. Нужно отметить базы, подлежащие обновлению и указать пароль администратора в поле “Пароль”. Тогда в поле “Версия скриптов” отобразится версия скриптов из базы. h5. Раздел Обновление * *Название* Название – название обновления. * *Версия приложения* Версия приложения – указывает на какую версию приложения произойдёт обновление. * *Версия скриптов* Версия скриптов – указывает с какой на какую версию скриптов произойдёт обновление. Если версия скриптов, с какой должно производиться обновление, не совпадает с версиями скриптов выбранных баз, то кнопка “Обновить” будет недоступна. h5. Раздел опций * Делать резервную копию приложения – существующие исполняемые файлы будут скопированы в папку Backups в выбранном расположении. * Устанавливать блокировку баз – в базе выставляется признак обновления (блокировка под администратором), при этом новые пользователи (кроме администратора) не могут зайти в приложение. * Проверять блокировку баз – выполняется проверка, что в базе выставлен признак обновления (база заблокирована под администратором) h4. Закладка Изменения * Отображает список изменений, находящихся в обновлении. h4. Закладка Лог * Отображает лог процесса обновления h3. Использование установщика Установка обновления Необходимо указать расположение исполняемых файлов, выбрать базы для обновления, указать для них пароль, выбрать необходимые опции. Если всё указано правильно и обновление подходит для выбранных баз, то становится доступной кнопка “Обновить”. Процесс обновления запускается нажатием на кнопку “Обновить”. При этом в зависимости от выбранных опций выполняются следующие действия: * Устанавливаются блокировки баз * Выполняется проверка на блокировку баз * Выполняется проверка на отсутствие подключений к базам * Выполняется проверка на отсутствие невалидных объектов в базах * Выполняется резервное копирование исполняемых файлов * Выполняется копирование новых исполняемых файлов * Выполняется проверка версий исполняемых файлов * Выполняется запуск скриптов по базам. Повторный запуск обновления (если он был прерван по ошибке) не приводит к повторному запуску скриптов. Уже пущенные скрипты будут пропускаться. * Выполняется снятие блокировки с баз Если на каком-то этапе произошла ошибка, то процесс обновления прерывается и выдаётся сообщение с указанием ошибки. Так же эта информация заносится в лог. Необходимо устранить ошибки факторы, приводящие к ошибке и запустить обновление заново. Резервное копирование исполняемых файлов повторно можно не делать. h2. Возможные ошибки Список что может привести Некоторые факторы, приводящие к ошибке обновления: * *База • База не заблокирована под админом.* админом. Нужно выполнить блокировку. * *Не • Не вышли все пользователи.* пользователи. Нужно выждать 15 минут после блокировки базы, тогда произойдёт автоматическое закрытие приложения у пользователей. Так же можно отключить сессии пользователей в toad или аналогичном средстве. * *Обнаружены • Обнаружены невалидные объекты.* объекты. Нужно устранить невалидные объекты в базе (скомпилировать их). * *Ошибка • Ошибка при создании резервной копии.* копии. Нужно устранить причины, мешающие копированию файлов * *Ошибка • Ошибка при копировании новых файлов.* файлов. Исполняемые файлы могут быть открыты по сети и это не даёт их перезаписать. В этом случае в логе появляется сообщение @… “… - не удалось скопировать за первый проход@. проход”. Установщик пытается произвести закрытие сетевых подключений для таких файлов, и повторно скопировать. Иногда это не удаётся, тогда процесс копирование прерывается с ошибкой. * *Ошибка • Ошибка при проверке версий новых файлов.* файлов. Нужно проверить, что всё скопировалось правильно и связаться с разработчиками, возможно ошибка в самом обновлении. * *Ошибка • Ошибка при запуске скриптов.* скриптов. Подробную информацию можно найти в логе. Обычные ошибки ora- не приводят к прерыванию процесса обновления, а заносятся в лог запуска скриптов. Но если в процессе обновления в базе появляются невалидные объекты, то обновление прерывается. Нужно разбираться какие объекты стали невалидными и что к этому привело. Устранять причину, устранять невалидные объекты (компилировать их) и снова запускать обновление.