Friday, July 29, 2011

How to Resolve “Database is corrupt -Can not allocate space” Error in Lotus Notes

Lotus Notes is an email client that is being widely used. Like any other application it is also pron to errors. The reasons behind the errors in Lotus Notes may be one or more of the following virus attacks, application problem, unexpected system shutdown, operating system issues, checksum mistakes, interaction of Lotus Notes with incompatible programs or NSF file header corruption. NSF file is the Notes Storage file that is used by Lotus Notes to save the data.

Let's discuss Lotus Notes Corruption with a practical Scenario.
Suppose you are working on Lotus Notes with Domino Server and you get halted with an error message that says

“Database is corrupt -- Can not allocate space”

It is one of the most common errors that has been noticed on various Domino server 5.0.5 or higher.

Reason: This error occurs when the 'Allow Soft Deletions' option in 'Advance Database Properties' is enabled. The database may gets corrupted when soft deletion is being enabled and non-summary data has been shifted to another location in the database.

Resolution: To fix up this issue follow below steps:

  1. Run Updall -R on all mail database
  2. Run Fixup -F -J

Both the utilities are provided and recommended by IBM with the note that these utilities can not recover in all cases.

Here the question arises how would recover your Lotus Notes data if it gets corrupted due to this issue. If you or the system administrator is performing regular backup and the same is available then you need not to worry, you can get all the data from the backup. But, in case there is no backup available, the only way to recover data is using third party NSF file recovery tool. Such tools are able to recover .nsf file in any case of corruption. Stellar Phoenix provides free version of the tool that previews all recoverable NSF file components and you need not be technically sound to use this tool.

Prevention for Future: To prevent the issue in future you should disable the Soft Deletion Feature of the database. Follow below steps to perform this:
  1. Go to File > Database > Properties
  2. Switch to Advance tab in the InfoBox
  3. Un-check the Allow Soft Deletion Check bob