2017-08-25 39 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會嘗試它。謝謝。 –