Mongodb oplog的作用及如何评估和更改保留时间

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG数据库运维(如安装迁移,性能优化、故障应急处理等)
公众号:老苏畅谈运维
欢迎关注本人公众号,更多精彩与您分享。

oplog 是replica set或者master/slave模式专用,在replica set中oplog是一个定容集合(capped collection),其实就是一张表,它的默认大小是磁盘空间的5%(可以通过–oplogSizeMB参数修改)。
位于local库的db.oplog.rs,有兴趣可以看看里面到底有些什么内容。其中记录的是整个mongod实例一段时间内数据库的所有变更(插入/更新/删除)操作。
当空间用完时新记录自动覆盖最老的记录。其覆盖范围被称作oplog时间窗口。
需要注意的是,因为oplog是一个定容集合,所以时间窗口能覆盖的范围会因为你单位时间内的更新次数不同而变化。

1、查看oplog的内容

use local
db.oplog.rs.find().pretty()
在这里插入图片描述
主要需要关注的字段:

"ts" : Timestamp(1553597844, 1) <----操作时间
"op" : "n"                      <----操作类型
 ns:                            <----操作所在的namespace
 o:                             <----操作所对应的document,即当前操作的内容(比如更新操作时要更新的的字段和值)
 o2:                             <---在执行更新操作时的where条件,仅限于update时才有该属性

关于op操作类型主要有:

    "i": insert
    "u": update
    "d": delete
    "c": db cmd
	"db":声明当前数据库 (其中ns 被设置成为=>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老苏畅谈运维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值