2016-12-27 76 views
0

我已經在獨立的OpenDJ服務器上啓用更改日誌,並且「cn = changelog」作爲節點之一出現。而我的問題是,在從「cn = changelog」中獲取數據之後,屬性「changes」僅包含已更改屬性的新值,而沒有舊值。例如。當「cn」屬性從「Peter」變爲「Paul」時,在「變化」中只有「Paul」。是否有可能獲得舊的屬性值?如果是的話,你能告訴我應該在哪裏搜索它,或者我應該如何配置OpenDJ來獲取它?如何在OpenDJ服務器中獲得舊的價值?

回答

0

好的,在挖掘documentation (Procedure 8.15)之後,我發現有可能設置'ecl-include'選項,這會導致changelog條目包含新屬性 - 'includedAttributes'。該屬性包含我們在'ecl-include'選項中定義的那些屬性的舊值(在輸入修改之前)。但缺點是,'includedAttributes'包含所有已定義的屬性 - 無論在條目修改期間這些屬性是否已更改。所以,我的問題,它應該像這樣被配置:

dsconfig set-external-changelog-domain-prop -h host -p port -D cn="Directory Manager" -w password --set ecl-include:"cn" 

從現在開始,接下來的更新日誌條目將包含「includedAttributes」老「CN」值,這是「彼得」屬性。

0

cn=changelog返回執行的操作:

  • 添加操作包含正在添加的全項,
  • 刪除操作僅包含已刪除的條目的DN,
  • 修改DN包含舊dn和new rdn,
  • 修改操作可能只包含新值(在REPLACE修改類型的情況下),刪除值(在DELETE修改類型的情況下),新值(在ADD修改類型的情況下) ,或者沒有價值l(在INCREMENT修改類型的情況下)。請注意,各種修改類型可以在相同的修改操作中組合,因此您可能會看到DELETE + ADD,其中包含舊值,但這不是強制性的。