事务记录

Domino ®事务日志捕获对数据库所做的更改并将其写入事务日志。然后,当资源可用时或按计划时,记录的事务将批量写入磁盘。

事务是对服务器上的数据库所做的一系列相关更改。例如,打开新文档、添加文本和保存文档是一个事务。在这种情况下,事务由三个单独的隐式 API 调用组成:NotesOpen、NoteUpdate 和 NoteClose。

事务日志是对Notes®数据库所做更改的记录。事务日志由日志范围和日志控制文件( NLOGCTRL.LFH )组成。日志范围是事务日志写入的日志文件之一。其形式为S xxxxxxx .TXN ,其中xxxxxxx字符代表该服务器独有的七位数字。Domino ®会按顺序填充每个范围,然后再将数据写入新的范围。这些记录使用专有字节流格式进行保护。每个服务器只有一个事务日志,用于捕获启用事务日志记录的数据库的所有更改。

使用事务日志来:

  • 安排定期备份。基于事务日志的备份比不使用事务日志的完整数据库备份更快、更容易。
  • 从媒体故障中恢复。如果出现媒体故障,您可以从磁带恢复最近的完整备份,然后使用事务日志添加未写入磁盘的数据。
  • 从系统崩溃中恢复。当服务器重新启动时,它会运行事务日志的末尾并恢复崩溃时未写入磁盘的任何写入。已记录的数据库不需要一致性检查。
  • 记录数据库视图。您可以避免大多数视图重建。

要使用事务日志的所有功能进行备份和备份恢复,您需要一个使用Domino ® C API 工具包的备份和恢复方法的第三方备份实用程序。例如,在介质恢复的情况下,使用第三方实用程序进行数据库备份,同时日志记录跟踪数据库的更新。当数据库丢失时,通过查看事务日志并应用自数据库备份以来对该数据库发生的任何更新,将备份恢复到当前状态。

请注意,重启恢复不需要第三方实用程序。在这种情况下,更新过程中会继续进行记录。当服务器崩溃然后重新启动时,任何原本会丢失的更新都会写入数据库。这大大减少了由于服务器崩溃而导致的数据丢失和数据库损坏,并且由于不需要对数据库进行一致性检查而减少了总体重启时间。

注意:事务日志记录是必需的,如果您打算使用Domino ® 8.5 及更高版本中提供的Domino ®附件和对象服务来合并服务器存储库中的文件附件,则必须保持启用状态。

了解数据库实例 ID (DBIID)

启用事务日志记录时, Domino ®会为每个Domino ®数据库分配一个唯一的数据库实例 ID (DBIID)。当Domino ®在日志中记录事务时,它会包含此 DBIID。在恢复期间, Domino ®使用 DBIID 将事务与数据库匹配。

某些数据库维护活动(例如使用带有选项的 Compact 命令)会导致Domino ®以旧事务日志记录不再有效的方式重建数据库。发生这种情况时,会为数据库分配一个新的 DBIID。从那时起,该数据库日志中记录的所有新事务都使用新的 DBIID。为数据库分配新的 DBIID 后,对数据库进行新的完整备份。新的完整备份使用新的 DBIID 捕获数据库的当前状态。然后,如果您必须恢复数据库, Domino ®只需要包含新 DBIID 的新事务。

在以下情况下, Domino ®会分配新的 DBIID:

  • 您首次启用事务日志记录。
  • 您可以使用一个选项运行 Compact 任务 - 例如,减小文件大小的选项。
  • 您对损坏的数据库运行 Fixup 任务。
  • Domino ®数据库移至已记录服务器。