oplog の消し込み

oplog の項目は、かなりの期間、保持する必要があります。 それらの項目は、複製が更新パケットを生成するときに必要です。 oplog 項目は、他の複製が深刻な障害から回復するために必要になることもあります。 これらの項目を提供できる複製がない場合には、復元中の複製を再作成しなければなりません。 同期中に oplog 項目を使用する必要があるため、同期ストラテジによって oplog の消し込み頻度が決まります。

デフォルトでは、oplog 項目の消し込みは行われません。 ファミリーの同期パターンを設定し、そのパケットが正常にエクスポートおよびインポートされるまで、この設定は変更しないでください。

以下のようにすれば、複製の oplog 項目を削除しても安全です。
  1. oplog 項目の維持期間を他の管理者と調整して決定します。

    各複製は、restorereplica 操作が正常に完了するのに必要な期間は、項目を保持する必要があります。oplog 項目の消し込み頻度は、以下の要因によって異なります。

    • ファミリー内の複製間の同期パターン
    • 複製の同期頻度

      同期頻度は、更新のエクスポート頻度と他の複製へのインポート頻度の両方に影響されます。 また、検査方式を設定して、oplog 項目が消し込まれる前に、他の複製でそのパケットが確実に正常に処理されるようにすることも検討してください。

    • 複製のバックアップ頻度

      例えば、すべてのサイトの複製を週単位でバックアップしており、2 週間前のバックアップから復元を行う場合、各複製では oplog 項目を 3 週間保持しておく必要があります。 複製の同期を週単位で行う場合は、その週のパケットは他の複製にまだ送信されていないと想定して、もう 1 週間追加する必要があります。 さらに、安全性を高めるためにもう 1 カ月追加します。 その結果、消し込みは 2 カ月後となります。

  2. 複製を同期化します。
  3. oplog を削減する複製で、scruboplog コマンドを使用します。 次の例は、sanfran_hub サイトにあるユーザー データベースの複製 (PRODA ファミリーによって示されるもの) の oplog を消し込みます。
    multiutil scruboplog -clan telecommunications -site sanfran_hub -family
    PRODA -user sfadmin -password secret -before 31-Oct-2001
重要: 複製の oplog 項目が更新パケットに組み込まれる前に消し込まれると、その複製から更新パケットをエクスポートすることはできなくなります。 これは深刻なエラーで、ファミリー全体の整合性が危うくなります。
関連概念
破損したデータベースの複製のリカバリ
関連資料
scruboplog

フィードバック