Откат обновления версии / патча
Симптом
Проблемы после обновления/патча: регрессия производительности, несовместимость приложения или база данных не открывается.
1. Сначала остановитесь: есть ли план отката?
Если вы НЕ сделали полный бэкап + (по возможности) снимок хранилища ДО обновления production, самый безопасный путь — исправлять вперёд. В большинстве СУБД откат означает восстановление из бэкапа. Этот шаг следовало спланировать ДО обновления.
2. Классифицируйте проблему
Это регрессия плана оптимизатора (запросы замедлились), несовместимость приложения/драйвера или база не открывается / повреждение? От этого сильно зависит путь решения.
3. Путь отката по СУБД
Oracle: откат патча через datapatch или Flashback Database (если вы создали guaranteed restore point). PostgreSQL: откат после pg_upgrade = старые бинарные файлы + бэкап старого каталога данных. MySQL: DOWNGRADE на месте в целом НЕ ПОДДЕРЖИВАЕТСЯ — восстанавливайте из бэкапа. SQL Server: понижения версии нет — восстанавливайте из бэкапа, сделанного до обновления. В любом случае снимок/бэкап — ваша страховка.
4. Если это регрессия плана: исправьте без отката
Обычно откатывать всю версию не нужно; изменились только планы.
Oracle
ALTER SYSTEM SET optimizer_features_enable='19.1.0'; -- pin to the old behavior
-- or lock in the good plan with a SQL Plan BaselinePostgreSQL
ANALYZE; -- fresh statistics first
-- if needed, temporarily: steer the plan with settings such as SET enable_nestloop=off;5. Навсегда: в следующий раз
Сначала протестируйте обновление на staging с реальной нагрузкой, применяйте canary/rolling-обновления, создавайте guaranteed restore point / снимок и документируйте процедуру отката.