Replikayı yükselt / failover yap (promote)
Oracle
-- Data Guard broker (DGMGRL):
SWITCHOVER TO 'standby_db'; -- planlı, veri kaybısız
-- FAILOVER TO 'standby_db'; -- primary kaybında, acilSWITCHOVER roller arası planlı geçiştir; FAILOVER primary erişilemezken yapılır ve veri kaybı riski taşır.
PostgreSQL
-- Standby'ı primary'e yükselt:
SELECT pg_promote();
-- veya kabuktan: pg_ctl promote -D /var/lib/pgsql/dataPromote öncesinde eski primary'nin gerçekten durduğundan emin olun (split-brain riski). Yükselttikten sonra eski primary'yi yeni primary'ye replika olarak geri katmak için pg_rewind gerekir; bunun için wal_log_hints = on ya da data checksums açık olmalıdır.
MySQL
-- Replika üzerinde (manuel):
-- 1) Yeni olay almayı durdur, alınmış relay log'un tamamen uygulanmasını bekle:
STOP REPLICA IO_THREAD;
SELECT RECEIVED_TRANSACTION_SET FROM performance_schema.replication_connection_status;
SELECT @@GLOBAL.gtid_executed; -- alınan küme burada tamamen yer almalı
-- 2) Replikasyonu kaldır ve yazmayı aç:
STOP REPLICA;
RESET REPLICA ALL;
SET GLOBAL read_only = OFF; -- super_read_only'yi de kapatır
-- 3) Eski kaynağı yazmaya kapatın (fencing), sonra uygulamayı yönlendirin.Relay log tamamen uygulanmadan RESET REPLICA ALL yapılırsa alınmış ama uygulanmamış işlemler kaybolur. Replikalar genelde read_only/super_read_only açık çalışır; bunlar kapatılmadan yazma kabul edilmez. Eski kaynak hâlâ yazılabilir durumdaysa split-brain riski vardır. Söz dizimi 8.0.22+ (öncesinde STOP SLAVE / RESET SLAVE ALL; 8.4'te eski biçim kaldırıldı). Üretimde otomatik ve güvenli failover için InnoDB Cluster/Group Replication, Orchestrator veya MHA tercih edin.
SQL Server
-- Hedef secondary replika üzerinde (senkron):
ALTER AVAILABILITY GROUP [AG_Ad] FAILOVER;
-- Veri kaybı riskiyle zorla:
-- ALTER AVAILABILITY GROUP [AG_Ad] FORCE_FAILOVER_ALLOW_DATA_LOSS;Planlı failover senkron replikada veri kaybısızdır; FORCE yalnız felaket senaryosunda kullanılır.
MongoDB
// Mevcut primary'de seçim tetikle:
rs.stepDown(60) // 60 sn primary olmaktan çekilstepDown yeni bir seçim başlatır; belirli düğümü zorlamak için üyelerin priority değerlerini ayarlayın.
Redis
# Replikayı bağımsız primary yap:
REPLICAOF NO ONE
# Sentinel varsa (önerilen): SENTINEL FAILOVER <master-adi>Sentinel/Cluster kullanıyorsanız manuel REPLICAOF yerine SENTINEL FAILOVER ile yapın; aksi halde split-brain riski.