DBAtlas · Veritabanı operasyon atlası

Sürüm yükseltme / patch geri alma

Belirti

Upgrade/patch sonrası sorun: performans regresyonu, uygulama uyumsuzluğu ya da açılmama.

1. Önce dur: geri dönüş planın var mı?

Prod yükseltmesi ÖNCESİNDE tam yedek + (mümkünse) depolama snapshot'ı almadıysan, en güvenli yol ileri düzeltmektir. Geri alma çoğu veritabanında yedekten dönmek demektir. Bu adım aslında upgrade'den ÖNCE planlanmalıydı.

2. Sorunu sınıflandır

Optimizer plan regresyonu mu (sorgular yavaşladı), uygulama/sürücü uyumsuzluğu mu, yoksa açılmama/bozulma mı? Çözüm yolu buna göre çok değişir.

3. Veritabanına göre geri alma yolu

Oracle: datapatch ile patch rollback ya da Flashback Database (guaranteed restore point aldıysan). PostgreSQL: pg_upgrade sonrası geri dönüş = eski binary + eski data dizininin yedeği. MySQL: in-place DOWNGRADE genelde DESTEKLENMEZ — yedekten dön. SQL Server: sürüm düşürme yoktur — upgrade öncesi yedekten restore. Her durumda: snapshot/yedek senin sigortandır.

4. Plan regresyonu ise: geri almadan çöz

Genelde tüm sürümü geri almak gerekmez; sadece planlar değişmiştir.

Oracle

ALTER SYSTEM SET optimizer_features_enable='19.1.0';  -- eski davranışa sabitle
-- veya SQL Plan Baseline ile iyi planı kilitle

PostgreSQL

ANALYZE;  -- önce taze istatistik
-- gerekirse geçici: SET enable_nestloop=off; gibi ayarlarla planı yönlendir

5. Kalıcı: bir dahakine

Yükseltmeyi önce staging'de gerçek iş yüküyle test et, canary/rolling uygula, guaranteed restore point / snapshot al ve geri dönüş prosedürünü yazılı hale getir.

DBAtlas'ta aç →