Script #93
mongodb
Replicationread-onlyMin Version: 4.0MongoDB Oplog Size and Replication Window
Shows the oplog size and how many hours of operations it holds. Measures the risk of a secondary falling behind and needing a resync.
#oplog#replica-set#resync
mongodb · javascript
const o = db.getSiblingDB("local").oplog.rs;
const first = o.find().sort({ $natural: 1 }).limit(1).next().ts;
const last = o.find().sort({ $natural: -1 }).limit(1).next().ts;
const stats = db.getSiblingDB("local").oplog.rs.stats();
({
size_mb: Math.round(stats.maxSize / 1048576),
used_mb: Math.round(stats.size / 1048576),
window_hours: +((last.getTime() - first.getTime()) / 3600).toFixed(1)
});Operational Notes & Remediation Guidance
Oplog window must exceed the duration required to restore and apply backups or survive secondary node outages.
Production Safety & Execution Standards
- This script is designed for read-only diagnostics; it does not alter schema or modify data directly.
- Prior to executing on production systems under high load, verify the target database version (Min. Version: 4.0).
- Exercise caution with mutating actions (e.g., terminating sessions or dropping indexes) referenced in the notes section.
Other MONGODB Diagnostic Scripts
View All (100)#81Performance
Find Long-Running Operations in MongoDB (currentOp)
Lists active operations running longer than 5 seconds with plan summary and lock-wait info. Helps pick the operation to kill during a slowdown.
View Script
#82Storage
MongoDB Collection and Index Sizes
Ranks collections by document count, data, storage and index size. Used for capacity planning and spotting bloated indexes.
View Script
#83Performance
Find Unused Indexes in MongoDB ($indexStats)
Lists never-used indexes per collection. Offers cleanup candidates to cut write cost and memory use.
View Script
#84Replication
MongoDB Replica Set Lag and Oplog Window
Shows member state, lag behind the primary and the oplog window. Monitors replication health and resync risk.
View Script