DBAtlas · Atlas für Datenbankbetrieb

Oplog online in der Größe ändern (replSetResizeOplog)

MongoDBReplica Set

Befehl

// Current oplog size (MB):
db.getSiblingDB("local").oplog.rs.stats().maxSize / 1024 / 1024
// Resize the oplog to 50 GB (in MB; run on each member separately, secondaries first):
db.adminCommand({ replSetResizeOplog: 1, size: 51200 })
// Minimum retention period (hours), independent of size:
db.adminCommand({ replSetResizeOplog: 1, minRetentionHours: 48 })
// Verify the result:
rs.printReplicationInfo()

Was es tut

Vergrößert oder verkleinert das Oplog eines laufenden Mitglieds ohne Neustart; minRetentionHours bewahrt Oplog-Einträge für eine Mindestdauer auf, auch wenn das Größenlimit überschritten wird.

Wann einsetzen

Wenn das Oplog-Fenster die Dauer der Wartung oder der Initial Sync nicht abdeckt oder Massenschreibjobs das Fenster verkleinern.

Vorsicht

Der Befehl wirkt nur auf das Mitglied, auf dem er läuft, und wird nicht repliziert; auf jedem Mitglied anwenden. Auch auf Mitgliedern, die als Sync Source dienen, muss das Fenster ausreichen. Verkleinern gibt Plattenplatz nicht sofort an das OS zurück; dafür ist compact auf oplog.rs nötig. Mit minRetentionHours kann das Oplog je nach Schreibvolumen über size hinaus wachsen; plane den Plattenplatz entsprechend.

In DBAtlas öffnen →

Verwandte Einträge