交易記載

Domino® 交易記載會擷取對資料庫進行的變更,並將其寫入交易日誌中。已記載的交易稍後會在資源可用或排程時批次寫入磁碟。

交易是對一種伺服器上之資料庫所進行的一連串相關的變更。例如,開啟新文件、新增文字及儲存文件皆是一個交易。在此情況下,交易包括三個不同的隱含 API 呼叫:NotesOpen、NoteUpdate 及 NoteClose。

交易日誌是對 Notes® 資料庫所進行變更的記錄。交易日誌包含日誌範圍及日誌控制檔 (NLOGCTRL.LFH)。 日誌範圍是交易日誌所寫入的日誌檔之一。它的格式為 Sxxxxxxx.TXN,其中 xxxxxxx 字元代表該伺服器唯一的七位數號碼。Domino 會在將資料寫入新日誌之前,循序填寫每個範圍。使用專用位元組串流格式保護此記錄。每部伺服器僅有一個擷取交易日誌,其擷取為交易日誌啟用之資料庫的所有變更。

使用交易記載,以:

  • 排程定期備份。基於交易日誌的備份比不使用交易記載的完整資料庫備份更快且更容易。
  • 從媒體失效中回復。若存在媒體失效,則您可以從磁帶回復最近的完整備份,然後使用交易日誌來新增未寫入磁碟的資料。
  • 從系統損毀中回復。當伺服器重新啟動時,它會從交易日誌末端執行,並回復任何當機時未進行的寫入磁碟動作。已記載的資料庫不需要一致性檢查。
  • 記載資料庫視圖。您可以避免大部分的視圖重建。

若要使用備份及備份回復的交易記載的所有功能,您需要使用 Domino C API Toolkit 的備份及回復方法的協力廠商備份公用程式。例如,在媒體回復時,使用協力廠商公用程式進行的資料庫備份,此時記載會追蹤資料庫的更新。若資料庫此後遺失,則備份會透過查看交易日誌及套用那些資料庫發生的任何更新 (由於此資料庫已進行備份) 進入目前狀態。

請注意,重新啟動回復不需要協力廠商公用程式。在此情況下,會在發生更新時記載。當伺服器當機並重新啟動時,任何遺失的更新都將寫入資料庫。這會顯著減少因伺服器當機而發生的資料遺失及資料庫損毀,並可減少完整重新啟動的時間(由於不需要資料庫的一致性檢查)。

註: 交易記載是必要項目,如果您打算使用「Domino 附件檔及物件服務」(可在 Domino 8.5 以及更新版本中取得),將檔案附件合併到伺服器儲存庫中,則交易記載必須保持為已啟用狀態。

瞭解資料庫實例 ID (DBIID)

啟用交易記載後,Domino 會將唯一的資料庫實例 ID (DBIID) 指派給每一個 Domino 資料庫。Domino 在日誌中記錄交易時,會包含此 DBIID。在回復期間,Domino 會使用 DBIID 使交易與資料庫相符。

有些資料庫維護活動(例如,搭配使用 Compact 指令與選項)會使 Domino 重新建構資料庫,而讓舊的交易日誌記錄不再有效。如果發生此情況,會指派新的 DBIID 給此資料庫。此時,該資料庫記錄在日誌中的所有新交易都會使用這個新的 DBIID。為資料庫指派了新的 DBIID 後,就可以進行此資料庫新的完整備份。新的完整備份會使用新的 DBIID 擷取其目前狀態中的資料庫。之後,如果您必須回復此資料庫,則 Domino 只需要包含新 DBIID 的新交易。

Domino 在下列情況下會指派新的 DBIID:

  • 初次啟用交易記載時。
  • 執行具有選項(例如,減少檔案大小的選項)的「壓縮」作業。
  • 您對毀損的資料庫執行「修正」作業。
  • 您將 Domino 資料庫移至記載的伺服器。