应用操作日志,但发现重复键错误



Mongo版本是3.0.6,我有一个过程,通过使用--oplogReplay选项通过mongodump和mongorestore将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"选项,这意味着默认过程,如果有任何错误,还原过程将跳过并继续。但是我得到了上述错误,然后还原过程已随时终止。:(

这并不能直接回答您的问题,对此感到抱歉,但是...

如果需要将数据库 A 的 oplog 更改应用于数据库 B,最好使用 mongo-connector 程序,而不是 mongodump/mongorestore -pair。

最新更新