DBAtlas · Atlas für Datenbankbetrieb

Replikationsstatus und Lag anzeigen

Oracle

-- Role and mode:
SELECT database_role, open_mode FROM v$database;
-- Data Guard lag:
SELECT name, value, unit FROM v$dataguard_stats
WHERE name LIKE '%lag%';

Apply Lag und Transport Lag sind die wichtigsten Data-Guard-Lag-Metriken; auf dem Standby ausführen.

PostgreSQL

-- On the PRIMARY:
SELECT client_addr, state, sync_state,
       write_lag, flush_lag, replay_lag
FROM pg_stat_replication;
-- On the STANDBY:
SELECT now() - pg_last_xact_replay_timestamp() AS replay_lag;

replay_lag ist die Replay-Verzögerung; sync_state = 'sync' kennzeichnet ein synchrones Replikat.

MySQL

SHOW REPLICA STATUS\G
-- Before 8.0.22: SHOW SLAVE STATUS\G

Seconds_Behind_Source liefert den Lag; Replica_IO_Running und Replica_SQL_Running müssen 'Yes' sein. SHOW SLAVE STATUS ist in 8.0.22–8.3 ein Alias und wurde in 8.4 entfernt.

SQL Server

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

Für Always On. Eine große redo_queue_size bedeutet, dass das sekundäre Replikat zurückfällt.

MongoDB

rs.printSecondaryReplicationInfo()
// Detailed status: rs.status()

Zeigt, wie viele Sekunden jedes Secondary hinter dem Primary liegt; die optimeDate-Werte werden verglichen.

Redis

INFO replication
# Check the role, connected_slaves, master_repl_offset,
# and slaveN:...,offset=... lines

Die Differenz zwischen master_repl_offset und dem Slave-Offset ergibt den Lag; master_link_status muss 'up' sein.

In DBAtlas öffnen →