Wednesday, 28 November 2012

Prevent Lotus Notes corruption by using Transaction logging

In my previous articles, I have already discussed about Lotus Notes email client, its database file format and various reasons that lead to Lotus Notes database corruption.
Lotus Notes database corruption may turn the Lotus Notes Mail items inaccessible and totally unusable. To Access the database items from a corrupted Lotus Notes file you need to repair the corrupt NSF with the help of some Lotus Notes recovery software. Thus, any kind of database corruption can adversely affect the budget as well proper functioning of the business organization. So, it’s better to adopt preventive measures that may protect the database from corruption.

How to prevent Lotus Notes database corruption?
Common preventive measures to avoid Lotus database corruption:
1.Enable transaction logging
2.Perform scheduled database maintenance tasks.
3.Backup the Lotus Notes files.

The most common preventive method to avoid Lotus Notes database corruption is to enable transaction logging for all connected servers in the Domino server domain; it will let you recover the data, if server crashes or database corruption occurs.

What is transaction logging?
The Transaction Logging  is  an automatic record process in which all changes done to the Domino database are sequentially stored to the Transaction log file before actually writing them to Lotus Notes. 

Transaction log: It’s a binary file where all transactions to Domino database are written.  
The transaction log file stores all transactions in form of log extents.

A log extent has the extension ‘.TXN’ and allocates 64 MB of memory space. Once the log extent is full then, new Log extent is generated to store further transactions.

Transaction logging provides two types of recovery:
1.Restart recovery – This type of recovery is useful in case of server crash.
This helps in bringing the database to a consistent state by completing all the transactions that couldn’t be loaded to disk due to server crash.  
2.Archival Logging – This type of recovery is useful if some Lotus Notes data is lost. It includes ‘Restart recovery’ and ‘point in time recovery’ to recover lost data. 

Benefits of transaction logging: 

  • It improves the performance of the Domino server.
  • It provides better data integrity in Domino server database.
  • It helps in maintaining consistency within Domino server database.
  • It helps in preventing the data corruption by recording transactions that are done to Lotus Notes database.
  • It provides efficient data recovery in case of server restart or crash.
  • It provides ‘roll back' option to restore data up to a restore point or undo any change made to the database.

Transaction logging avoids database corruption by maintaining consistency and integrity within the Domino server data base; it also let you recover the data in case of server crash or any other data loss situation. So, it’s better to enable transaction logging for all servers in the Domino server domain. In case, you don’t have any recovery or restore point available then, you will require Lotus Notes recovery software to recover the corrupted Lotus Notes files. These Lotus Notes recovery software efficiently repair corrupted NSF files and provides access to the inaccessible mail items.


  1. Thanks Amanda, great summary regarding Transaction Logging on Domino.

    One small point, in over 20 years of working with Notes/Domino I've never needed any external tools to 'repair' a database because:

    a) The product is so stable, and
    b) The built in maintenance tools do such a fantastic job of looking after the databases for you.

    In the rare instance where an issue has occurred, there are two main tools that we Domino/Notes admins use natively within the software:

    1) fixup (server: 'Load Fixup db.nsf', client: 'nfixup db.nsf' from a command line)
    2) compact (server: 'Load Compact db.nsf', client: 'ncompact db.nsf' from a command line)

    Try those first before thinking about any external tools.