UpdateOmegaProduction » История » Редакция 6
Редакция 5 (BEA, 27.08.2024 18:57) → Редакция 6/9 (BEA, 27.08.2024 19:03)
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- не приводят к прерыванию процесса обновления, а заносятся в лог запуска скриптов. Но если в процессе обновления в базе появляются невалидные объекты, то обновление прерывается. Нужно разбираться какие объекты стали невалидными и что к этому привело. Устранять причину, устранять невалидные объекты (компилировать их) и снова запускать обновление.