2011-08-10 34 views
6

我想了解以下Lotus的Domino服務器到服務器的複製方案會發生什麼服務器到服務器的複製過程中會發生什麼:如果讀者訪問被吊銷

  • 服務器A的數據庫的副本。
  • 服務器B具有相同數據庫的副本。
  • 兩臺服務器都具有對數據庫的管理訪問權限,包括刪除文檔權限。
  • 複製器進程剛剛複製A和B,所有的同步。
  • 該數據庫包含一個註釋,該註釋具有提及兩個服務器的閱讀器字段。
  • 在服務器A上,服務器B的條目從閱讀器字段中刪除。
  • 服務器A啓動與B.

複製在這種情況下我希望服務器A將刪除服務器B上有場景變化,服務器C複製與B中的文檔,B開始複製與A

我有一個應用程序,它是建立一個圍繞這種期望,並且它一直的大部分時間很好。但是,服務器B上仍存在筆記,並且不會從複製過程中排除。 OID仍然不同。有些情況下DSN在兩個備註上都更新,而複製過程中沒有任何結果。

+0

偉大的問題。您可能還想將其發佈到ServerFault上。 –

+0

這個過程應該「正常工作」。但即使在上面描述的簡單場景中,我也看到筆記不能複製。有了C-API,我已經構建了一個應用程序來查找這些筆記。這個概念非常好,我用它根據閱讀器字段將數據子集分發到不同的站點。 –

+1

最好使用基於ACL角色或ACL組的選擇性複製。複製過程從一開始就一直存在,如果使用得當,它的功能非常強大,但您需要了解與我遇到過的其他任何軟件不同的安全模型。 – AndrewB

回答

1

IBM創造了這樣的一個SPR

問題通常情況下,當一個服務器從 文件,調度後複製發生的讀者字段中刪除,文檔 從服務器後刪除該服務器不再有權訪問 文檔。在某些情況下,當輔助服務器從位於主服務器上的文檔的 閱讀器字段中刪除時,在兩臺服務器之間發生 複製後,文檔不是 從預備的輔助服務器中刪除。啓用複製 調試會在源服務器上顯示以下錯誤:「您不是經授權執行該操作的 」。清除複製 歷史記錄並從兩臺服務器啓動複製不會解決 問題。經過進一步調查後,確定輔助服務器上的 文檔具有較高的序列號,其中 表示它比 主服務器上的文檔更新。通常情況下,如果文檔不包含閱讀器 字段,或者如果複製中涉及的兩臺服務器都列在文檔的兩個副本的 閱讀器字段中,則在兩個服務器上修改文檔之前將生成複製衝突 複製發生。但是,在此特定情況下,由於 輔助服務器無權訪問主服務器上的文檔,因此複製將按預期進行失敗,並且不會生成複製 衝突,因爲要生成衝突文檔到 ,兩臺服務器都需要訪問文檔。

解決問題 1.)短期解決方法是修改主服務器上的文檔,使其序列號高於輔助服務器上的文檔 。在複製發生後,如預期的那樣, 應該複製到輔助服務器,文檔應該從輔助服務器刪除 。 2.)更持久的解決方案是防止用戶和服務器在兩個服務器上對文檔進行更改,大約在相同的 時間。此外,更經常地進行復制應該有助於減少發生這種情況的機會,因爲在另一個服務器上進行更改之前,在一臺服務器上所做的更改可能會複製出來。這個問題正在跟蹤SPR MKHS8MLQVD

0

我們有當我們整合服務器這樣的事情發生,它並沒有爲我們工作得非常好。如果我使用服務器A /服務器B場景,發生的情況是服務器B與服務器A一起復制,並且文件從服務器B中消失。不幸的是,這被記錄爲刪除,因此當A和B再次複製時,文檔從服務器中刪除A.

幸運的是我們有備份。

+0

複製應該導致刪除(存根)。你有一個想法,爲什麼這被追蹤爲刪除?我期望的唯一刪除就是清除,而不會留下刪除存根。 –

+0

由於複製衝突,文檔可能會消失。如果您刪除主文檔,您將不會自動查看衝突文檔,但如果您可以在一臺服務器上看到文檔,但無法在另一臺服務器上看到該文檔,則查找複製衝突,則需要特殊視圖,但它很容易解決它們雖然很煩人,但他們多次保存了我的培根,因爲它們是自動創建的,以防止丟失可能有價值的數據。 – AndrewB

2

這是一個簡單的陷阱陷入,你不應該使用閱讀器領域的控制服務器之間的複製,他們是夢幻般的,以控制用戶和用戶組,但所有服務器在複製組中應該始終有機會獲得一切。

在服務器B上留下/未更新文檔的原因是從服務器B上的閱讀器字段中刪除服務器B使服務器對服務器不可見,因此它不知道它已更改或已被刪除。服務器B刪除服務器A的原因是由於刪除將文檔轉換爲比UNID稍微多一點的刪除存根,因此讀者字段也將刪除對服務器B「可見」。您不能甚至強制服務器A寫入服務器B,因爲服務器A將知道服務器B不被允許查看文檔,因此推式複製將忽略相關文檔。

+0

本地副本呢?如果服務器B是Lotus客戶端而不是複製本地副本的服務器,那麼應​​該工作正常嗎?你有沒有支持讀者字段不應該用來控制服務器之間複製的文檔? –

+0

包含組名稱或ACL角色的讀者字段是控制向Lotus Notes客戶端複製的內容的極好方式,但就複製的工作方式而言,該過程是相同的。我沒有文件,只有十年的經驗。如果你想在衛星服務器上擁有一個文件的子集,那麼使用選擇性複製,它的透明性和文件更改都更容易,而且沒有數據丟失的風險。 – AndrewB

2

其實,我不同意AndrewB的答案。根據我的經驗,它應該按照您的期望工作。使用readernames字段來控制複製已經是我15年以上的標準庫中的一部分,我發現它比選擇性複製更可靠 - 這是邪惡的,應該不惜一切代價避免,但這是另一回事!

確實,一旦readernames字段不再包含serverB的條目,便箋本身對serverB是不可見的,但注意事項已更改對複製器不可見。複製器應該注意到這一點,確定serverB不再擁有文檔的權限,並將其刪除 - 而不會留下存根。

您是否嘗試清除雙方的複製歷史記錄?

+0

是的,我嘗試清除雙方的複製歷史記錄。 –

相關問題