2017-08-25 83 views
0

蒙戈的版本是3.0.6,我有一个过程,通过使用--oplogReplay选项由mongodump和mongorestore另一个数据库添加到目标数据库应用OPLOG。应用OPLOG却发现重复键错误

但我发现重复键错误信息很多时间,源和目标数据库具有相同的结构(印度和字段)是不可能有目标重复的记录,因为它应该是对源数据库错误首次。

和错误消息看起来像这样

2017-08-20T00:55:55.900+0000 Failed: restore error: error applying oplog: applyOps: exception: E11000 duplicate key error collection: <collection_name> index: <field> dup key: { : null } 

今天我发现这样

2017-08-25T01:02:14.134+0000 Failed: restore error: error applying oplog: applyOps: not master 

什么是平均一个神秘的消息?而我的理解,mongorestore有“--stopOnError”选项,这意味着默认的过程中,如果有任何错误,恢复过程将跳过,继续前进。但是我得到了上述错误,然后恢复过程随时终止。 :(

+0

第二误差,我发现的根源即外的存储器的MongoDB然后复制服务切换到另一个节点是主因为恢复期间,存在有在数据库中多个会话。解决办法,我停下其他会话并再次恢复。 –

回答

0

这并不直接回答你的问题,对不起,但是... ...

如果需要对数据库中的OPLOG更改应用到数据库B,这将是更好地使用mongo-connector程序,比mongodump/mongorestore -pair。

+0

它仍然使用OPLOG,我不知道什么是蒙戈连接器和mongorestore之间的不同对目标数据库,但我申请OPLOG会尝试它。谢谢。 –