DBAtlas · Veritabanı operasyon atlası

Replikasyon gecikmesi / durdu

Belirti

Standby/replika geride kalıyor ya da tamamen durdu; okuma replikaları bayat veri gösteriyor.

1. Gecikme ne kadar, artıyor mu sabit mi

Lag saniye/byte cinsinden ne? Sabit bir offset mi yoksa sürekli büyüyor mu? Büyüyorsa replika uygulamaya yetişemiyordur; sabitse anlık bir tıkanma olmuştur.

Oracle

SELECT name, value, unit FROM v$dataguard_stats WHERE name LIKE '%lag%';

PostgreSQL

SELECT client_addr, state, write_lag, flush_lag, replay_lag FROM pg_stat_replication;

MySQL

SHOW REPLICA STATUS\G  -- Seconds_Behind_Source

SQL Server

SELECT ar.replica_server_name, drs.redo_queue_size, drs.log_send_queue_size FROM sys.dm_hadr_database_replica_states drs JOIN sys.availability_replicas ar ON drs.replica_id=ar.replica_id;

Redis

INFO replication  # master_repl_offset vs slave offset

2. Replikasyon çalışıyor mu, hata var mı

IO/SQL thread durumu, apply süreci, bağlantı kopmuş mu? Bir hata varsa (ör. çakışan satır, eksik tablo) apply durmuştur; hata mesajını oku.

MySQL

SHOW REPLICA STATUS\G  -- Replica_IO_Running / Replica_SQL_Running / Last_Error

PostgreSQL

SELECT status, last_msg_receipt_time, latest_end_lsn FROM pg_stat_wal_receiver;  -- standby üzerinde

Oracle

SELECT process, status, sequence#, thread# FROM v$managed_standby WHERE process LIKE 'MRP%' OR process LIKE 'RFS%';

3. Darboğazı bul

Neden yetişemiyor? Tek thread apply + ağır yazma yükü mü (PG/MySQL çoğunlukla seri apply), standby'da IO darboğazı mı, ağ mı, uzun bir sorgu apply'ı bloklamış mı (PG hot_standby_feedback / recovery conflict)?

4. Gecikmeyi kapat

Apply'ı hızlandır: paralel apply aç (MySQL replica_parallel_workers — 8.0.26 öncesinde slave_parallel_workers, PG yoktur ama recovery ayarları), standby IO'sunu iyileştir, apply'ı bloklayan sorguyu çöz. Hata ile durduysa: hatayı düzelt (çakışan satırı elle çöz) ve replikasyonu devam ettir.

5. Kopmuşsa yeniden kur

Replika çok geride/bozuksa yeniden senkronize etmek en temizidir: taze yedekten (PG pg_basebackup, MySQL clone/xtrabackup, Oracle RMAN duplicate) standby'ı yeniden kur. Kritik: yeniden kurmadan önce nedeni bul, yoksa tekrar eder.

DBAtlas'ta aç →