DBAtlas · Атлас эксплуатации баз данных

Откат обновления версии / патча

Симптом

Проблемы после обновления/патча: регрессия производительности, несовместимость приложения или база данных не открывается.

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 Baseline

PostgreSQL

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 / снимок и документируйте процедуру отката.

Открыть в DBAtlas →