查询MongoDB oplog.rs
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,oplog是Capped Collection,默认分配5%的空闲磁盘空间。来看下oplog.rs的样子:rs_test:SECONDARY> use localswitched to db loca
千家信息网最后更新 2025年11月07日查询MongoDB oplog.rs
oplog是Capped Collection,默认分配5%的空闲磁盘空间。
来看下oplog.rs的样子:
rs_test:SECONDARY> use localswitched to db localrs_test:SECONDARY> db.oplog.rs.findOne();{ "ts" : Timestamp(1465879171, 238), "h" : NumberLong("-2275413922284641862"), "v" : 2, "op" : "u", "ns" : "MyDB.SyncTable", "o2" : { "_id" : "bbf80260-3d58-49f1-9c8c-e093d5d57527" }, "o" : { "_id" : "bbf80260-3d58-49f1-9c8c-e093d5d57527", "EntityId" : "362569", "TypeName" : "Product", "Times" : 14208, "CreateTime" : ISODate("2014-11-15T14:35:51.916Z"), "LastModified" : ISODate("2016-06-14T04:38:21.708Z"), "LastOperationTime" : ISODate("2016-06-14T04:39:30.957Z") }}字段含义
ts:8字节的时间戳,由4字节unix timestamp + 4字节自增计数表示。
这个值很重要,在选举(如master宕机时)新primary时,会选择ts最大的那个secondary作为新primary。
op:1字节的操作类型,例如i表示insert,d表示delete。
ns:操作所在的namespace。
o:操作所对应的document,即当前操作的内容(比如更新操作时要更新的的字段和值)
o2: 在执行更新操作时的条件,仅限于update时才有该属性。
其中op,可以是如下几种情形之一:
"i": insert
"u": update
"d": delete
"c": db cmd
"db":声明当前数据库 (其中ns 被设置成为=>数据库名称+ '.')
"n": no op,即空操作,其会定期执行以确保时效性。修改配置,会产生 "n" 操作。
查询示例
oplog.rs系统集合只用于复制,不能创建索引,查询语句会很慢。
> db.oplog.rs.find({},{"ts":1}).sort({$natural: -1}){ "ts" : Timestamp(1406185666, 1) } { "ts" : Timestamp(1406180043, 1) } { "ts" : Timestamp(1406180033, 1) } { "ts" : Timestamp(1406172831, 1) } { "ts" : Timestamp(1406171938, 1) } > db.oplog.rs.find({ "ts" : { "$gte" : Timestamp(1406185630, 1) } },{"ts":1})查询一小时内的oplog
> var SECS_PER_HOUR = 3600> var now = Math.floor((new Date().getTime()) / 1000) // seconds since epoch right now> db.oplog.rs.find({ "ts" : { "$lt" : Timestamp(now, 1), "$gt" : Timestamp(now - SECS_PER_HOUR, 1) } }查询某一时间段内的oplog(当然注意时间是UTC存储)
> var since = Math.floor(ISODate("2014-08-12T09:00:00.000Z").getTime() / 1000)> var until = Math.floor(ISODate("2014-08-12T15:00:00.000Z").getTime() / 1000)> db.oplog.rs.find({ "ts" : { "$lt" : Timestamp(until, 1), "$gt" : Timestamp(since, 1) } })聚合统计各个集合的UPDATE操作量
> db.oplog.rs.aggregate([ { $match: { "op":"u" }}, { $group: { _id:"$ns",count:{$sum:1}}} ])oplog参考
Replica Set Oplog
https://docs.mongodb.com/manual/core/replica-set-oplog/
查询
字节
时间
更新
字段
数据
数据库
最大
重要
内容
名称
含义
小时
属性
情形
所在
时效
时效性
时间段
机时
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库新建查询时出现列名无效
竹子互联网科技
创建本地服务器安全吗
网络网络安全手抄报内容
为什么软件开发转实施
越秀物联网软件开发设计
樱花frp发现服务器
付费代理服务器软件
浪潮服务器设置硬盘界面
网络安全大赛陇剑杯
网络技术的双重影响
服务器后面的4个网线口
新连华网络技术有限公司怎么样
给儿童讲网络安全
知名专业软件开发公司有哪些
一个网页服务器有多快
开发软件过程中需要服务器吗
网络技术属于计算机里哪个大类
网络安全的心得资料
时钟服务器的两种协议
虹口区特定软件开发服务结构设计
cears数据库官网
数据库具体指什么
物竞数据库DMAP
软件开发详细文档
广东安卓智能制造软件开发
数据库的还原模式有三种
手机服务器如何重启
河南特种网络技术创新服务
煎饼网络技术公司