In early 2009 I was trialling one of the free Windows Sysinternals tools called "contig.exe" (v1.55) on my home Windows 2003 Domino server to see if I could defragment my NSFs while the Domino server was running and it worked fine. I have since incorporated it with a C++ Lotus Domino server task I developed called DominoDefrag (32 and 64bit versions) using Visual Studio 2005/2008/2010 and together they've defragged successfully on the R5x (NT4 and Windows 2000), R6x-R7x-R8x (Windows 2003 R2), and R85x (Windows 2008 R2) Domino servers trialled on.

It has grown to defrag a full-text index associated with a Notes database and can now also defrag a Domino server’s transaction log and DAOS files. The output is recorded to the Domino server console and miscellaneous events log. Annex B in the "DominoDefrag v2.2 Release Notes" PDF (published in the project's Docs section and distribution file) demonstrates the new functionality showing examples of Domino server console output with resulting summary e-mails. It also contains information on all version history, file attainment (IBM and Microsoft), installation steps, Notes INI options, command line options, developer visual studio workstation setup, screen shots, Spanish Lotus User Group (SLUG) independent performance review and other related references. See here.



The DominoDefrag task also has the added functionality of being able to compact a database prior to defragging. This gives more flexibility by not having to wait for an entire database compactor run to complete before running a defragmentation task. The latest DominoDefrag version 2.2 contains better error handling and more compact and run time options as outlined in the change history below:
 
- DominoDefrag_CompactOptions Notes INI parameter to use "ncompact.exe" options and overrides the default behaviour. Will only work when DominoDefrag_Compact=1
- DominoDefrag_RunTime Notes INI parameter stops the task safely after the specified amount of minutes has elapsed and the current database defrag is completed
- DominoDefrag_SummaryEmailFrom Notes INI parameter sends summary e-mail with specified from address
- Added 2nd command line parameter to use "ncompact.exe" options and overrides DominoDefrag_CompactOptions and the default behaviour. Will only work when DominoDefrag_Compact=1
- Added "tell domindefrag q" functionality that terminates the task safely after the current database defrag is completed
- Added summary information counter to report database(s) not able to be defragged due to access problems
- Fixed bug NOSS-82MQ3K by changing the error handling behaviour to continue to process after not being able to access a database
- Fixed bug NOSS-82E6TX by adding PostedDate item to summary email so can sync with BlackBerry

From Spanish Lotus User Group (SLUG) independent performance review:

A picture named M2

comments powered byDisqus