找不到 oplog 項目

當傳送複本的新紀元數字矩陣不符合其 oplog 項目集時,syncreplica –export 指令可能失敗。

syncreplica –export 指令可能失敗,並出現下列警告訊息:

Multiutil: Error: 'family' database has exported oplog entries originating 
from replica 'site' through oplog-ID oplog-ID. The next oplog-ID 
to be exported is oplog-ID; it should be oplog-ID. A gap in oplog 
entries may indicate missing oplog entries.
當傳送複本的新紀元數字矩陣不符合其 oplog 項目集時,會發生此錯誤。 例如:

這種不相符狀況是預期的狀態。例如,當您變更系統的同步化型樣時,在過去彼此間沒有通訊的複本會開始交換更新封包。 將兩個複本同步化(syncreplica –export 後面跟著 syncreplica –import) 會更新傳送及接收複本的新紀元數字矩陣列,但它不會修改任何其他複本的列。 如果兩個複本很少(或從來沒有)直接傳送更新項目給彼此,則其新紀元數字矩陣中的相關列會過期 (可能全部都是零)。 只要複本間接接收作業(例如,透過中心複本),這樣就不會有問題。

在此情況下,您必須使用 chepoch 指令通知 sydney 有關 buenosaires 的真實狀態;這是 sydney 尚未透過標準同步化機制接收的資訊。 此資訊可讓 sydney 決定哪些 oplog 項目要傳送至 buenosaires

如果在 oplog 項目傳送至其他複本之前,您使用 scruboplog 指令移除 oplog 項目,則也可能發生此狀況。 在您清除任何複本的 oplog 之前,必須確定系列中的複本已同步化。

相關概念
資料庫的作業日誌
複本的清除參數
相關參考
syncreplica
chepoch
scruboplog

意見