Мастер обновления версии
Патч или мажорное обновление, на месте или через миграцию? Спланируйте обновление шаг за шагом; каждая ветка охватывает предварительные проверки, метод и работы после обновления. Отрепетируйте здесь, прежде чем трогать продакшен.
Какое обновление вы выполняете?
Патч/минорная версия (в пределах одной мажорной версии, например 16.2 -> 16.4, или CU для SQL Server) — низкий риск, обычно выполняется на месте (in-place). Мажорная версия (например, 15 -> 16) может включать изменения формата данных и требует более тщательного планирования.
SELECT * FROM v$version;
SELECT patch_id, action, status FROM dba_registry_sqlpatch ORDER BY action_time DESC;- Минорная версия / патч (та же мажорная версия, CU)
- Мажорная версия (меняется первое число версии)
- Не знаю разницы; объясните
Патч или мажорное?
Патч: мажорная версия не меняется (16.2 -> 16.4); формат файлов данных не меняется, обычно замена бинарников + перезапуск. Мажорное: меняется мажорная версия (15 -> 16); каталог/формат может измениться, нужен pg_upgrade / AutoUpgrade / dump-restore, и необходимо протестировать совместимость приложения.
- У меня патч (та же мажорная версия)
- У меня мажорное (мажорная версия меняется)
Готовы ли бэкап и план отката?
Хотя патч и малорисков, золотое правило любого обновления: сначала полный бэкап (и по возможности снимок). Нужна точка возврата на случай, если что-то пойдёт не так.
- Да, бэкап + откат готовы
- Нет, ещё нет
Сначала бэкап + план отката
Подготовьте страховку до начала обновления.
Установка патча
Патч в пределах той же мажорной версии. Поочерёдная установка по кластеру (начиная с реплик) сокращает простой.
Метод мажорного обновления
Два основных пути: (1) На месте: конвертация на существующем сервере (pg_upgrade, Oracle AutoUpgrade/DBUA, MySQL in-place). Быстро, но откатиться сложно. (2) Через миграцию: поднимите новый сервер на новой версии, перенесите данные (через dump/restore или репликацию), затем переключитесь. Безопаснее, с минимальным простоем.
- Сначала выполню проверку подготовки/совместимости
- На месте
- Через миграцию на новый сервер (минимальный простой)
Проверка совместимости / готовности
Перед обновлением соберите предупреждения целевой версии: удалённые (устаревшие) возможности, недействительные объекты, уровень совместимости.
-- AutoUpgrade analyze mode: java -jar autoupgrade.jar -config cfg -mode analyze- Вывод без ошибок — продолжаем
- Есть предупреждения/несовместимости
Сначала устраните предупреждения
Устраните каждое предупреждение из отчёта ДО обновления; иначе обновление может прерваться на полпути или сломать приложение.
Мажорное обновление на месте
Конвертация на существующем сервере. Быстро, но откат обычно означает восстановление из бэкапа, поэтому снимок обязателен.
Обновление через миграцию (минимальный простой)
Поднимите новый сервер на новой версии, перенесите данные, затем переключитесь коротким cutover. Самый безопасный метод; старая система остаётся нетронутой.