DBAtlas · Veritabanı operasyon atlası

Yükseltme öncesi uyumluluk/hazırlık kontrolü

Oracle

-- 19c ve sonrası önerilen yöntem (AutoUpgrade analiz modu):
-- $ java -jar autoupgrade.jar -config db.cfg -mode analyze
-- Eski/alternatif: preupgrade betiği (yalnız rapor üretir):
-- $ $NEW_ORACLE_HOME/jdk/bin/java -jar $NEW_ORACLE_HOME/rdbms/admin/preupgrade.jar FILE TEXT DIR /tmp

AutoUpgrade 'analyze' modu veriyi değiştirmeden yükseltme öncesi (preupgrade) raporu üretir; düzeltmesi gereken uyarıları ve otomatik çözülecek maddeleri listeler. Gerçek yükseltmeden önce mutlaka çalıştırılır.

PostgreSQL

# Yeni sürümün binleriyle, yalnız uyumluluk kontrolü (veri taşımaz):
$ pg_upgrade \
    --old-datadir=/var/lib/pgsql/16/data \
    --new-datadir=/var/lib/pgsql/17/data \
    --old-bindir=/usr/pgsql-16/bin \
    --new-bindir=/usr/pgsql-17/bin \
    --check

--check hiçbir veriyi değiştirmeden yükseltmenin yapılabilirliğini doğrular (eksik uzantı, uyumsuz veri tipi vb. bildirir). --check eski küme çalışırken de çalıştırılabilir; asıl yükseltme ise her iki küme de kapalıyken yapılır.

MySQL

-- 8.0 ve üzeri: Upgrade Checker yardımcı programı (MySQL Shell):
-- $ mysqlsh -- util check-for-server-upgrade { --user=root --host=localhost }
-- Eski 5.7->8.0 için tablo tutarlılığı:
$ mysqlcheck --all-databases --check-upgrade -u root -p

MySQL Shell'in util.checkForServerUpgrade() işlevi kaldırılan özellikleri, ayrılmış sözcük çakışmalarını ve uyumsuz tanımları raporlar. 8.0'dan itibaren sunucu başlangıçta sözlük yükseltmesini kendisi yapar; ayrı mysql_upgrade artık gerekmez.

SQL Server

-- Data Migration Assistant (DMA) ile masaüstünden çalıştırılır:
-- DmaCmd.exe /AssessmentName=... /AssessmentDatabases=...
-- (Uyumluluk/kullanımdan kalkan özellik ve engelleyici raporları üretir.)

Data Migration Assistant (DMA), eski Upgrade Advisor'ın yerini almıştır; kullanımdan kalkan özellikleri, kırıcı değişiklikleri ve engelleyicileri veritabanı bazında raporlar. Yükseltme öncesi çalıştırılıp bulgular giderilir.

MongoDB

// Mevcut Özellik Uyumluluk Sürümünü (FCV) doğrula:
db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })
// Sürüm notlarındaki uyumluluk maddeleri (deprecation) elle gözden geçirilir.

İkili sürümü yükseltmeden önce FCV'nin mevcut sürüme eşit olması gerekir; aksi halde geçiş engellenir. MongoDB'de otomatik bir 'deprecation tarayıcı' yoktur, sürüm uyumluluk notları elle incelenir.

Redis

# Uygulanamaz: Redis'te ayrı bir yükseltme öncesi hazırlık aracı yoktur.
# Kontrol listesi: RDB/AOF kalıcılık biçimi, değişen yapılandırma yönergeleri
# ve komut/argüman kaldırmaları için ilgili sürümün release notes'u okunur.

Redis yükseltmeleri genelde ileri uyumludur; resmi bir hazırlık tarayıcısı bulunmadığından RDB/AOF dosya biçimi, kaldırılan yapılandırma yönergeleri ve komut değişiklikleri sürüm notlarından elle denetlenir.

Elasticsearch

GET _migration/deprecations
# Belirli bir bileşen için: GET <index>/_migration/deprecations

Deprecation Info API, bir sonraki büyük sürüme geçişte sorun çıkaracak küme, düğüm, index ve ML ayarlarını 'critical' / 'warning' olarak listeler. Kibana Upgrade Assistant da aynı veriyi görselleştirir.

DBAtlas'ta aç →