dominodefrag v4.1 release notespmt.nsf/0...(dominodefrag.exe) and a r9.0+ lotus domino server xpages...
TRANSCRIPT
DominoDefrag v41 Release Notes
1 | P a g e
Aug 18
Overview
DominoDefrag is an open source solution comprising of a R90+ C API Lotus Domino server task
(DominoDefragexe) and a R90+ Lotus Domino server XPages mail-in database called the
DominoDefrag Administrator (DominoDefragAdminnsf ndash relies on Domino 853 Upgrade Pack 1
and above controls) The task uses contigexe (v17) to defrag R6x + Domino databases on all 32bit
and 64bit Windows 2003 2008 2012 server versions and will also defrag a full-text index
associated with a Notes database and the Domino serverrsquos transaction log and DAOS files When
DominoDefrag_EnterpriseSupport=1 (on) the output is recorded to CSV files and sent to the
DominoDefrag Administrator for processing attached to a summary email
DominoDefrag has the added functionality of being able to compact a database prior to defragging
and supports multi-processing (can load multiple times to run concurrently) and use of an indirect
file (ind) to have the same compact batch functionality
Performance checks can also be tested using generated document collections to determine the
before and after defrag millisecond read performance of databases and their associated full-text
indexes
DominoDefrag also incorporates ldquojkdefragcmdexerdquo (v336) for Domino data volume free space
consolidation and ldquofast sortrdquo file placement optimization In conjunction with ldquocontigexerdquo and the
compact task (ncompactexe) they provide the functionality outlined below
Order Utility Description
1 jkdefragcmdexe Consolidates free space (-a5) alphabetically sorts all file placements (-a7) and performs a complete defrag and fast sort optimization (-a3) of the Domino data volume It runs as a separate function and can take some time to perform Runs when DominoDefrag_OptimizeDataVolume=1
2 ncompactexe Compacts a database when DominoDefrag_Compact=1 If DominoDefrag_CompactStart=xxMB also used only compacts the database that has gt x gt x MB unused space
3 DominoDefragexe Optimizes a database to have x unused space (free space) = 100-x used space when DominoDefrag_FreeSpace=x or a specific MB amount when DominoDefrag_FreeSpace=xMB
4 contigexe Defrags a database When DominoDefrag_FreeSpace=x ensures future Domino writes will be made into the free space residing on one contiguous fragment It will defrag a databasersquos full-text index when DominoDefrag_FTIndex=1 the Domino serverrsquos transaction log when DominoDefrag_TransactionLog=1 and the Domino serverrsquos DAOS files when DominoDefrag_DAOS=1
5 jkdefragcmdexe Performs a ldquofast sortrdquo file placement optimization of database full-text transaction log or DAOS files when DominoDefrag_OptimizeFiles=1
DominoDefrag v41 Release Notes
2 | P a g e
Aug 18
Whatrsquos new in v41
DominoDefrag Administrator database has a new Dojo tabbed container interface replacing the
previous One UI v21 This Claro themed interface provides enhanced grids with pagination
capability provided by the ldquoccDojoGrid_JSONrdquo custom control The new JSON REST engine has
significantly increased grid performance as only the page is loaded now and not the entire grid store
It also provides filtering double click dialog opening functionality and Add and Remove buttons
(utilised on in all tabs where a grid is required) Grids are populated by associated JSON generating
xAgents and views
Figure 1 ndash New DominoDefrag v41 XPage Interface grid
A sidebar is also provided to display information and error messages The grid in it is populated by
associated XML generating xAgent and view Double clicking on a message switches to the related
tab See a YouTube video of new v4x interface at httpwwwyoutubecomwatchv=hLUynXxwCtw
Figure 2 ndash New DominoDefrag v41 XPage Interface sidebar
Also an indirect file (IND extension) can now be used to exclude directories and files from being
processed See new INI setting DominoDefrag_ExcludeINDFiles
Change History
httpsnotestoolscomauDominoDefrag_ChangeLogtxt
DominoDefrag v41 Release Notes
3 | P a g e
Aug 18
Mobile Administration
DominoDefrag Administrator database has a single mobile application XPage (m_appxsp)
called DominoDefrag Mobile Admin that uses both the Dojo mobile controls directly and
from the 85390 extension library This gives the ability to remotely maintain Windows
Domino ldquoServer Defragrdquo profiles and view databaseserver logs and summary reports
Figure 3 ndash DominoDefrag v35 Mobile Admin XPage
The mobile application XPage will invoke automatically when you enter
httpDominoDefragAdminnsf into either your iPhone or Android browser See the
distribution movie files for more feature information
DominoDefrag v41 Release Notes
4 | P a g e
Aug 18
DominoDefrag Enterprise Edition Incorporation
The DominoDefrag Administrator database now incorporates the DominoDefrag Enterprise Edition
functionality and there is no limit on number of Domino servers I decided just to provide
ldquoDominoDefrag supportrdquo and this means I donrsquot have two maintain code streams
Donations
Please click here to make donation if you feel DominoDefrag is worth supporting No
amount is too small - it all helps -)
Usage and Copyright Disclaimer
This program is free software you can redistribute it andor modify it under the terms of the GNU
Affero General Public License as published by the Free Software Foundation either version 3 of the
License or (at your option) any later version
This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
Please read more about the details of the GNU Affero General Public License
httpwwwgnuorglicenses and in the distributionrsquos ldquoGNU AFFERO GENERAL PUBLIC LICENSEtxtrdquo
file
Copyright copy 18 August 2013 - Andrew Luder
NotesTools Pty Ltd
PO Box 498
Curtin ACT Australia 2605
E-mail andrewludernotestoolscom
Phone +61 2 61008375
DominoDefrag v41 Release Notes
5 | P a g e
Aug 18
Creating Cluster Replication Stubs
When the ldquoDominoDefrag_CreateClusterReplicaStubrdquo Notes INI setting is turned on (values of 1 or
2) DominoDefrag performs the following process in two stages
Stage1 - Domino server prerequisite checks
Checks to see if Domino server if in a cluster ndash if not exits
If in cluster it determines the Domino serverrsquos cluster mate(s) ndash if not exits
Checks to see if the Domino server is specified in both the Create new replicas and Create
master templates security fields in the Server document for each mate - if not exits
Figure 4 - THUNDERSTRUCK Server document Security Access for cluster mate YTHUNDERSTRUCK
Stage 2 ndash Create cluster mate stub(s) before each database compact and defrag operation
Checks in the Cluster Directory database (cldbdirnsf) to see if the database is turned on for
cluster replication operations ndash if not exit
Checks in the Cluster Directory database to see if the database exists on each cluster mate
by matching file path and replica id ndash if does exists then exit
Checks in the Cluster Directory database to see if the database exists on each cluster mate
by matching file path If doesnrsquot then continue If does and value of 1 then exit If does and
value of 2 (overwrite) then continue
Performs other method to check if replica exists on each cluster mate by matching replica id
and if doesnrsquot then creates replica stub on each cluster mate Otherwise exits
After a replica stub is created the resulting nsfntf file is approximately 320Kb in size and the
Domino serverrsquos Cluster Directory server task will automatically update the new stubrsquos information
into the Cluster Directory database These stub files will replicate between the Domino server cluster
mates by two methods
Normal replication controlled by connection documents between them
Modifying documents in the source database to cause the Cluster Replicator tasks to
perform replication
DominoDefrag v41 Release Notes
6 | P a g e
Aug 18
Domino Data Volume Free Space Consolidation and Optimization
A question thatrsquos been posed to me several times is why does ldquocontigexerdquo only do a partial defrag of
some large Domino databases The answer is contigexe simply looks to move the fragmented
database to the first contiguous gap (defragmented free space) on the disk volume that is big
enough If there is no gap big enough then contigexe will reduce the number of fragments in the
file by moving as much of the file as possible into the largest gaps available
The DominoDefrag server task now uses the JkDefragcmdexerdquo utility to consolidate and optimize
the free space on the Domino data volume in preparation so that these partial database defrags will
be complete database defrags next time ldquocontigexerdquo processes them It has been implemented to
operate as a separate function and Irsquod recommend something you would perform once a month
Figure 5 below shows a Windows Domino data volume which ldquocontigexerdquo has been running on for a
while
Figure 5 - Windows Domino Data Volume using ldquocontigexerdquo
Figure 6 below shows the result of using the DominoDefrag_OptimizeDataVolume=1 parameter to
tell DominoDefrag to use JkDefragcmdexerdquo to consolidate free space (-a5) alphabetically sort all
file placements (-a7) and perform a complete defrag and ldquofast sortrdquo optimization (-a3) of the
Windows Domino data volume A similar strategy is recommended on the
httpkesselscomjkdefrag page
DominoDefrag v41 Release Notes
7 | P a g e
Aug 18
Figure 6- Windows Domino Data Volume using ldquoJkDefragcmdexerdquo
Generating Database Free Space
A Notes database is proportioned into used and unused space (also called free space) Free space is
only recovered when itrsquos compacted otherwise Domino will continue writing data into the free
space until itrsquos full and has to allocate more Defragging a database after optimizing the free space
(unused space) ensures future writes will be made into the free space that resides within the
database on one contiguous fragment
The DominoDefrag_CompactStart Notes INI parameter only attempts to compact a database in
which there is more than or MB size of unused space to recover
The DominoDefrag_FreeSpace Notes INI parameter attempts to generate the free space (unused
space) to the percentage of database size or MB size specified
The DominoDefrag_FreeSpaceMaxMB ensures that the amount of unused space optimized (new
free space that can be pre-allocated) is limited to the specified megabyte amount (when not
specified it defaults to 1MB) For example if DominoDefrag_FreeSpace=10 and set to
DominoDefrag_FreeSpaceMaxMB=5 only 5MB of unused space is optimized for a 1GB database
and not 100MB This is vital because it allows you to estimate increased disk usage with certainty
because in the worst case 100 used space would mean at most the database size would only
increase by 5MB This parameter is ignored when DominoDefrag_FreeSpace uses a MB value
DominoDefrag v41 Release Notes
8 | P a g e
Aug 18
Optimizing File Placement
Performs a ldquofast sortrdquo file placement optimization of database full-text transaction log or DAOS files
when DominoDefrag_OptimizeFiles=1 after defragmentation has occurred The ldquofast sortrdquo file
placement optimization attempts to keep Domino files in the same zone ndash that is together closer to
the beginning of the hard disk and therefore means the hard disk head doesnrsquot have to travel as far
to get the Domino data Therefore faster IO
Note Optimizing file placement is discussed more on the httpkesselscomjkdefrag page
DominoDefrag v41 Release Notes
9 | P a g e
Aug 18
File Information
The C API DominoDefrag 32bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 32 bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 32bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
The C API DominoDefrag 64bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 64bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 64bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
DominoDefrag v41 Release Notes
10 | P a g e
Aug 18
Notes INI Setting Information
Domino server Notes INI parameters are
Notes INI Parameter What it does
DominoDefrag_Directory Defaults to root data directory if not specified
DominoDefrag_Directory = mail Same as ldquoclotusdominodatamailrdquo Exits if not found
DominoDefrag_Directory = namesnsf Same as ldquoclotusdominodatanamesnsfrdquo Exits if not found
DominoDefrag_MinuteInterval = 60 Runs the server task continuously to the specified minute interval Will default to 0 (off) if not specified
DominoDefrag_Runtime = 30 Server task stops safely after the specified amount of minutes has elapsed and when the current database defrag has completed Will default to 0 (off) if not specified
DominoDefrag_FTIndex = 1 Will defrag associated full text index folders file(s) Will default to 0 (off) if not specified
DominoDefrag_StartPoint = 10 Specifies the average number of fragments required before a database or full-text index is defragged Will default to 2 if not specified
DominoDefrag_VerboseLogging = 1 Controls amount of server console information Will default to 0 (off) if not specified
DominoDefrag_Compact = 1 Allows in-place compact before defrag Will default to 0 (off) if not specified
DominoDefrag_CompactOptions = -C Allows use of ncompactexe options and overrides the default behaviour Will only work when DominoDefrag_Compact=1 and 2nd command line parameter not specified
DominoDefrag_CompactStart = 10 or 10MB
Specifies to compact a database in which there is more than (between 1 and 99) or MB size of database space to recover Specify (default) or MB after the number eg 10 or 10MB Will only work when DominoDefrag_Compact=1 and will default to 0 (off) if not specified
DominoDefrag_SummaryEmailAddress = World Administrator
Sends summary e-mail for server to specified e-mail address Will not send email if not specified
DominoDefrag_SummaryEmailFrom = spidermanacmecom
Sends summary e-mail for server from specified e-mail address Will default to ldquoDominoDefragrdquo if not specified
DominoDefrag_TransactionLog = 1 Will defrag transaction log files under the Notes INI TRANSLOG_Path directory value Will default to 0 (off) if not specified
DominoDefrag_DAOS = 1 Will defrag DAOS files under the Notes INI DAOSBasePath directory value Will default to 0 (off) if not specified
DominoDefrag_PerformanceCheck = 1 DominoDefrag_PerformanceCheck Notes INI tests before and after defrag millisecond performance of databases and their associated full-text indexes using generated document collections Will default to 0 (off) if not specified
DominoDefrag_FreeSpace= 10 or 10MB Attempts to generate the free space (unused space) to
DominoDefrag v41 Release Notes
11 | P a g e
Aug 18
Notes INI Parameter What it does
the of database size (between 1 and 99) or MB size specified Specify (default) or MB after the number eg 10 or 10MB Itrsquos used to optimize free space within a database to reduce future fragmentation Will default to 0 (off) if not specified
DominoDefrag_FreeSpaceMaxMB Only applies if DominoDefrag_FreeSpace is specified as a It specifies the maximum megabyte value that is used to limit the amount of new free space that can be pre-allocated Defaults to 1MB if not specified
DominoDefrag_OptimizeDataVolume=1 Specifies that ldquojkdefragcmdexerdquo is used to consolidate free space (-a5) alphabetically sort all file placements (-a7) and perform a complete defrag and fast sort optimization (-a3) of the Domino data volume It runs as a separate function and can take some time to perform Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_OptimizeFiles=1 Specifies that ldquojkdefragcmdexerdquo is used after defragmentation to fast sort file placement on the Domino data volume Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_EnterpriseSupport=1 Specifies that the ldquoDD_ServerLogcsvrdquo and ldquoDD_DatabaseLogcsvrdquo files should be created and attached to the summary email for use by the DominoDefrag Enterprise Edition mail-in database Will only work if DominoDefrag_SummaryEmailAddress is specified Will default to 0 (off) if not specified
DominoDefrag_ErrorLogging=1 DominoDefrag_ErrorLogging Notes INI parameter only reports error messages to the Domino server console Overrides DominoDefrag_VerboseLogging Will default to 0 (off) if not specified
DominoDefrag_CreateClusterReplicaStub = 1 or 2
Creates replica stubs on cluster mates Does not overwrite existing cluster mate replicas and uses cluster directory to determine whether to create A value of 2 means also overwrite databases on cluster mates that have the same database file path but different replica id
DominoDefrag_OnlyOOO = 1 Only process databases on R851+ Domino servers with Out-Of-Office turned on
DominoDefrag_ExcludeINDFiles = 1 DominoDefrag_ExcludeINDFiles excludes directories and files specified in an indirect file from being processed
DominoDefrag v41 Release Notes
12 | P a g e
Aug 18
Run Information
The DominoDefrag server task can be run from the Domino server console a program document or
the Notes INI servertask line Server task parameters are (override Notes INI equivalents)
DominoDefragexe ltDominoDefrag_Directorygt ltDominoDefrag_CompactOptionsgt
DefragCompact Requirement Load DominoDefrag statement example
Defrag all directories Load Dominodefrag
Defrag all directories with compact Load Dominodefrag ldquo ldquo ndashc
Defrag all directories with compact containing space(s) in options
Load Dominodefrag ldquo ldquo ldquondashB ndashZUrdquo
Defrag subdirectory Load Dominodefrag mail
Defrag subdirectory with wildcard Load Dominodefrag mailansf
Defrag subdirectory with compact Load Dominodefrag mail -c
Defrag subdirectory with compact containing space(s) in options
Load Dominodefrag mail ldquondashB ndashZUrdquo
Defrag subdirectory containing space(s) Load Dominodefrag ldquomailcompany xrdquo
Defrag subdirectory containing space(s) with compact
Load Dominodefrag ldquomailcompany xrdquo ndashc
Defrag subdirectory containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquomailcompany xrdquo ldquondashB ndashZUrdquo
Defrag nsfntfdirbox file Load Dominodefrag namesnsf
Defrag nsfntfdirbox file with wildcard Load Dominodefrag mailbox
Defrag nsfntfdirbox file with compact Load Dominodefrag mail85ntf ndashc
Defrag nsfntfdirbox file with compact containing space(s) in options
Load Dominodefrag mailbox ldquondashB rdquo
Defrag nsfntfdirbox file containing space(s)
Load Dominodefrag ldquotdrive linkdirrdquo
Defrag nsfntfdirbox file containing space(s) with compact
Load Dominodefrag ldquotdrive linkdirrdquo -c
Defrag nsfntfdirbox file containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquotdrive linkdirrdquo ldquondashB ndashZUrdquo
Defrag indirect file Load DominoDefrag files1ind
Defrag indirect file with compact Load DominoDefrag files1ind -c
Defrag indirect file containing space(s) with compact containing space(s) in options
Load DominoDefrag ldquofiles 1indrdquo ldquondashB ndashZUrdquo
Figure 7 - Program document example
DominoDefrag v41 Release Notes
13 | P a g e
Aug 18
Developer Workstation Setup Information
Server Requirement OpenNTF Published Document Choice(s)
Compile to work with Windows 20032008 32bit versions
ldquoDominoDefrag C API Visual Studio C++ 2010 Express Edition 32bit Workstation Setuppdfrdquo
Compile to work with Windows 20032008 64bit versions
ldquoDominoDefrag C API Visual Studio 2010 C++ 64bit Workstation Setuppdfrdquo
Independent Review
Over a 7 month period Spanish Lotus User Group (ESLUG) blogger Albert Buendia road tested
DominoDefrag (versions 14-21) and presents his comprehensive findings in the PDF files below
English version -gt httpwwwslugesblogslugnsfdxdefragging-domino-servers-
v12pdf$filedefragging-domino-servers-v12pdf
Spanish version -gt httpslugmailslugesBlogSlugnsfdxdesfragmentando-servidores-
domino-v2pdf$filedesfragmentando-servidores-domino-v2pdf
Other Related information
Domino 853 Upgrade Pack 1 - httpwwwopenntforgblogsopenntfnsfd6plinksNHEF-
8PJNBU
Contigexe (v17) By Mark Russinovich (Sysinternals) - httptechnetmicrosoftcomen-
ussysinternalsbb897428aspx
JkDefragCmdexe (v336) By Jeroen Kessels - httpkesselscomjkdefrag
Lotus C API toolkits - httpwwwibmcomdeveloperworkslotusdownloadstoolkitshtml
IBM Technote 1229817 - Slow response from a Domino server when attempting to open a
Lotus Notes database or switch views in the database - httpwww-
01ibmcomsupportdocviewwssuid=swg21229817
Lotus Notes and Domino wiki article - IBM Lotus Domino Server performance Hard disk
fragmentation - httpwww-
10lotuscomldddominowikinsfdx01152009062114PMWEBVDThtm
Greyhawks Meanderings Blog - The great defrag debate Defrag Domino or No -
httpwwwgreyhawk68comgreyhawk68homensfd6plinksJROG-7F8TZS
The Weird World of Eknori - Database Defragmentation - Poor Manrsquos Solution -
httpwwweknoride2008-11-29database-defragmentation-poor-mans-solution
Visual Studio 20082010 C++ Express Editions -
httpwwwmicrosoftcomexpressdownload
IBM Technote 1208136 on indirect file usage for batch processing -
httpwww-01ibmcomsupportdocviewwssrs=0ampuid=swg21208136
DominoDefrag v41 Release Notes
14 | P a g e
Aug 18
Avoiding DominoDefrag Administrator database installation problems
Make sure the Signing ID you signed the ldquoDominoDefragAdminnsfrdquo with is in server
document access fields
Figure 8 - Server document access fields
This will stop the 403 error belowhellip
Figure 9 - Error 403
Make sure HTTP and Extension Library are loaded Also this is compiled for R852+
Figure 10 - HTTP and Extension Library
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
2 | P a g e
Aug 18
Whatrsquos new in v41
DominoDefrag Administrator database has a new Dojo tabbed container interface replacing the
previous One UI v21 This Claro themed interface provides enhanced grids with pagination
capability provided by the ldquoccDojoGrid_JSONrdquo custom control The new JSON REST engine has
significantly increased grid performance as only the page is loaded now and not the entire grid store
It also provides filtering double click dialog opening functionality and Add and Remove buttons
(utilised on in all tabs where a grid is required) Grids are populated by associated JSON generating
xAgents and views
Figure 1 ndash New DominoDefrag v41 XPage Interface grid
A sidebar is also provided to display information and error messages The grid in it is populated by
associated XML generating xAgent and view Double clicking on a message switches to the related
tab See a YouTube video of new v4x interface at httpwwwyoutubecomwatchv=hLUynXxwCtw
Figure 2 ndash New DominoDefrag v41 XPage Interface sidebar
Also an indirect file (IND extension) can now be used to exclude directories and files from being
processed See new INI setting DominoDefrag_ExcludeINDFiles
Change History
httpsnotestoolscomauDominoDefrag_ChangeLogtxt
DominoDefrag v41 Release Notes
3 | P a g e
Aug 18
Mobile Administration
DominoDefrag Administrator database has a single mobile application XPage (m_appxsp)
called DominoDefrag Mobile Admin that uses both the Dojo mobile controls directly and
from the 85390 extension library This gives the ability to remotely maintain Windows
Domino ldquoServer Defragrdquo profiles and view databaseserver logs and summary reports
Figure 3 ndash DominoDefrag v35 Mobile Admin XPage
The mobile application XPage will invoke automatically when you enter
httpDominoDefragAdminnsf into either your iPhone or Android browser See the
distribution movie files for more feature information
DominoDefrag v41 Release Notes
4 | P a g e
Aug 18
DominoDefrag Enterprise Edition Incorporation
The DominoDefrag Administrator database now incorporates the DominoDefrag Enterprise Edition
functionality and there is no limit on number of Domino servers I decided just to provide
ldquoDominoDefrag supportrdquo and this means I donrsquot have two maintain code streams
Donations
Please click here to make donation if you feel DominoDefrag is worth supporting No
amount is too small - it all helps -)
Usage and Copyright Disclaimer
This program is free software you can redistribute it andor modify it under the terms of the GNU
Affero General Public License as published by the Free Software Foundation either version 3 of the
License or (at your option) any later version
This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
Please read more about the details of the GNU Affero General Public License
httpwwwgnuorglicenses and in the distributionrsquos ldquoGNU AFFERO GENERAL PUBLIC LICENSEtxtrdquo
file
Copyright copy 18 August 2013 - Andrew Luder
NotesTools Pty Ltd
PO Box 498
Curtin ACT Australia 2605
E-mail andrewludernotestoolscom
Phone +61 2 61008375
DominoDefrag v41 Release Notes
5 | P a g e
Aug 18
Creating Cluster Replication Stubs
When the ldquoDominoDefrag_CreateClusterReplicaStubrdquo Notes INI setting is turned on (values of 1 or
2) DominoDefrag performs the following process in two stages
Stage1 - Domino server prerequisite checks
Checks to see if Domino server if in a cluster ndash if not exits
If in cluster it determines the Domino serverrsquos cluster mate(s) ndash if not exits
Checks to see if the Domino server is specified in both the Create new replicas and Create
master templates security fields in the Server document for each mate - if not exits
Figure 4 - THUNDERSTRUCK Server document Security Access for cluster mate YTHUNDERSTRUCK
Stage 2 ndash Create cluster mate stub(s) before each database compact and defrag operation
Checks in the Cluster Directory database (cldbdirnsf) to see if the database is turned on for
cluster replication operations ndash if not exit
Checks in the Cluster Directory database to see if the database exists on each cluster mate
by matching file path and replica id ndash if does exists then exit
Checks in the Cluster Directory database to see if the database exists on each cluster mate
by matching file path If doesnrsquot then continue If does and value of 1 then exit If does and
value of 2 (overwrite) then continue
Performs other method to check if replica exists on each cluster mate by matching replica id
and if doesnrsquot then creates replica stub on each cluster mate Otherwise exits
After a replica stub is created the resulting nsfntf file is approximately 320Kb in size and the
Domino serverrsquos Cluster Directory server task will automatically update the new stubrsquos information
into the Cluster Directory database These stub files will replicate between the Domino server cluster
mates by two methods
Normal replication controlled by connection documents between them
Modifying documents in the source database to cause the Cluster Replicator tasks to
perform replication
DominoDefrag v41 Release Notes
6 | P a g e
Aug 18
Domino Data Volume Free Space Consolidation and Optimization
A question thatrsquos been posed to me several times is why does ldquocontigexerdquo only do a partial defrag of
some large Domino databases The answer is contigexe simply looks to move the fragmented
database to the first contiguous gap (defragmented free space) on the disk volume that is big
enough If there is no gap big enough then contigexe will reduce the number of fragments in the
file by moving as much of the file as possible into the largest gaps available
The DominoDefrag server task now uses the JkDefragcmdexerdquo utility to consolidate and optimize
the free space on the Domino data volume in preparation so that these partial database defrags will
be complete database defrags next time ldquocontigexerdquo processes them It has been implemented to
operate as a separate function and Irsquod recommend something you would perform once a month
Figure 5 below shows a Windows Domino data volume which ldquocontigexerdquo has been running on for a
while
Figure 5 - Windows Domino Data Volume using ldquocontigexerdquo
Figure 6 below shows the result of using the DominoDefrag_OptimizeDataVolume=1 parameter to
tell DominoDefrag to use JkDefragcmdexerdquo to consolidate free space (-a5) alphabetically sort all
file placements (-a7) and perform a complete defrag and ldquofast sortrdquo optimization (-a3) of the
Windows Domino data volume A similar strategy is recommended on the
httpkesselscomjkdefrag page
DominoDefrag v41 Release Notes
7 | P a g e
Aug 18
Figure 6- Windows Domino Data Volume using ldquoJkDefragcmdexerdquo
Generating Database Free Space
A Notes database is proportioned into used and unused space (also called free space) Free space is
only recovered when itrsquos compacted otherwise Domino will continue writing data into the free
space until itrsquos full and has to allocate more Defragging a database after optimizing the free space
(unused space) ensures future writes will be made into the free space that resides within the
database on one contiguous fragment
The DominoDefrag_CompactStart Notes INI parameter only attempts to compact a database in
which there is more than or MB size of unused space to recover
The DominoDefrag_FreeSpace Notes INI parameter attempts to generate the free space (unused
space) to the percentage of database size or MB size specified
The DominoDefrag_FreeSpaceMaxMB ensures that the amount of unused space optimized (new
free space that can be pre-allocated) is limited to the specified megabyte amount (when not
specified it defaults to 1MB) For example if DominoDefrag_FreeSpace=10 and set to
DominoDefrag_FreeSpaceMaxMB=5 only 5MB of unused space is optimized for a 1GB database
and not 100MB This is vital because it allows you to estimate increased disk usage with certainty
because in the worst case 100 used space would mean at most the database size would only
increase by 5MB This parameter is ignored when DominoDefrag_FreeSpace uses a MB value
DominoDefrag v41 Release Notes
8 | P a g e
Aug 18
Optimizing File Placement
Performs a ldquofast sortrdquo file placement optimization of database full-text transaction log or DAOS files
when DominoDefrag_OptimizeFiles=1 after defragmentation has occurred The ldquofast sortrdquo file
placement optimization attempts to keep Domino files in the same zone ndash that is together closer to
the beginning of the hard disk and therefore means the hard disk head doesnrsquot have to travel as far
to get the Domino data Therefore faster IO
Note Optimizing file placement is discussed more on the httpkesselscomjkdefrag page
DominoDefrag v41 Release Notes
9 | P a g e
Aug 18
File Information
The C API DominoDefrag 32bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 32 bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 32bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
The C API DominoDefrag 64bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 64bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 64bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
DominoDefrag v41 Release Notes
10 | P a g e
Aug 18
Notes INI Setting Information
Domino server Notes INI parameters are
Notes INI Parameter What it does
DominoDefrag_Directory Defaults to root data directory if not specified
DominoDefrag_Directory = mail Same as ldquoclotusdominodatamailrdquo Exits if not found
DominoDefrag_Directory = namesnsf Same as ldquoclotusdominodatanamesnsfrdquo Exits if not found
DominoDefrag_MinuteInterval = 60 Runs the server task continuously to the specified minute interval Will default to 0 (off) if not specified
DominoDefrag_Runtime = 30 Server task stops safely after the specified amount of minutes has elapsed and when the current database defrag has completed Will default to 0 (off) if not specified
DominoDefrag_FTIndex = 1 Will defrag associated full text index folders file(s) Will default to 0 (off) if not specified
DominoDefrag_StartPoint = 10 Specifies the average number of fragments required before a database or full-text index is defragged Will default to 2 if not specified
DominoDefrag_VerboseLogging = 1 Controls amount of server console information Will default to 0 (off) if not specified
DominoDefrag_Compact = 1 Allows in-place compact before defrag Will default to 0 (off) if not specified
DominoDefrag_CompactOptions = -C Allows use of ncompactexe options and overrides the default behaviour Will only work when DominoDefrag_Compact=1 and 2nd command line parameter not specified
DominoDefrag_CompactStart = 10 or 10MB
Specifies to compact a database in which there is more than (between 1 and 99) or MB size of database space to recover Specify (default) or MB after the number eg 10 or 10MB Will only work when DominoDefrag_Compact=1 and will default to 0 (off) if not specified
DominoDefrag_SummaryEmailAddress = World Administrator
Sends summary e-mail for server to specified e-mail address Will not send email if not specified
DominoDefrag_SummaryEmailFrom = spidermanacmecom
Sends summary e-mail for server from specified e-mail address Will default to ldquoDominoDefragrdquo if not specified
DominoDefrag_TransactionLog = 1 Will defrag transaction log files under the Notes INI TRANSLOG_Path directory value Will default to 0 (off) if not specified
DominoDefrag_DAOS = 1 Will defrag DAOS files under the Notes INI DAOSBasePath directory value Will default to 0 (off) if not specified
DominoDefrag_PerformanceCheck = 1 DominoDefrag_PerformanceCheck Notes INI tests before and after defrag millisecond performance of databases and their associated full-text indexes using generated document collections Will default to 0 (off) if not specified
DominoDefrag_FreeSpace= 10 or 10MB Attempts to generate the free space (unused space) to
DominoDefrag v41 Release Notes
11 | P a g e
Aug 18
Notes INI Parameter What it does
the of database size (between 1 and 99) or MB size specified Specify (default) or MB after the number eg 10 or 10MB Itrsquos used to optimize free space within a database to reduce future fragmentation Will default to 0 (off) if not specified
DominoDefrag_FreeSpaceMaxMB Only applies if DominoDefrag_FreeSpace is specified as a It specifies the maximum megabyte value that is used to limit the amount of new free space that can be pre-allocated Defaults to 1MB if not specified
DominoDefrag_OptimizeDataVolume=1 Specifies that ldquojkdefragcmdexerdquo is used to consolidate free space (-a5) alphabetically sort all file placements (-a7) and perform a complete defrag and fast sort optimization (-a3) of the Domino data volume It runs as a separate function and can take some time to perform Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_OptimizeFiles=1 Specifies that ldquojkdefragcmdexerdquo is used after defragmentation to fast sort file placement on the Domino data volume Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_EnterpriseSupport=1 Specifies that the ldquoDD_ServerLogcsvrdquo and ldquoDD_DatabaseLogcsvrdquo files should be created and attached to the summary email for use by the DominoDefrag Enterprise Edition mail-in database Will only work if DominoDefrag_SummaryEmailAddress is specified Will default to 0 (off) if not specified
DominoDefrag_ErrorLogging=1 DominoDefrag_ErrorLogging Notes INI parameter only reports error messages to the Domino server console Overrides DominoDefrag_VerboseLogging Will default to 0 (off) if not specified
DominoDefrag_CreateClusterReplicaStub = 1 or 2
Creates replica stubs on cluster mates Does not overwrite existing cluster mate replicas and uses cluster directory to determine whether to create A value of 2 means also overwrite databases on cluster mates that have the same database file path but different replica id
DominoDefrag_OnlyOOO = 1 Only process databases on R851+ Domino servers with Out-Of-Office turned on
DominoDefrag_ExcludeINDFiles = 1 DominoDefrag_ExcludeINDFiles excludes directories and files specified in an indirect file from being processed
DominoDefrag v41 Release Notes
12 | P a g e
Aug 18
Run Information
The DominoDefrag server task can be run from the Domino server console a program document or
the Notes INI servertask line Server task parameters are (override Notes INI equivalents)
DominoDefragexe ltDominoDefrag_Directorygt ltDominoDefrag_CompactOptionsgt
DefragCompact Requirement Load DominoDefrag statement example
Defrag all directories Load Dominodefrag
Defrag all directories with compact Load Dominodefrag ldquo ldquo ndashc
Defrag all directories with compact containing space(s) in options
Load Dominodefrag ldquo ldquo ldquondashB ndashZUrdquo
Defrag subdirectory Load Dominodefrag mail
Defrag subdirectory with wildcard Load Dominodefrag mailansf
Defrag subdirectory with compact Load Dominodefrag mail -c
Defrag subdirectory with compact containing space(s) in options
Load Dominodefrag mail ldquondashB ndashZUrdquo
Defrag subdirectory containing space(s) Load Dominodefrag ldquomailcompany xrdquo
Defrag subdirectory containing space(s) with compact
Load Dominodefrag ldquomailcompany xrdquo ndashc
Defrag subdirectory containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquomailcompany xrdquo ldquondashB ndashZUrdquo
Defrag nsfntfdirbox file Load Dominodefrag namesnsf
Defrag nsfntfdirbox file with wildcard Load Dominodefrag mailbox
Defrag nsfntfdirbox file with compact Load Dominodefrag mail85ntf ndashc
Defrag nsfntfdirbox file with compact containing space(s) in options
Load Dominodefrag mailbox ldquondashB rdquo
Defrag nsfntfdirbox file containing space(s)
Load Dominodefrag ldquotdrive linkdirrdquo
Defrag nsfntfdirbox file containing space(s) with compact
Load Dominodefrag ldquotdrive linkdirrdquo -c
Defrag nsfntfdirbox file containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquotdrive linkdirrdquo ldquondashB ndashZUrdquo
Defrag indirect file Load DominoDefrag files1ind
Defrag indirect file with compact Load DominoDefrag files1ind -c
Defrag indirect file containing space(s) with compact containing space(s) in options
Load DominoDefrag ldquofiles 1indrdquo ldquondashB ndashZUrdquo
Figure 7 - Program document example
DominoDefrag v41 Release Notes
13 | P a g e
Aug 18
Developer Workstation Setup Information
Server Requirement OpenNTF Published Document Choice(s)
Compile to work with Windows 20032008 32bit versions
ldquoDominoDefrag C API Visual Studio C++ 2010 Express Edition 32bit Workstation Setuppdfrdquo
Compile to work with Windows 20032008 64bit versions
ldquoDominoDefrag C API Visual Studio 2010 C++ 64bit Workstation Setuppdfrdquo
Independent Review
Over a 7 month period Spanish Lotus User Group (ESLUG) blogger Albert Buendia road tested
DominoDefrag (versions 14-21) and presents his comprehensive findings in the PDF files below
English version -gt httpwwwslugesblogslugnsfdxdefragging-domino-servers-
v12pdf$filedefragging-domino-servers-v12pdf
Spanish version -gt httpslugmailslugesBlogSlugnsfdxdesfragmentando-servidores-
domino-v2pdf$filedesfragmentando-servidores-domino-v2pdf
Other Related information
Domino 853 Upgrade Pack 1 - httpwwwopenntforgblogsopenntfnsfd6plinksNHEF-
8PJNBU
Contigexe (v17) By Mark Russinovich (Sysinternals) - httptechnetmicrosoftcomen-
ussysinternalsbb897428aspx
JkDefragCmdexe (v336) By Jeroen Kessels - httpkesselscomjkdefrag
Lotus C API toolkits - httpwwwibmcomdeveloperworkslotusdownloadstoolkitshtml
IBM Technote 1229817 - Slow response from a Domino server when attempting to open a
Lotus Notes database or switch views in the database - httpwww-
01ibmcomsupportdocviewwssuid=swg21229817
Lotus Notes and Domino wiki article - IBM Lotus Domino Server performance Hard disk
fragmentation - httpwww-
10lotuscomldddominowikinsfdx01152009062114PMWEBVDThtm
Greyhawks Meanderings Blog - The great defrag debate Defrag Domino or No -
httpwwwgreyhawk68comgreyhawk68homensfd6plinksJROG-7F8TZS
The Weird World of Eknori - Database Defragmentation - Poor Manrsquos Solution -
httpwwweknoride2008-11-29database-defragmentation-poor-mans-solution
Visual Studio 20082010 C++ Express Editions -
httpwwwmicrosoftcomexpressdownload
IBM Technote 1208136 on indirect file usage for batch processing -
httpwww-01ibmcomsupportdocviewwssrs=0ampuid=swg21208136
DominoDefrag v41 Release Notes
14 | P a g e
Aug 18
Avoiding DominoDefrag Administrator database installation problems
Make sure the Signing ID you signed the ldquoDominoDefragAdminnsfrdquo with is in server
document access fields
Figure 8 - Server document access fields
This will stop the 403 error belowhellip
Figure 9 - Error 403
Make sure HTTP and Extension Library are loaded Also this is compiled for R852+
Figure 10 - HTTP and Extension Library
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
3 | P a g e
Aug 18
Mobile Administration
DominoDefrag Administrator database has a single mobile application XPage (m_appxsp)
called DominoDefrag Mobile Admin that uses both the Dojo mobile controls directly and
from the 85390 extension library This gives the ability to remotely maintain Windows
Domino ldquoServer Defragrdquo profiles and view databaseserver logs and summary reports
Figure 3 ndash DominoDefrag v35 Mobile Admin XPage
The mobile application XPage will invoke automatically when you enter
httpDominoDefragAdminnsf into either your iPhone or Android browser See the
distribution movie files for more feature information
DominoDefrag v41 Release Notes
4 | P a g e
Aug 18
DominoDefrag Enterprise Edition Incorporation
The DominoDefrag Administrator database now incorporates the DominoDefrag Enterprise Edition
functionality and there is no limit on number of Domino servers I decided just to provide
ldquoDominoDefrag supportrdquo and this means I donrsquot have two maintain code streams
Donations
Please click here to make donation if you feel DominoDefrag is worth supporting No
amount is too small - it all helps -)
Usage and Copyright Disclaimer
This program is free software you can redistribute it andor modify it under the terms of the GNU
Affero General Public License as published by the Free Software Foundation either version 3 of the
License or (at your option) any later version
This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
Please read more about the details of the GNU Affero General Public License
httpwwwgnuorglicenses and in the distributionrsquos ldquoGNU AFFERO GENERAL PUBLIC LICENSEtxtrdquo
file
Copyright copy 18 August 2013 - Andrew Luder
NotesTools Pty Ltd
PO Box 498
Curtin ACT Australia 2605
E-mail andrewludernotestoolscom
Phone +61 2 61008375
DominoDefrag v41 Release Notes
5 | P a g e
Aug 18
Creating Cluster Replication Stubs
When the ldquoDominoDefrag_CreateClusterReplicaStubrdquo Notes INI setting is turned on (values of 1 or
2) DominoDefrag performs the following process in two stages
Stage1 - Domino server prerequisite checks
Checks to see if Domino server if in a cluster ndash if not exits
If in cluster it determines the Domino serverrsquos cluster mate(s) ndash if not exits
Checks to see if the Domino server is specified in both the Create new replicas and Create
master templates security fields in the Server document for each mate - if not exits
Figure 4 - THUNDERSTRUCK Server document Security Access for cluster mate YTHUNDERSTRUCK
Stage 2 ndash Create cluster mate stub(s) before each database compact and defrag operation
Checks in the Cluster Directory database (cldbdirnsf) to see if the database is turned on for
cluster replication operations ndash if not exit
Checks in the Cluster Directory database to see if the database exists on each cluster mate
by matching file path and replica id ndash if does exists then exit
Checks in the Cluster Directory database to see if the database exists on each cluster mate
by matching file path If doesnrsquot then continue If does and value of 1 then exit If does and
value of 2 (overwrite) then continue
Performs other method to check if replica exists on each cluster mate by matching replica id
and if doesnrsquot then creates replica stub on each cluster mate Otherwise exits
After a replica stub is created the resulting nsfntf file is approximately 320Kb in size and the
Domino serverrsquos Cluster Directory server task will automatically update the new stubrsquos information
into the Cluster Directory database These stub files will replicate between the Domino server cluster
mates by two methods
Normal replication controlled by connection documents between them
Modifying documents in the source database to cause the Cluster Replicator tasks to
perform replication
DominoDefrag v41 Release Notes
6 | P a g e
Aug 18
Domino Data Volume Free Space Consolidation and Optimization
A question thatrsquos been posed to me several times is why does ldquocontigexerdquo only do a partial defrag of
some large Domino databases The answer is contigexe simply looks to move the fragmented
database to the first contiguous gap (defragmented free space) on the disk volume that is big
enough If there is no gap big enough then contigexe will reduce the number of fragments in the
file by moving as much of the file as possible into the largest gaps available
The DominoDefrag server task now uses the JkDefragcmdexerdquo utility to consolidate and optimize
the free space on the Domino data volume in preparation so that these partial database defrags will
be complete database defrags next time ldquocontigexerdquo processes them It has been implemented to
operate as a separate function and Irsquod recommend something you would perform once a month
Figure 5 below shows a Windows Domino data volume which ldquocontigexerdquo has been running on for a
while
Figure 5 - Windows Domino Data Volume using ldquocontigexerdquo
Figure 6 below shows the result of using the DominoDefrag_OptimizeDataVolume=1 parameter to
tell DominoDefrag to use JkDefragcmdexerdquo to consolidate free space (-a5) alphabetically sort all
file placements (-a7) and perform a complete defrag and ldquofast sortrdquo optimization (-a3) of the
Windows Domino data volume A similar strategy is recommended on the
httpkesselscomjkdefrag page
DominoDefrag v41 Release Notes
7 | P a g e
Aug 18
Figure 6- Windows Domino Data Volume using ldquoJkDefragcmdexerdquo
Generating Database Free Space
A Notes database is proportioned into used and unused space (also called free space) Free space is
only recovered when itrsquos compacted otherwise Domino will continue writing data into the free
space until itrsquos full and has to allocate more Defragging a database after optimizing the free space
(unused space) ensures future writes will be made into the free space that resides within the
database on one contiguous fragment
The DominoDefrag_CompactStart Notes INI parameter only attempts to compact a database in
which there is more than or MB size of unused space to recover
The DominoDefrag_FreeSpace Notes INI parameter attempts to generate the free space (unused
space) to the percentage of database size or MB size specified
The DominoDefrag_FreeSpaceMaxMB ensures that the amount of unused space optimized (new
free space that can be pre-allocated) is limited to the specified megabyte amount (when not
specified it defaults to 1MB) For example if DominoDefrag_FreeSpace=10 and set to
DominoDefrag_FreeSpaceMaxMB=5 only 5MB of unused space is optimized for a 1GB database
and not 100MB This is vital because it allows you to estimate increased disk usage with certainty
because in the worst case 100 used space would mean at most the database size would only
increase by 5MB This parameter is ignored when DominoDefrag_FreeSpace uses a MB value
DominoDefrag v41 Release Notes
8 | P a g e
Aug 18
Optimizing File Placement
Performs a ldquofast sortrdquo file placement optimization of database full-text transaction log or DAOS files
when DominoDefrag_OptimizeFiles=1 after defragmentation has occurred The ldquofast sortrdquo file
placement optimization attempts to keep Domino files in the same zone ndash that is together closer to
the beginning of the hard disk and therefore means the hard disk head doesnrsquot have to travel as far
to get the Domino data Therefore faster IO
Note Optimizing file placement is discussed more on the httpkesselscomjkdefrag page
DominoDefrag v41 Release Notes
9 | P a g e
Aug 18
File Information
The C API DominoDefrag 32bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 32 bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 32bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
The C API DominoDefrag 64bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 64bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 64bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
DominoDefrag v41 Release Notes
10 | P a g e
Aug 18
Notes INI Setting Information
Domino server Notes INI parameters are
Notes INI Parameter What it does
DominoDefrag_Directory Defaults to root data directory if not specified
DominoDefrag_Directory = mail Same as ldquoclotusdominodatamailrdquo Exits if not found
DominoDefrag_Directory = namesnsf Same as ldquoclotusdominodatanamesnsfrdquo Exits if not found
DominoDefrag_MinuteInterval = 60 Runs the server task continuously to the specified minute interval Will default to 0 (off) if not specified
DominoDefrag_Runtime = 30 Server task stops safely after the specified amount of minutes has elapsed and when the current database defrag has completed Will default to 0 (off) if not specified
DominoDefrag_FTIndex = 1 Will defrag associated full text index folders file(s) Will default to 0 (off) if not specified
DominoDefrag_StartPoint = 10 Specifies the average number of fragments required before a database or full-text index is defragged Will default to 2 if not specified
DominoDefrag_VerboseLogging = 1 Controls amount of server console information Will default to 0 (off) if not specified
DominoDefrag_Compact = 1 Allows in-place compact before defrag Will default to 0 (off) if not specified
DominoDefrag_CompactOptions = -C Allows use of ncompactexe options and overrides the default behaviour Will only work when DominoDefrag_Compact=1 and 2nd command line parameter not specified
DominoDefrag_CompactStart = 10 or 10MB
Specifies to compact a database in which there is more than (between 1 and 99) or MB size of database space to recover Specify (default) or MB after the number eg 10 or 10MB Will only work when DominoDefrag_Compact=1 and will default to 0 (off) if not specified
DominoDefrag_SummaryEmailAddress = World Administrator
Sends summary e-mail for server to specified e-mail address Will not send email if not specified
DominoDefrag_SummaryEmailFrom = spidermanacmecom
Sends summary e-mail for server from specified e-mail address Will default to ldquoDominoDefragrdquo if not specified
DominoDefrag_TransactionLog = 1 Will defrag transaction log files under the Notes INI TRANSLOG_Path directory value Will default to 0 (off) if not specified
DominoDefrag_DAOS = 1 Will defrag DAOS files under the Notes INI DAOSBasePath directory value Will default to 0 (off) if not specified
DominoDefrag_PerformanceCheck = 1 DominoDefrag_PerformanceCheck Notes INI tests before and after defrag millisecond performance of databases and their associated full-text indexes using generated document collections Will default to 0 (off) if not specified
DominoDefrag_FreeSpace= 10 or 10MB Attempts to generate the free space (unused space) to
DominoDefrag v41 Release Notes
11 | P a g e
Aug 18
Notes INI Parameter What it does
the of database size (between 1 and 99) or MB size specified Specify (default) or MB after the number eg 10 or 10MB Itrsquos used to optimize free space within a database to reduce future fragmentation Will default to 0 (off) if not specified
DominoDefrag_FreeSpaceMaxMB Only applies if DominoDefrag_FreeSpace is specified as a It specifies the maximum megabyte value that is used to limit the amount of new free space that can be pre-allocated Defaults to 1MB if not specified
DominoDefrag_OptimizeDataVolume=1 Specifies that ldquojkdefragcmdexerdquo is used to consolidate free space (-a5) alphabetically sort all file placements (-a7) and perform a complete defrag and fast sort optimization (-a3) of the Domino data volume It runs as a separate function and can take some time to perform Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_OptimizeFiles=1 Specifies that ldquojkdefragcmdexerdquo is used after defragmentation to fast sort file placement on the Domino data volume Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_EnterpriseSupport=1 Specifies that the ldquoDD_ServerLogcsvrdquo and ldquoDD_DatabaseLogcsvrdquo files should be created and attached to the summary email for use by the DominoDefrag Enterprise Edition mail-in database Will only work if DominoDefrag_SummaryEmailAddress is specified Will default to 0 (off) if not specified
DominoDefrag_ErrorLogging=1 DominoDefrag_ErrorLogging Notes INI parameter only reports error messages to the Domino server console Overrides DominoDefrag_VerboseLogging Will default to 0 (off) if not specified
DominoDefrag_CreateClusterReplicaStub = 1 or 2
Creates replica stubs on cluster mates Does not overwrite existing cluster mate replicas and uses cluster directory to determine whether to create A value of 2 means also overwrite databases on cluster mates that have the same database file path but different replica id
DominoDefrag_OnlyOOO = 1 Only process databases on R851+ Domino servers with Out-Of-Office turned on
DominoDefrag_ExcludeINDFiles = 1 DominoDefrag_ExcludeINDFiles excludes directories and files specified in an indirect file from being processed
DominoDefrag v41 Release Notes
12 | P a g e
Aug 18
Run Information
The DominoDefrag server task can be run from the Domino server console a program document or
the Notes INI servertask line Server task parameters are (override Notes INI equivalents)
DominoDefragexe ltDominoDefrag_Directorygt ltDominoDefrag_CompactOptionsgt
DefragCompact Requirement Load DominoDefrag statement example
Defrag all directories Load Dominodefrag
Defrag all directories with compact Load Dominodefrag ldquo ldquo ndashc
Defrag all directories with compact containing space(s) in options
Load Dominodefrag ldquo ldquo ldquondashB ndashZUrdquo
Defrag subdirectory Load Dominodefrag mail
Defrag subdirectory with wildcard Load Dominodefrag mailansf
Defrag subdirectory with compact Load Dominodefrag mail -c
Defrag subdirectory with compact containing space(s) in options
Load Dominodefrag mail ldquondashB ndashZUrdquo
Defrag subdirectory containing space(s) Load Dominodefrag ldquomailcompany xrdquo
Defrag subdirectory containing space(s) with compact
Load Dominodefrag ldquomailcompany xrdquo ndashc
Defrag subdirectory containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquomailcompany xrdquo ldquondashB ndashZUrdquo
Defrag nsfntfdirbox file Load Dominodefrag namesnsf
Defrag nsfntfdirbox file with wildcard Load Dominodefrag mailbox
Defrag nsfntfdirbox file with compact Load Dominodefrag mail85ntf ndashc
Defrag nsfntfdirbox file with compact containing space(s) in options
Load Dominodefrag mailbox ldquondashB rdquo
Defrag nsfntfdirbox file containing space(s)
Load Dominodefrag ldquotdrive linkdirrdquo
Defrag nsfntfdirbox file containing space(s) with compact
Load Dominodefrag ldquotdrive linkdirrdquo -c
Defrag nsfntfdirbox file containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquotdrive linkdirrdquo ldquondashB ndashZUrdquo
Defrag indirect file Load DominoDefrag files1ind
Defrag indirect file with compact Load DominoDefrag files1ind -c
Defrag indirect file containing space(s) with compact containing space(s) in options
Load DominoDefrag ldquofiles 1indrdquo ldquondashB ndashZUrdquo
Figure 7 - Program document example
DominoDefrag v41 Release Notes
13 | P a g e
Aug 18
Developer Workstation Setup Information
Server Requirement OpenNTF Published Document Choice(s)
Compile to work with Windows 20032008 32bit versions
ldquoDominoDefrag C API Visual Studio C++ 2010 Express Edition 32bit Workstation Setuppdfrdquo
Compile to work with Windows 20032008 64bit versions
ldquoDominoDefrag C API Visual Studio 2010 C++ 64bit Workstation Setuppdfrdquo
Independent Review
Over a 7 month period Spanish Lotus User Group (ESLUG) blogger Albert Buendia road tested
DominoDefrag (versions 14-21) and presents his comprehensive findings in the PDF files below
English version -gt httpwwwslugesblogslugnsfdxdefragging-domino-servers-
v12pdf$filedefragging-domino-servers-v12pdf
Spanish version -gt httpslugmailslugesBlogSlugnsfdxdesfragmentando-servidores-
domino-v2pdf$filedesfragmentando-servidores-domino-v2pdf
Other Related information
Domino 853 Upgrade Pack 1 - httpwwwopenntforgblogsopenntfnsfd6plinksNHEF-
8PJNBU
Contigexe (v17) By Mark Russinovich (Sysinternals) - httptechnetmicrosoftcomen-
ussysinternalsbb897428aspx
JkDefragCmdexe (v336) By Jeroen Kessels - httpkesselscomjkdefrag
Lotus C API toolkits - httpwwwibmcomdeveloperworkslotusdownloadstoolkitshtml
IBM Technote 1229817 - Slow response from a Domino server when attempting to open a
Lotus Notes database or switch views in the database - httpwww-
01ibmcomsupportdocviewwssuid=swg21229817
Lotus Notes and Domino wiki article - IBM Lotus Domino Server performance Hard disk
fragmentation - httpwww-
10lotuscomldddominowikinsfdx01152009062114PMWEBVDThtm
Greyhawks Meanderings Blog - The great defrag debate Defrag Domino or No -
httpwwwgreyhawk68comgreyhawk68homensfd6plinksJROG-7F8TZS
The Weird World of Eknori - Database Defragmentation - Poor Manrsquos Solution -
httpwwweknoride2008-11-29database-defragmentation-poor-mans-solution
Visual Studio 20082010 C++ Express Editions -
httpwwwmicrosoftcomexpressdownload
IBM Technote 1208136 on indirect file usage for batch processing -
httpwww-01ibmcomsupportdocviewwssrs=0ampuid=swg21208136
DominoDefrag v41 Release Notes
14 | P a g e
Aug 18
Avoiding DominoDefrag Administrator database installation problems
Make sure the Signing ID you signed the ldquoDominoDefragAdminnsfrdquo with is in server
document access fields
Figure 8 - Server document access fields
This will stop the 403 error belowhellip
Figure 9 - Error 403
Make sure HTTP and Extension Library are loaded Also this is compiled for R852+
Figure 10 - HTTP and Extension Library
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
4 | P a g e
Aug 18
DominoDefrag Enterprise Edition Incorporation
The DominoDefrag Administrator database now incorporates the DominoDefrag Enterprise Edition
functionality and there is no limit on number of Domino servers I decided just to provide
ldquoDominoDefrag supportrdquo and this means I donrsquot have two maintain code streams
Donations
Please click here to make donation if you feel DominoDefrag is worth supporting No
amount is too small - it all helps -)
Usage and Copyright Disclaimer
This program is free software you can redistribute it andor modify it under the terms of the GNU
Affero General Public License as published by the Free Software Foundation either version 3 of the
License or (at your option) any later version
This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
Please read more about the details of the GNU Affero General Public License
httpwwwgnuorglicenses and in the distributionrsquos ldquoGNU AFFERO GENERAL PUBLIC LICENSEtxtrdquo
file
Copyright copy 18 August 2013 - Andrew Luder
NotesTools Pty Ltd
PO Box 498
Curtin ACT Australia 2605
E-mail andrewludernotestoolscom
Phone +61 2 61008375
DominoDefrag v41 Release Notes
5 | P a g e
Aug 18
Creating Cluster Replication Stubs
When the ldquoDominoDefrag_CreateClusterReplicaStubrdquo Notes INI setting is turned on (values of 1 or
2) DominoDefrag performs the following process in two stages
Stage1 - Domino server prerequisite checks
Checks to see if Domino server if in a cluster ndash if not exits
If in cluster it determines the Domino serverrsquos cluster mate(s) ndash if not exits
Checks to see if the Domino server is specified in both the Create new replicas and Create
master templates security fields in the Server document for each mate - if not exits
Figure 4 - THUNDERSTRUCK Server document Security Access for cluster mate YTHUNDERSTRUCK
Stage 2 ndash Create cluster mate stub(s) before each database compact and defrag operation
Checks in the Cluster Directory database (cldbdirnsf) to see if the database is turned on for
cluster replication operations ndash if not exit
Checks in the Cluster Directory database to see if the database exists on each cluster mate
by matching file path and replica id ndash if does exists then exit
Checks in the Cluster Directory database to see if the database exists on each cluster mate
by matching file path If doesnrsquot then continue If does and value of 1 then exit If does and
value of 2 (overwrite) then continue
Performs other method to check if replica exists on each cluster mate by matching replica id
and if doesnrsquot then creates replica stub on each cluster mate Otherwise exits
After a replica stub is created the resulting nsfntf file is approximately 320Kb in size and the
Domino serverrsquos Cluster Directory server task will automatically update the new stubrsquos information
into the Cluster Directory database These stub files will replicate between the Domino server cluster
mates by two methods
Normal replication controlled by connection documents between them
Modifying documents in the source database to cause the Cluster Replicator tasks to
perform replication
DominoDefrag v41 Release Notes
6 | P a g e
Aug 18
Domino Data Volume Free Space Consolidation and Optimization
A question thatrsquos been posed to me several times is why does ldquocontigexerdquo only do a partial defrag of
some large Domino databases The answer is contigexe simply looks to move the fragmented
database to the first contiguous gap (defragmented free space) on the disk volume that is big
enough If there is no gap big enough then contigexe will reduce the number of fragments in the
file by moving as much of the file as possible into the largest gaps available
The DominoDefrag server task now uses the JkDefragcmdexerdquo utility to consolidate and optimize
the free space on the Domino data volume in preparation so that these partial database defrags will
be complete database defrags next time ldquocontigexerdquo processes them It has been implemented to
operate as a separate function and Irsquod recommend something you would perform once a month
Figure 5 below shows a Windows Domino data volume which ldquocontigexerdquo has been running on for a
while
Figure 5 - Windows Domino Data Volume using ldquocontigexerdquo
Figure 6 below shows the result of using the DominoDefrag_OptimizeDataVolume=1 parameter to
tell DominoDefrag to use JkDefragcmdexerdquo to consolidate free space (-a5) alphabetically sort all
file placements (-a7) and perform a complete defrag and ldquofast sortrdquo optimization (-a3) of the
Windows Domino data volume A similar strategy is recommended on the
httpkesselscomjkdefrag page
DominoDefrag v41 Release Notes
7 | P a g e
Aug 18
Figure 6- Windows Domino Data Volume using ldquoJkDefragcmdexerdquo
Generating Database Free Space
A Notes database is proportioned into used and unused space (also called free space) Free space is
only recovered when itrsquos compacted otherwise Domino will continue writing data into the free
space until itrsquos full and has to allocate more Defragging a database after optimizing the free space
(unused space) ensures future writes will be made into the free space that resides within the
database on one contiguous fragment
The DominoDefrag_CompactStart Notes INI parameter only attempts to compact a database in
which there is more than or MB size of unused space to recover
The DominoDefrag_FreeSpace Notes INI parameter attempts to generate the free space (unused
space) to the percentage of database size or MB size specified
The DominoDefrag_FreeSpaceMaxMB ensures that the amount of unused space optimized (new
free space that can be pre-allocated) is limited to the specified megabyte amount (when not
specified it defaults to 1MB) For example if DominoDefrag_FreeSpace=10 and set to
DominoDefrag_FreeSpaceMaxMB=5 only 5MB of unused space is optimized for a 1GB database
and not 100MB This is vital because it allows you to estimate increased disk usage with certainty
because in the worst case 100 used space would mean at most the database size would only
increase by 5MB This parameter is ignored when DominoDefrag_FreeSpace uses a MB value
DominoDefrag v41 Release Notes
8 | P a g e
Aug 18
Optimizing File Placement
Performs a ldquofast sortrdquo file placement optimization of database full-text transaction log or DAOS files
when DominoDefrag_OptimizeFiles=1 after defragmentation has occurred The ldquofast sortrdquo file
placement optimization attempts to keep Domino files in the same zone ndash that is together closer to
the beginning of the hard disk and therefore means the hard disk head doesnrsquot have to travel as far
to get the Domino data Therefore faster IO
Note Optimizing file placement is discussed more on the httpkesselscomjkdefrag page
DominoDefrag v41 Release Notes
9 | P a g e
Aug 18
File Information
The C API DominoDefrag 32bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 32 bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 32bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
The C API DominoDefrag 64bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 64bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 64bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
DominoDefrag v41 Release Notes
10 | P a g e
Aug 18
Notes INI Setting Information
Domino server Notes INI parameters are
Notes INI Parameter What it does
DominoDefrag_Directory Defaults to root data directory if not specified
DominoDefrag_Directory = mail Same as ldquoclotusdominodatamailrdquo Exits if not found
DominoDefrag_Directory = namesnsf Same as ldquoclotusdominodatanamesnsfrdquo Exits if not found
DominoDefrag_MinuteInterval = 60 Runs the server task continuously to the specified minute interval Will default to 0 (off) if not specified
DominoDefrag_Runtime = 30 Server task stops safely after the specified amount of minutes has elapsed and when the current database defrag has completed Will default to 0 (off) if not specified
DominoDefrag_FTIndex = 1 Will defrag associated full text index folders file(s) Will default to 0 (off) if not specified
DominoDefrag_StartPoint = 10 Specifies the average number of fragments required before a database or full-text index is defragged Will default to 2 if not specified
DominoDefrag_VerboseLogging = 1 Controls amount of server console information Will default to 0 (off) if not specified
DominoDefrag_Compact = 1 Allows in-place compact before defrag Will default to 0 (off) if not specified
DominoDefrag_CompactOptions = -C Allows use of ncompactexe options and overrides the default behaviour Will only work when DominoDefrag_Compact=1 and 2nd command line parameter not specified
DominoDefrag_CompactStart = 10 or 10MB
Specifies to compact a database in which there is more than (between 1 and 99) or MB size of database space to recover Specify (default) or MB after the number eg 10 or 10MB Will only work when DominoDefrag_Compact=1 and will default to 0 (off) if not specified
DominoDefrag_SummaryEmailAddress = World Administrator
Sends summary e-mail for server to specified e-mail address Will not send email if not specified
DominoDefrag_SummaryEmailFrom = spidermanacmecom
Sends summary e-mail for server from specified e-mail address Will default to ldquoDominoDefragrdquo if not specified
DominoDefrag_TransactionLog = 1 Will defrag transaction log files under the Notes INI TRANSLOG_Path directory value Will default to 0 (off) if not specified
DominoDefrag_DAOS = 1 Will defrag DAOS files under the Notes INI DAOSBasePath directory value Will default to 0 (off) if not specified
DominoDefrag_PerformanceCheck = 1 DominoDefrag_PerformanceCheck Notes INI tests before and after defrag millisecond performance of databases and their associated full-text indexes using generated document collections Will default to 0 (off) if not specified
DominoDefrag_FreeSpace= 10 or 10MB Attempts to generate the free space (unused space) to
DominoDefrag v41 Release Notes
11 | P a g e
Aug 18
Notes INI Parameter What it does
the of database size (between 1 and 99) or MB size specified Specify (default) or MB after the number eg 10 or 10MB Itrsquos used to optimize free space within a database to reduce future fragmentation Will default to 0 (off) if not specified
DominoDefrag_FreeSpaceMaxMB Only applies if DominoDefrag_FreeSpace is specified as a It specifies the maximum megabyte value that is used to limit the amount of new free space that can be pre-allocated Defaults to 1MB if not specified
DominoDefrag_OptimizeDataVolume=1 Specifies that ldquojkdefragcmdexerdquo is used to consolidate free space (-a5) alphabetically sort all file placements (-a7) and perform a complete defrag and fast sort optimization (-a3) of the Domino data volume It runs as a separate function and can take some time to perform Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_OptimizeFiles=1 Specifies that ldquojkdefragcmdexerdquo is used after defragmentation to fast sort file placement on the Domino data volume Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_EnterpriseSupport=1 Specifies that the ldquoDD_ServerLogcsvrdquo and ldquoDD_DatabaseLogcsvrdquo files should be created and attached to the summary email for use by the DominoDefrag Enterprise Edition mail-in database Will only work if DominoDefrag_SummaryEmailAddress is specified Will default to 0 (off) if not specified
DominoDefrag_ErrorLogging=1 DominoDefrag_ErrorLogging Notes INI parameter only reports error messages to the Domino server console Overrides DominoDefrag_VerboseLogging Will default to 0 (off) if not specified
DominoDefrag_CreateClusterReplicaStub = 1 or 2
Creates replica stubs on cluster mates Does not overwrite existing cluster mate replicas and uses cluster directory to determine whether to create A value of 2 means also overwrite databases on cluster mates that have the same database file path but different replica id
DominoDefrag_OnlyOOO = 1 Only process databases on R851+ Domino servers with Out-Of-Office turned on
DominoDefrag_ExcludeINDFiles = 1 DominoDefrag_ExcludeINDFiles excludes directories and files specified in an indirect file from being processed
DominoDefrag v41 Release Notes
12 | P a g e
Aug 18
Run Information
The DominoDefrag server task can be run from the Domino server console a program document or
the Notes INI servertask line Server task parameters are (override Notes INI equivalents)
DominoDefragexe ltDominoDefrag_Directorygt ltDominoDefrag_CompactOptionsgt
DefragCompact Requirement Load DominoDefrag statement example
Defrag all directories Load Dominodefrag
Defrag all directories with compact Load Dominodefrag ldquo ldquo ndashc
Defrag all directories with compact containing space(s) in options
Load Dominodefrag ldquo ldquo ldquondashB ndashZUrdquo
Defrag subdirectory Load Dominodefrag mail
Defrag subdirectory with wildcard Load Dominodefrag mailansf
Defrag subdirectory with compact Load Dominodefrag mail -c
Defrag subdirectory with compact containing space(s) in options
Load Dominodefrag mail ldquondashB ndashZUrdquo
Defrag subdirectory containing space(s) Load Dominodefrag ldquomailcompany xrdquo
Defrag subdirectory containing space(s) with compact
Load Dominodefrag ldquomailcompany xrdquo ndashc
Defrag subdirectory containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquomailcompany xrdquo ldquondashB ndashZUrdquo
Defrag nsfntfdirbox file Load Dominodefrag namesnsf
Defrag nsfntfdirbox file with wildcard Load Dominodefrag mailbox
Defrag nsfntfdirbox file with compact Load Dominodefrag mail85ntf ndashc
Defrag nsfntfdirbox file with compact containing space(s) in options
Load Dominodefrag mailbox ldquondashB rdquo
Defrag nsfntfdirbox file containing space(s)
Load Dominodefrag ldquotdrive linkdirrdquo
Defrag nsfntfdirbox file containing space(s) with compact
Load Dominodefrag ldquotdrive linkdirrdquo -c
Defrag nsfntfdirbox file containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquotdrive linkdirrdquo ldquondashB ndashZUrdquo
Defrag indirect file Load DominoDefrag files1ind
Defrag indirect file with compact Load DominoDefrag files1ind -c
Defrag indirect file containing space(s) with compact containing space(s) in options
Load DominoDefrag ldquofiles 1indrdquo ldquondashB ndashZUrdquo
Figure 7 - Program document example
DominoDefrag v41 Release Notes
13 | P a g e
Aug 18
Developer Workstation Setup Information
Server Requirement OpenNTF Published Document Choice(s)
Compile to work with Windows 20032008 32bit versions
ldquoDominoDefrag C API Visual Studio C++ 2010 Express Edition 32bit Workstation Setuppdfrdquo
Compile to work with Windows 20032008 64bit versions
ldquoDominoDefrag C API Visual Studio 2010 C++ 64bit Workstation Setuppdfrdquo
Independent Review
Over a 7 month period Spanish Lotus User Group (ESLUG) blogger Albert Buendia road tested
DominoDefrag (versions 14-21) and presents his comprehensive findings in the PDF files below
English version -gt httpwwwslugesblogslugnsfdxdefragging-domino-servers-
v12pdf$filedefragging-domino-servers-v12pdf
Spanish version -gt httpslugmailslugesBlogSlugnsfdxdesfragmentando-servidores-
domino-v2pdf$filedesfragmentando-servidores-domino-v2pdf
Other Related information
Domino 853 Upgrade Pack 1 - httpwwwopenntforgblogsopenntfnsfd6plinksNHEF-
8PJNBU
Contigexe (v17) By Mark Russinovich (Sysinternals) - httptechnetmicrosoftcomen-
ussysinternalsbb897428aspx
JkDefragCmdexe (v336) By Jeroen Kessels - httpkesselscomjkdefrag
Lotus C API toolkits - httpwwwibmcomdeveloperworkslotusdownloadstoolkitshtml
IBM Technote 1229817 - Slow response from a Domino server when attempting to open a
Lotus Notes database or switch views in the database - httpwww-
01ibmcomsupportdocviewwssuid=swg21229817
Lotus Notes and Domino wiki article - IBM Lotus Domino Server performance Hard disk
fragmentation - httpwww-
10lotuscomldddominowikinsfdx01152009062114PMWEBVDThtm
Greyhawks Meanderings Blog - The great defrag debate Defrag Domino or No -
httpwwwgreyhawk68comgreyhawk68homensfd6plinksJROG-7F8TZS
The Weird World of Eknori - Database Defragmentation - Poor Manrsquos Solution -
httpwwweknoride2008-11-29database-defragmentation-poor-mans-solution
Visual Studio 20082010 C++ Express Editions -
httpwwwmicrosoftcomexpressdownload
IBM Technote 1208136 on indirect file usage for batch processing -
httpwww-01ibmcomsupportdocviewwssrs=0ampuid=swg21208136
DominoDefrag v41 Release Notes
14 | P a g e
Aug 18
Avoiding DominoDefrag Administrator database installation problems
Make sure the Signing ID you signed the ldquoDominoDefragAdminnsfrdquo with is in server
document access fields
Figure 8 - Server document access fields
This will stop the 403 error belowhellip
Figure 9 - Error 403
Make sure HTTP and Extension Library are loaded Also this is compiled for R852+
Figure 10 - HTTP and Extension Library
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
5 | P a g e
Aug 18
Creating Cluster Replication Stubs
When the ldquoDominoDefrag_CreateClusterReplicaStubrdquo Notes INI setting is turned on (values of 1 or
2) DominoDefrag performs the following process in two stages
Stage1 - Domino server prerequisite checks
Checks to see if Domino server if in a cluster ndash if not exits
If in cluster it determines the Domino serverrsquos cluster mate(s) ndash if not exits
Checks to see if the Domino server is specified in both the Create new replicas and Create
master templates security fields in the Server document for each mate - if not exits
Figure 4 - THUNDERSTRUCK Server document Security Access for cluster mate YTHUNDERSTRUCK
Stage 2 ndash Create cluster mate stub(s) before each database compact and defrag operation
Checks in the Cluster Directory database (cldbdirnsf) to see if the database is turned on for
cluster replication operations ndash if not exit
Checks in the Cluster Directory database to see if the database exists on each cluster mate
by matching file path and replica id ndash if does exists then exit
Checks in the Cluster Directory database to see if the database exists on each cluster mate
by matching file path If doesnrsquot then continue If does and value of 1 then exit If does and
value of 2 (overwrite) then continue
Performs other method to check if replica exists on each cluster mate by matching replica id
and if doesnrsquot then creates replica stub on each cluster mate Otherwise exits
After a replica stub is created the resulting nsfntf file is approximately 320Kb in size and the
Domino serverrsquos Cluster Directory server task will automatically update the new stubrsquos information
into the Cluster Directory database These stub files will replicate between the Domino server cluster
mates by two methods
Normal replication controlled by connection documents between them
Modifying documents in the source database to cause the Cluster Replicator tasks to
perform replication
DominoDefrag v41 Release Notes
6 | P a g e
Aug 18
Domino Data Volume Free Space Consolidation and Optimization
A question thatrsquos been posed to me several times is why does ldquocontigexerdquo only do a partial defrag of
some large Domino databases The answer is contigexe simply looks to move the fragmented
database to the first contiguous gap (defragmented free space) on the disk volume that is big
enough If there is no gap big enough then contigexe will reduce the number of fragments in the
file by moving as much of the file as possible into the largest gaps available
The DominoDefrag server task now uses the JkDefragcmdexerdquo utility to consolidate and optimize
the free space on the Domino data volume in preparation so that these partial database defrags will
be complete database defrags next time ldquocontigexerdquo processes them It has been implemented to
operate as a separate function and Irsquod recommend something you would perform once a month
Figure 5 below shows a Windows Domino data volume which ldquocontigexerdquo has been running on for a
while
Figure 5 - Windows Domino Data Volume using ldquocontigexerdquo
Figure 6 below shows the result of using the DominoDefrag_OptimizeDataVolume=1 parameter to
tell DominoDefrag to use JkDefragcmdexerdquo to consolidate free space (-a5) alphabetically sort all
file placements (-a7) and perform a complete defrag and ldquofast sortrdquo optimization (-a3) of the
Windows Domino data volume A similar strategy is recommended on the
httpkesselscomjkdefrag page
DominoDefrag v41 Release Notes
7 | P a g e
Aug 18
Figure 6- Windows Domino Data Volume using ldquoJkDefragcmdexerdquo
Generating Database Free Space
A Notes database is proportioned into used and unused space (also called free space) Free space is
only recovered when itrsquos compacted otherwise Domino will continue writing data into the free
space until itrsquos full and has to allocate more Defragging a database after optimizing the free space
(unused space) ensures future writes will be made into the free space that resides within the
database on one contiguous fragment
The DominoDefrag_CompactStart Notes INI parameter only attempts to compact a database in
which there is more than or MB size of unused space to recover
The DominoDefrag_FreeSpace Notes INI parameter attempts to generate the free space (unused
space) to the percentage of database size or MB size specified
The DominoDefrag_FreeSpaceMaxMB ensures that the amount of unused space optimized (new
free space that can be pre-allocated) is limited to the specified megabyte amount (when not
specified it defaults to 1MB) For example if DominoDefrag_FreeSpace=10 and set to
DominoDefrag_FreeSpaceMaxMB=5 only 5MB of unused space is optimized for a 1GB database
and not 100MB This is vital because it allows you to estimate increased disk usage with certainty
because in the worst case 100 used space would mean at most the database size would only
increase by 5MB This parameter is ignored when DominoDefrag_FreeSpace uses a MB value
DominoDefrag v41 Release Notes
8 | P a g e
Aug 18
Optimizing File Placement
Performs a ldquofast sortrdquo file placement optimization of database full-text transaction log or DAOS files
when DominoDefrag_OptimizeFiles=1 after defragmentation has occurred The ldquofast sortrdquo file
placement optimization attempts to keep Domino files in the same zone ndash that is together closer to
the beginning of the hard disk and therefore means the hard disk head doesnrsquot have to travel as far
to get the Domino data Therefore faster IO
Note Optimizing file placement is discussed more on the httpkesselscomjkdefrag page
DominoDefrag v41 Release Notes
9 | P a g e
Aug 18
File Information
The C API DominoDefrag 32bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 32 bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 32bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
The C API DominoDefrag 64bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 64bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 64bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
DominoDefrag v41 Release Notes
10 | P a g e
Aug 18
Notes INI Setting Information
Domino server Notes INI parameters are
Notes INI Parameter What it does
DominoDefrag_Directory Defaults to root data directory if not specified
DominoDefrag_Directory = mail Same as ldquoclotusdominodatamailrdquo Exits if not found
DominoDefrag_Directory = namesnsf Same as ldquoclotusdominodatanamesnsfrdquo Exits if not found
DominoDefrag_MinuteInterval = 60 Runs the server task continuously to the specified minute interval Will default to 0 (off) if not specified
DominoDefrag_Runtime = 30 Server task stops safely after the specified amount of minutes has elapsed and when the current database defrag has completed Will default to 0 (off) if not specified
DominoDefrag_FTIndex = 1 Will defrag associated full text index folders file(s) Will default to 0 (off) if not specified
DominoDefrag_StartPoint = 10 Specifies the average number of fragments required before a database or full-text index is defragged Will default to 2 if not specified
DominoDefrag_VerboseLogging = 1 Controls amount of server console information Will default to 0 (off) if not specified
DominoDefrag_Compact = 1 Allows in-place compact before defrag Will default to 0 (off) if not specified
DominoDefrag_CompactOptions = -C Allows use of ncompactexe options and overrides the default behaviour Will only work when DominoDefrag_Compact=1 and 2nd command line parameter not specified
DominoDefrag_CompactStart = 10 or 10MB
Specifies to compact a database in which there is more than (between 1 and 99) or MB size of database space to recover Specify (default) or MB after the number eg 10 or 10MB Will only work when DominoDefrag_Compact=1 and will default to 0 (off) if not specified
DominoDefrag_SummaryEmailAddress = World Administrator
Sends summary e-mail for server to specified e-mail address Will not send email if not specified
DominoDefrag_SummaryEmailFrom = spidermanacmecom
Sends summary e-mail for server from specified e-mail address Will default to ldquoDominoDefragrdquo if not specified
DominoDefrag_TransactionLog = 1 Will defrag transaction log files under the Notes INI TRANSLOG_Path directory value Will default to 0 (off) if not specified
DominoDefrag_DAOS = 1 Will defrag DAOS files under the Notes INI DAOSBasePath directory value Will default to 0 (off) if not specified
DominoDefrag_PerformanceCheck = 1 DominoDefrag_PerformanceCheck Notes INI tests before and after defrag millisecond performance of databases and their associated full-text indexes using generated document collections Will default to 0 (off) if not specified
DominoDefrag_FreeSpace= 10 or 10MB Attempts to generate the free space (unused space) to
DominoDefrag v41 Release Notes
11 | P a g e
Aug 18
Notes INI Parameter What it does
the of database size (between 1 and 99) or MB size specified Specify (default) or MB after the number eg 10 or 10MB Itrsquos used to optimize free space within a database to reduce future fragmentation Will default to 0 (off) if not specified
DominoDefrag_FreeSpaceMaxMB Only applies if DominoDefrag_FreeSpace is specified as a It specifies the maximum megabyte value that is used to limit the amount of new free space that can be pre-allocated Defaults to 1MB if not specified
DominoDefrag_OptimizeDataVolume=1 Specifies that ldquojkdefragcmdexerdquo is used to consolidate free space (-a5) alphabetically sort all file placements (-a7) and perform a complete defrag and fast sort optimization (-a3) of the Domino data volume It runs as a separate function and can take some time to perform Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_OptimizeFiles=1 Specifies that ldquojkdefragcmdexerdquo is used after defragmentation to fast sort file placement on the Domino data volume Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_EnterpriseSupport=1 Specifies that the ldquoDD_ServerLogcsvrdquo and ldquoDD_DatabaseLogcsvrdquo files should be created and attached to the summary email for use by the DominoDefrag Enterprise Edition mail-in database Will only work if DominoDefrag_SummaryEmailAddress is specified Will default to 0 (off) if not specified
DominoDefrag_ErrorLogging=1 DominoDefrag_ErrorLogging Notes INI parameter only reports error messages to the Domino server console Overrides DominoDefrag_VerboseLogging Will default to 0 (off) if not specified
DominoDefrag_CreateClusterReplicaStub = 1 or 2
Creates replica stubs on cluster mates Does not overwrite existing cluster mate replicas and uses cluster directory to determine whether to create A value of 2 means also overwrite databases on cluster mates that have the same database file path but different replica id
DominoDefrag_OnlyOOO = 1 Only process databases on R851+ Domino servers with Out-Of-Office turned on
DominoDefrag_ExcludeINDFiles = 1 DominoDefrag_ExcludeINDFiles excludes directories and files specified in an indirect file from being processed
DominoDefrag v41 Release Notes
12 | P a g e
Aug 18
Run Information
The DominoDefrag server task can be run from the Domino server console a program document or
the Notes INI servertask line Server task parameters are (override Notes INI equivalents)
DominoDefragexe ltDominoDefrag_Directorygt ltDominoDefrag_CompactOptionsgt
DefragCompact Requirement Load DominoDefrag statement example
Defrag all directories Load Dominodefrag
Defrag all directories with compact Load Dominodefrag ldquo ldquo ndashc
Defrag all directories with compact containing space(s) in options
Load Dominodefrag ldquo ldquo ldquondashB ndashZUrdquo
Defrag subdirectory Load Dominodefrag mail
Defrag subdirectory with wildcard Load Dominodefrag mailansf
Defrag subdirectory with compact Load Dominodefrag mail -c
Defrag subdirectory with compact containing space(s) in options
Load Dominodefrag mail ldquondashB ndashZUrdquo
Defrag subdirectory containing space(s) Load Dominodefrag ldquomailcompany xrdquo
Defrag subdirectory containing space(s) with compact
Load Dominodefrag ldquomailcompany xrdquo ndashc
Defrag subdirectory containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquomailcompany xrdquo ldquondashB ndashZUrdquo
Defrag nsfntfdirbox file Load Dominodefrag namesnsf
Defrag nsfntfdirbox file with wildcard Load Dominodefrag mailbox
Defrag nsfntfdirbox file with compact Load Dominodefrag mail85ntf ndashc
Defrag nsfntfdirbox file with compact containing space(s) in options
Load Dominodefrag mailbox ldquondashB rdquo
Defrag nsfntfdirbox file containing space(s)
Load Dominodefrag ldquotdrive linkdirrdquo
Defrag nsfntfdirbox file containing space(s) with compact
Load Dominodefrag ldquotdrive linkdirrdquo -c
Defrag nsfntfdirbox file containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquotdrive linkdirrdquo ldquondashB ndashZUrdquo
Defrag indirect file Load DominoDefrag files1ind
Defrag indirect file with compact Load DominoDefrag files1ind -c
Defrag indirect file containing space(s) with compact containing space(s) in options
Load DominoDefrag ldquofiles 1indrdquo ldquondashB ndashZUrdquo
Figure 7 - Program document example
DominoDefrag v41 Release Notes
13 | P a g e
Aug 18
Developer Workstation Setup Information
Server Requirement OpenNTF Published Document Choice(s)
Compile to work with Windows 20032008 32bit versions
ldquoDominoDefrag C API Visual Studio C++ 2010 Express Edition 32bit Workstation Setuppdfrdquo
Compile to work with Windows 20032008 64bit versions
ldquoDominoDefrag C API Visual Studio 2010 C++ 64bit Workstation Setuppdfrdquo
Independent Review
Over a 7 month period Spanish Lotus User Group (ESLUG) blogger Albert Buendia road tested
DominoDefrag (versions 14-21) and presents his comprehensive findings in the PDF files below
English version -gt httpwwwslugesblogslugnsfdxdefragging-domino-servers-
v12pdf$filedefragging-domino-servers-v12pdf
Spanish version -gt httpslugmailslugesBlogSlugnsfdxdesfragmentando-servidores-
domino-v2pdf$filedesfragmentando-servidores-domino-v2pdf
Other Related information
Domino 853 Upgrade Pack 1 - httpwwwopenntforgblogsopenntfnsfd6plinksNHEF-
8PJNBU
Contigexe (v17) By Mark Russinovich (Sysinternals) - httptechnetmicrosoftcomen-
ussysinternalsbb897428aspx
JkDefragCmdexe (v336) By Jeroen Kessels - httpkesselscomjkdefrag
Lotus C API toolkits - httpwwwibmcomdeveloperworkslotusdownloadstoolkitshtml
IBM Technote 1229817 - Slow response from a Domino server when attempting to open a
Lotus Notes database or switch views in the database - httpwww-
01ibmcomsupportdocviewwssuid=swg21229817
Lotus Notes and Domino wiki article - IBM Lotus Domino Server performance Hard disk
fragmentation - httpwww-
10lotuscomldddominowikinsfdx01152009062114PMWEBVDThtm
Greyhawks Meanderings Blog - The great defrag debate Defrag Domino or No -
httpwwwgreyhawk68comgreyhawk68homensfd6plinksJROG-7F8TZS
The Weird World of Eknori - Database Defragmentation - Poor Manrsquos Solution -
httpwwweknoride2008-11-29database-defragmentation-poor-mans-solution
Visual Studio 20082010 C++ Express Editions -
httpwwwmicrosoftcomexpressdownload
IBM Technote 1208136 on indirect file usage for batch processing -
httpwww-01ibmcomsupportdocviewwssrs=0ampuid=swg21208136
DominoDefrag v41 Release Notes
14 | P a g e
Aug 18
Avoiding DominoDefrag Administrator database installation problems
Make sure the Signing ID you signed the ldquoDominoDefragAdminnsfrdquo with is in server
document access fields
Figure 8 - Server document access fields
This will stop the 403 error belowhellip
Figure 9 - Error 403
Make sure HTTP and Extension Library are loaded Also this is compiled for R852+
Figure 10 - HTTP and Extension Library
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
6 | P a g e
Aug 18
Domino Data Volume Free Space Consolidation and Optimization
A question thatrsquos been posed to me several times is why does ldquocontigexerdquo only do a partial defrag of
some large Domino databases The answer is contigexe simply looks to move the fragmented
database to the first contiguous gap (defragmented free space) on the disk volume that is big
enough If there is no gap big enough then contigexe will reduce the number of fragments in the
file by moving as much of the file as possible into the largest gaps available
The DominoDefrag server task now uses the JkDefragcmdexerdquo utility to consolidate and optimize
the free space on the Domino data volume in preparation so that these partial database defrags will
be complete database defrags next time ldquocontigexerdquo processes them It has been implemented to
operate as a separate function and Irsquod recommend something you would perform once a month
Figure 5 below shows a Windows Domino data volume which ldquocontigexerdquo has been running on for a
while
Figure 5 - Windows Domino Data Volume using ldquocontigexerdquo
Figure 6 below shows the result of using the DominoDefrag_OptimizeDataVolume=1 parameter to
tell DominoDefrag to use JkDefragcmdexerdquo to consolidate free space (-a5) alphabetically sort all
file placements (-a7) and perform a complete defrag and ldquofast sortrdquo optimization (-a3) of the
Windows Domino data volume A similar strategy is recommended on the
httpkesselscomjkdefrag page
DominoDefrag v41 Release Notes
7 | P a g e
Aug 18
Figure 6- Windows Domino Data Volume using ldquoJkDefragcmdexerdquo
Generating Database Free Space
A Notes database is proportioned into used and unused space (also called free space) Free space is
only recovered when itrsquos compacted otherwise Domino will continue writing data into the free
space until itrsquos full and has to allocate more Defragging a database after optimizing the free space
(unused space) ensures future writes will be made into the free space that resides within the
database on one contiguous fragment
The DominoDefrag_CompactStart Notes INI parameter only attempts to compact a database in
which there is more than or MB size of unused space to recover
The DominoDefrag_FreeSpace Notes INI parameter attempts to generate the free space (unused
space) to the percentage of database size or MB size specified
The DominoDefrag_FreeSpaceMaxMB ensures that the amount of unused space optimized (new
free space that can be pre-allocated) is limited to the specified megabyte amount (when not
specified it defaults to 1MB) For example if DominoDefrag_FreeSpace=10 and set to
DominoDefrag_FreeSpaceMaxMB=5 only 5MB of unused space is optimized for a 1GB database
and not 100MB This is vital because it allows you to estimate increased disk usage with certainty
because in the worst case 100 used space would mean at most the database size would only
increase by 5MB This parameter is ignored when DominoDefrag_FreeSpace uses a MB value
DominoDefrag v41 Release Notes
8 | P a g e
Aug 18
Optimizing File Placement
Performs a ldquofast sortrdquo file placement optimization of database full-text transaction log or DAOS files
when DominoDefrag_OptimizeFiles=1 after defragmentation has occurred The ldquofast sortrdquo file
placement optimization attempts to keep Domino files in the same zone ndash that is together closer to
the beginning of the hard disk and therefore means the hard disk head doesnrsquot have to travel as far
to get the Domino data Therefore faster IO
Note Optimizing file placement is discussed more on the httpkesselscomjkdefrag page
DominoDefrag v41 Release Notes
9 | P a g e
Aug 18
File Information
The C API DominoDefrag 32bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 32 bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 32bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
The C API DominoDefrag 64bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 64bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 64bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
DominoDefrag v41 Release Notes
10 | P a g e
Aug 18
Notes INI Setting Information
Domino server Notes INI parameters are
Notes INI Parameter What it does
DominoDefrag_Directory Defaults to root data directory if not specified
DominoDefrag_Directory = mail Same as ldquoclotusdominodatamailrdquo Exits if not found
DominoDefrag_Directory = namesnsf Same as ldquoclotusdominodatanamesnsfrdquo Exits if not found
DominoDefrag_MinuteInterval = 60 Runs the server task continuously to the specified minute interval Will default to 0 (off) if not specified
DominoDefrag_Runtime = 30 Server task stops safely after the specified amount of minutes has elapsed and when the current database defrag has completed Will default to 0 (off) if not specified
DominoDefrag_FTIndex = 1 Will defrag associated full text index folders file(s) Will default to 0 (off) if not specified
DominoDefrag_StartPoint = 10 Specifies the average number of fragments required before a database or full-text index is defragged Will default to 2 if not specified
DominoDefrag_VerboseLogging = 1 Controls amount of server console information Will default to 0 (off) if not specified
DominoDefrag_Compact = 1 Allows in-place compact before defrag Will default to 0 (off) if not specified
DominoDefrag_CompactOptions = -C Allows use of ncompactexe options and overrides the default behaviour Will only work when DominoDefrag_Compact=1 and 2nd command line parameter not specified
DominoDefrag_CompactStart = 10 or 10MB
Specifies to compact a database in which there is more than (between 1 and 99) or MB size of database space to recover Specify (default) or MB after the number eg 10 or 10MB Will only work when DominoDefrag_Compact=1 and will default to 0 (off) if not specified
DominoDefrag_SummaryEmailAddress = World Administrator
Sends summary e-mail for server to specified e-mail address Will not send email if not specified
DominoDefrag_SummaryEmailFrom = spidermanacmecom
Sends summary e-mail for server from specified e-mail address Will default to ldquoDominoDefragrdquo if not specified
DominoDefrag_TransactionLog = 1 Will defrag transaction log files under the Notes INI TRANSLOG_Path directory value Will default to 0 (off) if not specified
DominoDefrag_DAOS = 1 Will defrag DAOS files under the Notes INI DAOSBasePath directory value Will default to 0 (off) if not specified
DominoDefrag_PerformanceCheck = 1 DominoDefrag_PerformanceCheck Notes INI tests before and after defrag millisecond performance of databases and their associated full-text indexes using generated document collections Will default to 0 (off) if not specified
DominoDefrag_FreeSpace= 10 or 10MB Attempts to generate the free space (unused space) to
DominoDefrag v41 Release Notes
11 | P a g e
Aug 18
Notes INI Parameter What it does
the of database size (between 1 and 99) or MB size specified Specify (default) or MB after the number eg 10 or 10MB Itrsquos used to optimize free space within a database to reduce future fragmentation Will default to 0 (off) if not specified
DominoDefrag_FreeSpaceMaxMB Only applies if DominoDefrag_FreeSpace is specified as a It specifies the maximum megabyte value that is used to limit the amount of new free space that can be pre-allocated Defaults to 1MB if not specified
DominoDefrag_OptimizeDataVolume=1 Specifies that ldquojkdefragcmdexerdquo is used to consolidate free space (-a5) alphabetically sort all file placements (-a7) and perform a complete defrag and fast sort optimization (-a3) of the Domino data volume It runs as a separate function and can take some time to perform Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_OptimizeFiles=1 Specifies that ldquojkdefragcmdexerdquo is used after defragmentation to fast sort file placement on the Domino data volume Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_EnterpriseSupport=1 Specifies that the ldquoDD_ServerLogcsvrdquo and ldquoDD_DatabaseLogcsvrdquo files should be created and attached to the summary email for use by the DominoDefrag Enterprise Edition mail-in database Will only work if DominoDefrag_SummaryEmailAddress is specified Will default to 0 (off) if not specified
DominoDefrag_ErrorLogging=1 DominoDefrag_ErrorLogging Notes INI parameter only reports error messages to the Domino server console Overrides DominoDefrag_VerboseLogging Will default to 0 (off) if not specified
DominoDefrag_CreateClusterReplicaStub = 1 or 2
Creates replica stubs on cluster mates Does not overwrite existing cluster mate replicas and uses cluster directory to determine whether to create A value of 2 means also overwrite databases on cluster mates that have the same database file path but different replica id
DominoDefrag_OnlyOOO = 1 Only process databases on R851+ Domino servers with Out-Of-Office turned on
DominoDefrag_ExcludeINDFiles = 1 DominoDefrag_ExcludeINDFiles excludes directories and files specified in an indirect file from being processed
DominoDefrag v41 Release Notes
12 | P a g e
Aug 18
Run Information
The DominoDefrag server task can be run from the Domino server console a program document or
the Notes INI servertask line Server task parameters are (override Notes INI equivalents)
DominoDefragexe ltDominoDefrag_Directorygt ltDominoDefrag_CompactOptionsgt
DefragCompact Requirement Load DominoDefrag statement example
Defrag all directories Load Dominodefrag
Defrag all directories with compact Load Dominodefrag ldquo ldquo ndashc
Defrag all directories with compact containing space(s) in options
Load Dominodefrag ldquo ldquo ldquondashB ndashZUrdquo
Defrag subdirectory Load Dominodefrag mail
Defrag subdirectory with wildcard Load Dominodefrag mailansf
Defrag subdirectory with compact Load Dominodefrag mail -c
Defrag subdirectory with compact containing space(s) in options
Load Dominodefrag mail ldquondashB ndashZUrdquo
Defrag subdirectory containing space(s) Load Dominodefrag ldquomailcompany xrdquo
Defrag subdirectory containing space(s) with compact
Load Dominodefrag ldquomailcompany xrdquo ndashc
Defrag subdirectory containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquomailcompany xrdquo ldquondashB ndashZUrdquo
Defrag nsfntfdirbox file Load Dominodefrag namesnsf
Defrag nsfntfdirbox file with wildcard Load Dominodefrag mailbox
Defrag nsfntfdirbox file with compact Load Dominodefrag mail85ntf ndashc
Defrag nsfntfdirbox file with compact containing space(s) in options
Load Dominodefrag mailbox ldquondashB rdquo
Defrag nsfntfdirbox file containing space(s)
Load Dominodefrag ldquotdrive linkdirrdquo
Defrag nsfntfdirbox file containing space(s) with compact
Load Dominodefrag ldquotdrive linkdirrdquo -c
Defrag nsfntfdirbox file containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquotdrive linkdirrdquo ldquondashB ndashZUrdquo
Defrag indirect file Load DominoDefrag files1ind
Defrag indirect file with compact Load DominoDefrag files1ind -c
Defrag indirect file containing space(s) with compact containing space(s) in options
Load DominoDefrag ldquofiles 1indrdquo ldquondashB ndashZUrdquo
Figure 7 - Program document example
DominoDefrag v41 Release Notes
13 | P a g e
Aug 18
Developer Workstation Setup Information
Server Requirement OpenNTF Published Document Choice(s)
Compile to work with Windows 20032008 32bit versions
ldquoDominoDefrag C API Visual Studio C++ 2010 Express Edition 32bit Workstation Setuppdfrdquo
Compile to work with Windows 20032008 64bit versions
ldquoDominoDefrag C API Visual Studio 2010 C++ 64bit Workstation Setuppdfrdquo
Independent Review
Over a 7 month period Spanish Lotus User Group (ESLUG) blogger Albert Buendia road tested
DominoDefrag (versions 14-21) and presents his comprehensive findings in the PDF files below
English version -gt httpwwwslugesblogslugnsfdxdefragging-domino-servers-
v12pdf$filedefragging-domino-servers-v12pdf
Spanish version -gt httpslugmailslugesBlogSlugnsfdxdesfragmentando-servidores-
domino-v2pdf$filedesfragmentando-servidores-domino-v2pdf
Other Related information
Domino 853 Upgrade Pack 1 - httpwwwopenntforgblogsopenntfnsfd6plinksNHEF-
8PJNBU
Contigexe (v17) By Mark Russinovich (Sysinternals) - httptechnetmicrosoftcomen-
ussysinternalsbb897428aspx
JkDefragCmdexe (v336) By Jeroen Kessels - httpkesselscomjkdefrag
Lotus C API toolkits - httpwwwibmcomdeveloperworkslotusdownloadstoolkitshtml
IBM Technote 1229817 - Slow response from a Domino server when attempting to open a
Lotus Notes database or switch views in the database - httpwww-
01ibmcomsupportdocviewwssuid=swg21229817
Lotus Notes and Domino wiki article - IBM Lotus Domino Server performance Hard disk
fragmentation - httpwww-
10lotuscomldddominowikinsfdx01152009062114PMWEBVDThtm
Greyhawks Meanderings Blog - The great defrag debate Defrag Domino or No -
httpwwwgreyhawk68comgreyhawk68homensfd6plinksJROG-7F8TZS
The Weird World of Eknori - Database Defragmentation - Poor Manrsquos Solution -
httpwwweknoride2008-11-29database-defragmentation-poor-mans-solution
Visual Studio 20082010 C++ Express Editions -
httpwwwmicrosoftcomexpressdownload
IBM Technote 1208136 on indirect file usage for batch processing -
httpwww-01ibmcomsupportdocviewwssrs=0ampuid=swg21208136
DominoDefrag v41 Release Notes
14 | P a g e
Aug 18
Avoiding DominoDefrag Administrator database installation problems
Make sure the Signing ID you signed the ldquoDominoDefragAdminnsfrdquo with is in server
document access fields
Figure 8 - Server document access fields
This will stop the 403 error belowhellip
Figure 9 - Error 403
Make sure HTTP and Extension Library are loaded Also this is compiled for R852+
Figure 10 - HTTP and Extension Library
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
7 | P a g e
Aug 18
Figure 6- Windows Domino Data Volume using ldquoJkDefragcmdexerdquo
Generating Database Free Space
A Notes database is proportioned into used and unused space (also called free space) Free space is
only recovered when itrsquos compacted otherwise Domino will continue writing data into the free
space until itrsquos full and has to allocate more Defragging a database after optimizing the free space
(unused space) ensures future writes will be made into the free space that resides within the
database on one contiguous fragment
The DominoDefrag_CompactStart Notes INI parameter only attempts to compact a database in
which there is more than or MB size of unused space to recover
The DominoDefrag_FreeSpace Notes INI parameter attempts to generate the free space (unused
space) to the percentage of database size or MB size specified
The DominoDefrag_FreeSpaceMaxMB ensures that the amount of unused space optimized (new
free space that can be pre-allocated) is limited to the specified megabyte amount (when not
specified it defaults to 1MB) For example if DominoDefrag_FreeSpace=10 and set to
DominoDefrag_FreeSpaceMaxMB=5 only 5MB of unused space is optimized for a 1GB database
and not 100MB This is vital because it allows you to estimate increased disk usage with certainty
because in the worst case 100 used space would mean at most the database size would only
increase by 5MB This parameter is ignored when DominoDefrag_FreeSpace uses a MB value
DominoDefrag v41 Release Notes
8 | P a g e
Aug 18
Optimizing File Placement
Performs a ldquofast sortrdquo file placement optimization of database full-text transaction log or DAOS files
when DominoDefrag_OptimizeFiles=1 after defragmentation has occurred The ldquofast sortrdquo file
placement optimization attempts to keep Domino files in the same zone ndash that is together closer to
the beginning of the hard disk and therefore means the hard disk head doesnrsquot have to travel as far
to get the Domino data Therefore faster IO
Note Optimizing file placement is discussed more on the httpkesselscomjkdefrag page
DominoDefrag v41 Release Notes
9 | P a g e
Aug 18
File Information
The C API DominoDefrag 32bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 32 bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 32bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
The C API DominoDefrag 64bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 64bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 64bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
DominoDefrag v41 Release Notes
10 | P a g e
Aug 18
Notes INI Setting Information
Domino server Notes INI parameters are
Notes INI Parameter What it does
DominoDefrag_Directory Defaults to root data directory if not specified
DominoDefrag_Directory = mail Same as ldquoclotusdominodatamailrdquo Exits if not found
DominoDefrag_Directory = namesnsf Same as ldquoclotusdominodatanamesnsfrdquo Exits if not found
DominoDefrag_MinuteInterval = 60 Runs the server task continuously to the specified minute interval Will default to 0 (off) if not specified
DominoDefrag_Runtime = 30 Server task stops safely after the specified amount of minutes has elapsed and when the current database defrag has completed Will default to 0 (off) if not specified
DominoDefrag_FTIndex = 1 Will defrag associated full text index folders file(s) Will default to 0 (off) if not specified
DominoDefrag_StartPoint = 10 Specifies the average number of fragments required before a database or full-text index is defragged Will default to 2 if not specified
DominoDefrag_VerboseLogging = 1 Controls amount of server console information Will default to 0 (off) if not specified
DominoDefrag_Compact = 1 Allows in-place compact before defrag Will default to 0 (off) if not specified
DominoDefrag_CompactOptions = -C Allows use of ncompactexe options and overrides the default behaviour Will only work when DominoDefrag_Compact=1 and 2nd command line parameter not specified
DominoDefrag_CompactStart = 10 or 10MB
Specifies to compact a database in which there is more than (between 1 and 99) or MB size of database space to recover Specify (default) or MB after the number eg 10 or 10MB Will only work when DominoDefrag_Compact=1 and will default to 0 (off) if not specified
DominoDefrag_SummaryEmailAddress = World Administrator
Sends summary e-mail for server to specified e-mail address Will not send email if not specified
DominoDefrag_SummaryEmailFrom = spidermanacmecom
Sends summary e-mail for server from specified e-mail address Will default to ldquoDominoDefragrdquo if not specified
DominoDefrag_TransactionLog = 1 Will defrag transaction log files under the Notes INI TRANSLOG_Path directory value Will default to 0 (off) if not specified
DominoDefrag_DAOS = 1 Will defrag DAOS files under the Notes INI DAOSBasePath directory value Will default to 0 (off) if not specified
DominoDefrag_PerformanceCheck = 1 DominoDefrag_PerformanceCheck Notes INI tests before and after defrag millisecond performance of databases and their associated full-text indexes using generated document collections Will default to 0 (off) if not specified
DominoDefrag_FreeSpace= 10 or 10MB Attempts to generate the free space (unused space) to
DominoDefrag v41 Release Notes
11 | P a g e
Aug 18
Notes INI Parameter What it does
the of database size (between 1 and 99) or MB size specified Specify (default) or MB after the number eg 10 or 10MB Itrsquos used to optimize free space within a database to reduce future fragmentation Will default to 0 (off) if not specified
DominoDefrag_FreeSpaceMaxMB Only applies if DominoDefrag_FreeSpace is specified as a It specifies the maximum megabyte value that is used to limit the amount of new free space that can be pre-allocated Defaults to 1MB if not specified
DominoDefrag_OptimizeDataVolume=1 Specifies that ldquojkdefragcmdexerdquo is used to consolidate free space (-a5) alphabetically sort all file placements (-a7) and perform a complete defrag and fast sort optimization (-a3) of the Domino data volume It runs as a separate function and can take some time to perform Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_OptimizeFiles=1 Specifies that ldquojkdefragcmdexerdquo is used after defragmentation to fast sort file placement on the Domino data volume Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_EnterpriseSupport=1 Specifies that the ldquoDD_ServerLogcsvrdquo and ldquoDD_DatabaseLogcsvrdquo files should be created and attached to the summary email for use by the DominoDefrag Enterprise Edition mail-in database Will only work if DominoDefrag_SummaryEmailAddress is specified Will default to 0 (off) if not specified
DominoDefrag_ErrorLogging=1 DominoDefrag_ErrorLogging Notes INI parameter only reports error messages to the Domino server console Overrides DominoDefrag_VerboseLogging Will default to 0 (off) if not specified
DominoDefrag_CreateClusterReplicaStub = 1 or 2
Creates replica stubs on cluster mates Does not overwrite existing cluster mate replicas and uses cluster directory to determine whether to create A value of 2 means also overwrite databases on cluster mates that have the same database file path but different replica id
DominoDefrag_OnlyOOO = 1 Only process databases on R851+ Domino servers with Out-Of-Office turned on
DominoDefrag_ExcludeINDFiles = 1 DominoDefrag_ExcludeINDFiles excludes directories and files specified in an indirect file from being processed
DominoDefrag v41 Release Notes
12 | P a g e
Aug 18
Run Information
The DominoDefrag server task can be run from the Domino server console a program document or
the Notes INI servertask line Server task parameters are (override Notes INI equivalents)
DominoDefragexe ltDominoDefrag_Directorygt ltDominoDefrag_CompactOptionsgt
DefragCompact Requirement Load DominoDefrag statement example
Defrag all directories Load Dominodefrag
Defrag all directories with compact Load Dominodefrag ldquo ldquo ndashc
Defrag all directories with compact containing space(s) in options
Load Dominodefrag ldquo ldquo ldquondashB ndashZUrdquo
Defrag subdirectory Load Dominodefrag mail
Defrag subdirectory with wildcard Load Dominodefrag mailansf
Defrag subdirectory with compact Load Dominodefrag mail -c
Defrag subdirectory with compact containing space(s) in options
Load Dominodefrag mail ldquondashB ndashZUrdquo
Defrag subdirectory containing space(s) Load Dominodefrag ldquomailcompany xrdquo
Defrag subdirectory containing space(s) with compact
Load Dominodefrag ldquomailcompany xrdquo ndashc
Defrag subdirectory containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquomailcompany xrdquo ldquondashB ndashZUrdquo
Defrag nsfntfdirbox file Load Dominodefrag namesnsf
Defrag nsfntfdirbox file with wildcard Load Dominodefrag mailbox
Defrag nsfntfdirbox file with compact Load Dominodefrag mail85ntf ndashc
Defrag nsfntfdirbox file with compact containing space(s) in options
Load Dominodefrag mailbox ldquondashB rdquo
Defrag nsfntfdirbox file containing space(s)
Load Dominodefrag ldquotdrive linkdirrdquo
Defrag nsfntfdirbox file containing space(s) with compact
Load Dominodefrag ldquotdrive linkdirrdquo -c
Defrag nsfntfdirbox file containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquotdrive linkdirrdquo ldquondashB ndashZUrdquo
Defrag indirect file Load DominoDefrag files1ind
Defrag indirect file with compact Load DominoDefrag files1ind -c
Defrag indirect file containing space(s) with compact containing space(s) in options
Load DominoDefrag ldquofiles 1indrdquo ldquondashB ndashZUrdquo
Figure 7 - Program document example
DominoDefrag v41 Release Notes
13 | P a g e
Aug 18
Developer Workstation Setup Information
Server Requirement OpenNTF Published Document Choice(s)
Compile to work with Windows 20032008 32bit versions
ldquoDominoDefrag C API Visual Studio C++ 2010 Express Edition 32bit Workstation Setuppdfrdquo
Compile to work with Windows 20032008 64bit versions
ldquoDominoDefrag C API Visual Studio 2010 C++ 64bit Workstation Setuppdfrdquo
Independent Review
Over a 7 month period Spanish Lotus User Group (ESLUG) blogger Albert Buendia road tested
DominoDefrag (versions 14-21) and presents his comprehensive findings in the PDF files below
English version -gt httpwwwslugesblogslugnsfdxdefragging-domino-servers-
v12pdf$filedefragging-domino-servers-v12pdf
Spanish version -gt httpslugmailslugesBlogSlugnsfdxdesfragmentando-servidores-
domino-v2pdf$filedesfragmentando-servidores-domino-v2pdf
Other Related information
Domino 853 Upgrade Pack 1 - httpwwwopenntforgblogsopenntfnsfd6plinksNHEF-
8PJNBU
Contigexe (v17) By Mark Russinovich (Sysinternals) - httptechnetmicrosoftcomen-
ussysinternalsbb897428aspx
JkDefragCmdexe (v336) By Jeroen Kessels - httpkesselscomjkdefrag
Lotus C API toolkits - httpwwwibmcomdeveloperworkslotusdownloadstoolkitshtml
IBM Technote 1229817 - Slow response from a Domino server when attempting to open a
Lotus Notes database or switch views in the database - httpwww-
01ibmcomsupportdocviewwssuid=swg21229817
Lotus Notes and Domino wiki article - IBM Lotus Domino Server performance Hard disk
fragmentation - httpwww-
10lotuscomldddominowikinsfdx01152009062114PMWEBVDThtm
Greyhawks Meanderings Blog - The great defrag debate Defrag Domino or No -
httpwwwgreyhawk68comgreyhawk68homensfd6plinksJROG-7F8TZS
The Weird World of Eknori - Database Defragmentation - Poor Manrsquos Solution -
httpwwweknoride2008-11-29database-defragmentation-poor-mans-solution
Visual Studio 20082010 C++ Express Editions -
httpwwwmicrosoftcomexpressdownload
IBM Technote 1208136 on indirect file usage for batch processing -
httpwww-01ibmcomsupportdocviewwssrs=0ampuid=swg21208136
DominoDefrag v41 Release Notes
14 | P a g e
Aug 18
Avoiding DominoDefrag Administrator database installation problems
Make sure the Signing ID you signed the ldquoDominoDefragAdminnsfrdquo with is in server
document access fields
Figure 8 - Server document access fields
This will stop the 403 error belowhellip
Figure 9 - Error 403
Make sure HTTP and Extension Library are loaded Also this is compiled for R852+
Figure 10 - HTTP and Extension Library
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
8 | P a g e
Aug 18
Optimizing File Placement
Performs a ldquofast sortrdquo file placement optimization of database full-text transaction log or DAOS files
when DominoDefrag_OptimizeFiles=1 after defragmentation has occurred The ldquofast sortrdquo file
placement optimization attempts to keep Domino files in the same zone ndash that is together closer to
the beginning of the hard disk and therefore means the hard disk head doesnrsquot have to travel as far
to get the Domino data Therefore faster IO
Note Optimizing file placement is discussed more on the httpkesselscomjkdefrag page
DominoDefrag v41 Release Notes
9 | P a g e
Aug 18
File Information
The C API DominoDefrag 32bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 32 bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 32bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
The C API DominoDefrag 64bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 64bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 64bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
DominoDefrag v41 Release Notes
10 | P a g e
Aug 18
Notes INI Setting Information
Domino server Notes INI parameters are
Notes INI Parameter What it does
DominoDefrag_Directory Defaults to root data directory if not specified
DominoDefrag_Directory = mail Same as ldquoclotusdominodatamailrdquo Exits if not found
DominoDefrag_Directory = namesnsf Same as ldquoclotusdominodatanamesnsfrdquo Exits if not found
DominoDefrag_MinuteInterval = 60 Runs the server task continuously to the specified minute interval Will default to 0 (off) if not specified
DominoDefrag_Runtime = 30 Server task stops safely after the specified amount of minutes has elapsed and when the current database defrag has completed Will default to 0 (off) if not specified
DominoDefrag_FTIndex = 1 Will defrag associated full text index folders file(s) Will default to 0 (off) if not specified
DominoDefrag_StartPoint = 10 Specifies the average number of fragments required before a database or full-text index is defragged Will default to 2 if not specified
DominoDefrag_VerboseLogging = 1 Controls amount of server console information Will default to 0 (off) if not specified
DominoDefrag_Compact = 1 Allows in-place compact before defrag Will default to 0 (off) if not specified
DominoDefrag_CompactOptions = -C Allows use of ncompactexe options and overrides the default behaviour Will only work when DominoDefrag_Compact=1 and 2nd command line parameter not specified
DominoDefrag_CompactStart = 10 or 10MB
Specifies to compact a database in which there is more than (between 1 and 99) or MB size of database space to recover Specify (default) or MB after the number eg 10 or 10MB Will only work when DominoDefrag_Compact=1 and will default to 0 (off) if not specified
DominoDefrag_SummaryEmailAddress = World Administrator
Sends summary e-mail for server to specified e-mail address Will not send email if not specified
DominoDefrag_SummaryEmailFrom = spidermanacmecom
Sends summary e-mail for server from specified e-mail address Will default to ldquoDominoDefragrdquo if not specified
DominoDefrag_TransactionLog = 1 Will defrag transaction log files under the Notes INI TRANSLOG_Path directory value Will default to 0 (off) if not specified
DominoDefrag_DAOS = 1 Will defrag DAOS files under the Notes INI DAOSBasePath directory value Will default to 0 (off) if not specified
DominoDefrag_PerformanceCheck = 1 DominoDefrag_PerformanceCheck Notes INI tests before and after defrag millisecond performance of databases and their associated full-text indexes using generated document collections Will default to 0 (off) if not specified
DominoDefrag_FreeSpace= 10 or 10MB Attempts to generate the free space (unused space) to
DominoDefrag v41 Release Notes
11 | P a g e
Aug 18
Notes INI Parameter What it does
the of database size (between 1 and 99) or MB size specified Specify (default) or MB after the number eg 10 or 10MB Itrsquos used to optimize free space within a database to reduce future fragmentation Will default to 0 (off) if not specified
DominoDefrag_FreeSpaceMaxMB Only applies if DominoDefrag_FreeSpace is specified as a It specifies the maximum megabyte value that is used to limit the amount of new free space that can be pre-allocated Defaults to 1MB if not specified
DominoDefrag_OptimizeDataVolume=1 Specifies that ldquojkdefragcmdexerdquo is used to consolidate free space (-a5) alphabetically sort all file placements (-a7) and perform a complete defrag and fast sort optimization (-a3) of the Domino data volume It runs as a separate function and can take some time to perform Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_OptimizeFiles=1 Specifies that ldquojkdefragcmdexerdquo is used after defragmentation to fast sort file placement on the Domino data volume Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_EnterpriseSupport=1 Specifies that the ldquoDD_ServerLogcsvrdquo and ldquoDD_DatabaseLogcsvrdquo files should be created and attached to the summary email for use by the DominoDefrag Enterprise Edition mail-in database Will only work if DominoDefrag_SummaryEmailAddress is specified Will default to 0 (off) if not specified
DominoDefrag_ErrorLogging=1 DominoDefrag_ErrorLogging Notes INI parameter only reports error messages to the Domino server console Overrides DominoDefrag_VerboseLogging Will default to 0 (off) if not specified
DominoDefrag_CreateClusterReplicaStub = 1 or 2
Creates replica stubs on cluster mates Does not overwrite existing cluster mate replicas and uses cluster directory to determine whether to create A value of 2 means also overwrite databases on cluster mates that have the same database file path but different replica id
DominoDefrag_OnlyOOO = 1 Only process databases on R851+ Domino servers with Out-Of-Office turned on
DominoDefrag_ExcludeINDFiles = 1 DominoDefrag_ExcludeINDFiles excludes directories and files specified in an indirect file from being processed
DominoDefrag v41 Release Notes
12 | P a g e
Aug 18
Run Information
The DominoDefrag server task can be run from the Domino server console a program document or
the Notes INI servertask line Server task parameters are (override Notes INI equivalents)
DominoDefragexe ltDominoDefrag_Directorygt ltDominoDefrag_CompactOptionsgt
DefragCompact Requirement Load DominoDefrag statement example
Defrag all directories Load Dominodefrag
Defrag all directories with compact Load Dominodefrag ldquo ldquo ndashc
Defrag all directories with compact containing space(s) in options
Load Dominodefrag ldquo ldquo ldquondashB ndashZUrdquo
Defrag subdirectory Load Dominodefrag mail
Defrag subdirectory with wildcard Load Dominodefrag mailansf
Defrag subdirectory with compact Load Dominodefrag mail -c
Defrag subdirectory with compact containing space(s) in options
Load Dominodefrag mail ldquondashB ndashZUrdquo
Defrag subdirectory containing space(s) Load Dominodefrag ldquomailcompany xrdquo
Defrag subdirectory containing space(s) with compact
Load Dominodefrag ldquomailcompany xrdquo ndashc
Defrag subdirectory containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquomailcompany xrdquo ldquondashB ndashZUrdquo
Defrag nsfntfdirbox file Load Dominodefrag namesnsf
Defrag nsfntfdirbox file with wildcard Load Dominodefrag mailbox
Defrag nsfntfdirbox file with compact Load Dominodefrag mail85ntf ndashc
Defrag nsfntfdirbox file with compact containing space(s) in options
Load Dominodefrag mailbox ldquondashB rdquo
Defrag nsfntfdirbox file containing space(s)
Load Dominodefrag ldquotdrive linkdirrdquo
Defrag nsfntfdirbox file containing space(s) with compact
Load Dominodefrag ldquotdrive linkdirrdquo -c
Defrag nsfntfdirbox file containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquotdrive linkdirrdquo ldquondashB ndashZUrdquo
Defrag indirect file Load DominoDefrag files1ind
Defrag indirect file with compact Load DominoDefrag files1ind -c
Defrag indirect file containing space(s) with compact containing space(s) in options
Load DominoDefrag ldquofiles 1indrdquo ldquondashB ndashZUrdquo
Figure 7 - Program document example
DominoDefrag v41 Release Notes
13 | P a g e
Aug 18
Developer Workstation Setup Information
Server Requirement OpenNTF Published Document Choice(s)
Compile to work with Windows 20032008 32bit versions
ldquoDominoDefrag C API Visual Studio C++ 2010 Express Edition 32bit Workstation Setuppdfrdquo
Compile to work with Windows 20032008 64bit versions
ldquoDominoDefrag C API Visual Studio 2010 C++ 64bit Workstation Setuppdfrdquo
Independent Review
Over a 7 month period Spanish Lotus User Group (ESLUG) blogger Albert Buendia road tested
DominoDefrag (versions 14-21) and presents his comprehensive findings in the PDF files below
English version -gt httpwwwslugesblogslugnsfdxdefragging-domino-servers-
v12pdf$filedefragging-domino-servers-v12pdf
Spanish version -gt httpslugmailslugesBlogSlugnsfdxdesfragmentando-servidores-
domino-v2pdf$filedesfragmentando-servidores-domino-v2pdf
Other Related information
Domino 853 Upgrade Pack 1 - httpwwwopenntforgblogsopenntfnsfd6plinksNHEF-
8PJNBU
Contigexe (v17) By Mark Russinovich (Sysinternals) - httptechnetmicrosoftcomen-
ussysinternalsbb897428aspx
JkDefragCmdexe (v336) By Jeroen Kessels - httpkesselscomjkdefrag
Lotus C API toolkits - httpwwwibmcomdeveloperworkslotusdownloadstoolkitshtml
IBM Technote 1229817 - Slow response from a Domino server when attempting to open a
Lotus Notes database or switch views in the database - httpwww-
01ibmcomsupportdocviewwssuid=swg21229817
Lotus Notes and Domino wiki article - IBM Lotus Domino Server performance Hard disk
fragmentation - httpwww-
10lotuscomldddominowikinsfdx01152009062114PMWEBVDThtm
Greyhawks Meanderings Blog - The great defrag debate Defrag Domino or No -
httpwwwgreyhawk68comgreyhawk68homensfd6plinksJROG-7F8TZS
The Weird World of Eknori - Database Defragmentation - Poor Manrsquos Solution -
httpwwweknoride2008-11-29database-defragmentation-poor-mans-solution
Visual Studio 20082010 C++ Express Editions -
httpwwwmicrosoftcomexpressdownload
IBM Technote 1208136 on indirect file usage for batch processing -
httpwww-01ibmcomsupportdocviewwssrs=0ampuid=swg21208136
DominoDefrag v41 Release Notes
14 | P a g e
Aug 18
Avoiding DominoDefrag Administrator database installation problems
Make sure the Signing ID you signed the ldquoDominoDefragAdminnsfrdquo with is in server
document access fields
Figure 8 - Server document access fields
This will stop the 403 error belowhellip
Figure 9 - Error 403
Make sure HTTP and Extension Library are loaded Also this is compiled for R852+
Figure 10 - HTTP and Extension Library
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
9 | P a g e
Aug 18
File Information
The C API DominoDefrag 32bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 32 bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 32bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
The C API DominoDefrag 64bit server task requires the following files installed in the Domino
program directory on a Windows 20032008 64bit server
File Source
contigexe httptechnetmicrosoftcomen-ussysinternalsbb897428aspx
DominoDefragexe In 64bit folder in the ldquoDominoDefrag v41ziprdquo distribution file
JkDefragCmdexe (optional)
In the ldquoJkDefrag-336ziprdquo distribution file at httpkesselscomjkdefrag
DominoDefrag v41 Release Notes
10 | P a g e
Aug 18
Notes INI Setting Information
Domino server Notes INI parameters are
Notes INI Parameter What it does
DominoDefrag_Directory Defaults to root data directory if not specified
DominoDefrag_Directory = mail Same as ldquoclotusdominodatamailrdquo Exits if not found
DominoDefrag_Directory = namesnsf Same as ldquoclotusdominodatanamesnsfrdquo Exits if not found
DominoDefrag_MinuteInterval = 60 Runs the server task continuously to the specified minute interval Will default to 0 (off) if not specified
DominoDefrag_Runtime = 30 Server task stops safely after the specified amount of minutes has elapsed and when the current database defrag has completed Will default to 0 (off) if not specified
DominoDefrag_FTIndex = 1 Will defrag associated full text index folders file(s) Will default to 0 (off) if not specified
DominoDefrag_StartPoint = 10 Specifies the average number of fragments required before a database or full-text index is defragged Will default to 2 if not specified
DominoDefrag_VerboseLogging = 1 Controls amount of server console information Will default to 0 (off) if not specified
DominoDefrag_Compact = 1 Allows in-place compact before defrag Will default to 0 (off) if not specified
DominoDefrag_CompactOptions = -C Allows use of ncompactexe options and overrides the default behaviour Will only work when DominoDefrag_Compact=1 and 2nd command line parameter not specified
DominoDefrag_CompactStart = 10 or 10MB
Specifies to compact a database in which there is more than (between 1 and 99) or MB size of database space to recover Specify (default) or MB after the number eg 10 or 10MB Will only work when DominoDefrag_Compact=1 and will default to 0 (off) if not specified
DominoDefrag_SummaryEmailAddress = World Administrator
Sends summary e-mail for server to specified e-mail address Will not send email if not specified
DominoDefrag_SummaryEmailFrom = spidermanacmecom
Sends summary e-mail for server from specified e-mail address Will default to ldquoDominoDefragrdquo if not specified
DominoDefrag_TransactionLog = 1 Will defrag transaction log files under the Notes INI TRANSLOG_Path directory value Will default to 0 (off) if not specified
DominoDefrag_DAOS = 1 Will defrag DAOS files under the Notes INI DAOSBasePath directory value Will default to 0 (off) if not specified
DominoDefrag_PerformanceCheck = 1 DominoDefrag_PerformanceCheck Notes INI tests before and after defrag millisecond performance of databases and their associated full-text indexes using generated document collections Will default to 0 (off) if not specified
DominoDefrag_FreeSpace= 10 or 10MB Attempts to generate the free space (unused space) to
DominoDefrag v41 Release Notes
11 | P a g e
Aug 18
Notes INI Parameter What it does
the of database size (between 1 and 99) or MB size specified Specify (default) or MB after the number eg 10 or 10MB Itrsquos used to optimize free space within a database to reduce future fragmentation Will default to 0 (off) if not specified
DominoDefrag_FreeSpaceMaxMB Only applies if DominoDefrag_FreeSpace is specified as a It specifies the maximum megabyte value that is used to limit the amount of new free space that can be pre-allocated Defaults to 1MB if not specified
DominoDefrag_OptimizeDataVolume=1 Specifies that ldquojkdefragcmdexerdquo is used to consolidate free space (-a5) alphabetically sort all file placements (-a7) and perform a complete defrag and fast sort optimization (-a3) of the Domino data volume It runs as a separate function and can take some time to perform Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_OptimizeFiles=1 Specifies that ldquojkdefragcmdexerdquo is used after defragmentation to fast sort file placement on the Domino data volume Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_EnterpriseSupport=1 Specifies that the ldquoDD_ServerLogcsvrdquo and ldquoDD_DatabaseLogcsvrdquo files should be created and attached to the summary email for use by the DominoDefrag Enterprise Edition mail-in database Will only work if DominoDefrag_SummaryEmailAddress is specified Will default to 0 (off) if not specified
DominoDefrag_ErrorLogging=1 DominoDefrag_ErrorLogging Notes INI parameter only reports error messages to the Domino server console Overrides DominoDefrag_VerboseLogging Will default to 0 (off) if not specified
DominoDefrag_CreateClusterReplicaStub = 1 or 2
Creates replica stubs on cluster mates Does not overwrite existing cluster mate replicas and uses cluster directory to determine whether to create A value of 2 means also overwrite databases on cluster mates that have the same database file path but different replica id
DominoDefrag_OnlyOOO = 1 Only process databases on R851+ Domino servers with Out-Of-Office turned on
DominoDefrag_ExcludeINDFiles = 1 DominoDefrag_ExcludeINDFiles excludes directories and files specified in an indirect file from being processed
DominoDefrag v41 Release Notes
12 | P a g e
Aug 18
Run Information
The DominoDefrag server task can be run from the Domino server console a program document or
the Notes INI servertask line Server task parameters are (override Notes INI equivalents)
DominoDefragexe ltDominoDefrag_Directorygt ltDominoDefrag_CompactOptionsgt
DefragCompact Requirement Load DominoDefrag statement example
Defrag all directories Load Dominodefrag
Defrag all directories with compact Load Dominodefrag ldquo ldquo ndashc
Defrag all directories with compact containing space(s) in options
Load Dominodefrag ldquo ldquo ldquondashB ndashZUrdquo
Defrag subdirectory Load Dominodefrag mail
Defrag subdirectory with wildcard Load Dominodefrag mailansf
Defrag subdirectory with compact Load Dominodefrag mail -c
Defrag subdirectory with compact containing space(s) in options
Load Dominodefrag mail ldquondashB ndashZUrdquo
Defrag subdirectory containing space(s) Load Dominodefrag ldquomailcompany xrdquo
Defrag subdirectory containing space(s) with compact
Load Dominodefrag ldquomailcompany xrdquo ndashc
Defrag subdirectory containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquomailcompany xrdquo ldquondashB ndashZUrdquo
Defrag nsfntfdirbox file Load Dominodefrag namesnsf
Defrag nsfntfdirbox file with wildcard Load Dominodefrag mailbox
Defrag nsfntfdirbox file with compact Load Dominodefrag mail85ntf ndashc
Defrag nsfntfdirbox file with compact containing space(s) in options
Load Dominodefrag mailbox ldquondashB rdquo
Defrag nsfntfdirbox file containing space(s)
Load Dominodefrag ldquotdrive linkdirrdquo
Defrag nsfntfdirbox file containing space(s) with compact
Load Dominodefrag ldquotdrive linkdirrdquo -c
Defrag nsfntfdirbox file containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquotdrive linkdirrdquo ldquondashB ndashZUrdquo
Defrag indirect file Load DominoDefrag files1ind
Defrag indirect file with compact Load DominoDefrag files1ind -c
Defrag indirect file containing space(s) with compact containing space(s) in options
Load DominoDefrag ldquofiles 1indrdquo ldquondashB ndashZUrdquo
Figure 7 - Program document example
DominoDefrag v41 Release Notes
13 | P a g e
Aug 18
Developer Workstation Setup Information
Server Requirement OpenNTF Published Document Choice(s)
Compile to work with Windows 20032008 32bit versions
ldquoDominoDefrag C API Visual Studio C++ 2010 Express Edition 32bit Workstation Setuppdfrdquo
Compile to work with Windows 20032008 64bit versions
ldquoDominoDefrag C API Visual Studio 2010 C++ 64bit Workstation Setuppdfrdquo
Independent Review
Over a 7 month period Spanish Lotus User Group (ESLUG) blogger Albert Buendia road tested
DominoDefrag (versions 14-21) and presents his comprehensive findings in the PDF files below
English version -gt httpwwwslugesblogslugnsfdxdefragging-domino-servers-
v12pdf$filedefragging-domino-servers-v12pdf
Spanish version -gt httpslugmailslugesBlogSlugnsfdxdesfragmentando-servidores-
domino-v2pdf$filedesfragmentando-servidores-domino-v2pdf
Other Related information
Domino 853 Upgrade Pack 1 - httpwwwopenntforgblogsopenntfnsfd6plinksNHEF-
8PJNBU
Contigexe (v17) By Mark Russinovich (Sysinternals) - httptechnetmicrosoftcomen-
ussysinternalsbb897428aspx
JkDefragCmdexe (v336) By Jeroen Kessels - httpkesselscomjkdefrag
Lotus C API toolkits - httpwwwibmcomdeveloperworkslotusdownloadstoolkitshtml
IBM Technote 1229817 - Slow response from a Domino server when attempting to open a
Lotus Notes database or switch views in the database - httpwww-
01ibmcomsupportdocviewwssuid=swg21229817
Lotus Notes and Domino wiki article - IBM Lotus Domino Server performance Hard disk
fragmentation - httpwww-
10lotuscomldddominowikinsfdx01152009062114PMWEBVDThtm
Greyhawks Meanderings Blog - The great defrag debate Defrag Domino or No -
httpwwwgreyhawk68comgreyhawk68homensfd6plinksJROG-7F8TZS
The Weird World of Eknori - Database Defragmentation - Poor Manrsquos Solution -
httpwwweknoride2008-11-29database-defragmentation-poor-mans-solution
Visual Studio 20082010 C++ Express Editions -
httpwwwmicrosoftcomexpressdownload
IBM Technote 1208136 on indirect file usage for batch processing -
httpwww-01ibmcomsupportdocviewwssrs=0ampuid=swg21208136
DominoDefrag v41 Release Notes
14 | P a g e
Aug 18
Avoiding DominoDefrag Administrator database installation problems
Make sure the Signing ID you signed the ldquoDominoDefragAdminnsfrdquo with is in server
document access fields
Figure 8 - Server document access fields
This will stop the 403 error belowhellip
Figure 9 - Error 403
Make sure HTTP and Extension Library are loaded Also this is compiled for R852+
Figure 10 - HTTP and Extension Library
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
10 | P a g e
Aug 18
Notes INI Setting Information
Domino server Notes INI parameters are
Notes INI Parameter What it does
DominoDefrag_Directory Defaults to root data directory if not specified
DominoDefrag_Directory = mail Same as ldquoclotusdominodatamailrdquo Exits if not found
DominoDefrag_Directory = namesnsf Same as ldquoclotusdominodatanamesnsfrdquo Exits if not found
DominoDefrag_MinuteInterval = 60 Runs the server task continuously to the specified minute interval Will default to 0 (off) if not specified
DominoDefrag_Runtime = 30 Server task stops safely after the specified amount of minutes has elapsed and when the current database defrag has completed Will default to 0 (off) if not specified
DominoDefrag_FTIndex = 1 Will defrag associated full text index folders file(s) Will default to 0 (off) if not specified
DominoDefrag_StartPoint = 10 Specifies the average number of fragments required before a database or full-text index is defragged Will default to 2 if not specified
DominoDefrag_VerboseLogging = 1 Controls amount of server console information Will default to 0 (off) if not specified
DominoDefrag_Compact = 1 Allows in-place compact before defrag Will default to 0 (off) if not specified
DominoDefrag_CompactOptions = -C Allows use of ncompactexe options and overrides the default behaviour Will only work when DominoDefrag_Compact=1 and 2nd command line parameter not specified
DominoDefrag_CompactStart = 10 or 10MB
Specifies to compact a database in which there is more than (between 1 and 99) or MB size of database space to recover Specify (default) or MB after the number eg 10 or 10MB Will only work when DominoDefrag_Compact=1 and will default to 0 (off) if not specified
DominoDefrag_SummaryEmailAddress = World Administrator
Sends summary e-mail for server to specified e-mail address Will not send email if not specified
DominoDefrag_SummaryEmailFrom = spidermanacmecom
Sends summary e-mail for server from specified e-mail address Will default to ldquoDominoDefragrdquo if not specified
DominoDefrag_TransactionLog = 1 Will defrag transaction log files under the Notes INI TRANSLOG_Path directory value Will default to 0 (off) if not specified
DominoDefrag_DAOS = 1 Will defrag DAOS files under the Notes INI DAOSBasePath directory value Will default to 0 (off) if not specified
DominoDefrag_PerformanceCheck = 1 DominoDefrag_PerformanceCheck Notes INI tests before and after defrag millisecond performance of databases and their associated full-text indexes using generated document collections Will default to 0 (off) if not specified
DominoDefrag_FreeSpace= 10 or 10MB Attempts to generate the free space (unused space) to
DominoDefrag v41 Release Notes
11 | P a g e
Aug 18
Notes INI Parameter What it does
the of database size (between 1 and 99) or MB size specified Specify (default) or MB after the number eg 10 or 10MB Itrsquos used to optimize free space within a database to reduce future fragmentation Will default to 0 (off) if not specified
DominoDefrag_FreeSpaceMaxMB Only applies if DominoDefrag_FreeSpace is specified as a It specifies the maximum megabyte value that is used to limit the amount of new free space that can be pre-allocated Defaults to 1MB if not specified
DominoDefrag_OptimizeDataVolume=1 Specifies that ldquojkdefragcmdexerdquo is used to consolidate free space (-a5) alphabetically sort all file placements (-a7) and perform a complete defrag and fast sort optimization (-a3) of the Domino data volume It runs as a separate function and can take some time to perform Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_OptimizeFiles=1 Specifies that ldquojkdefragcmdexerdquo is used after defragmentation to fast sort file placement on the Domino data volume Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_EnterpriseSupport=1 Specifies that the ldquoDD_ServerLogcsvrdquo and ldquoDD_DatabaseLogcsvrdquo files should be created and attached to the summary email for use by the DominoDefrag Enterprise Edition mail-in database Will only work if DominoDefrag_SummaryEmailAddress is specified Will default to 0 (off) if not specified
DominoDefrag_ErrorLogging=1 DominoDefrag_ErrorLogging Notes INI parameter only reports error messages to the Domino server console Overrides DominoDefrag_VerboseLogging Will default to 0 (off) if not specified
DominoDefrag_CreateClusterReplicaStub = 1 or 2
Creates replica stubs on cluster mates Does not overwrite existing cluster mate replicas and uses cluster directory to determine whether to create A value of 2 means also overwrite databases on cluster mates that have the same database file path but different replica id
DominoDefrag_OnlyOOO = 1 Only process databases on R851+ Domino servers with Out-Of-Office turned on
DominoDefrag_ExcludeINDFiles = 1 DominoDefrag_ExcludeINDFiles excludes directories and files specified in an indirect file from being processed
DominoDefrag v41 Release Notes
12 | P a g e
Aug 18
Run Information
The DominoDefrag server task can be run from the Domino server console a program document or
the Notes INI servertask line Server task parameters are (override Notes INI equivalents)
DominoDefragexe ltDominoDefrag_Directorygt ltDominoDefrag_CompactOptionsgt
DefragCompact Requirement Load DominoDefrag statement example
Defrag all directories Load Dominodefrag
Defrag all directories with compact Load Dominodefrag ldquo ldquo ndashc
Defrag all directories with compact containing space(s) in options
Load Dominodefrag ldquo ldquo ldquondashB ndashZUrdquo
Defrag subdirectory Load Dominodefrag mail
Defrag subdirectory with wildcard Load Dominodefrag mailansf
Defrag subdirectory with compact Load Dominodefrag mail -c
Defrag subdirectory with compact containing space(s) in options
Load Dominodefrag mail ldquondashB ndashZUrdquo
Defrag subdirectory containing space(s) Load Dominodefrag ldquomailcompany xrdquo
Defrag subdirectory containing space(s) with compact
Load Dominodefrag ldquomailcompany xrdquo ndashc
Defrag subdirectory containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquomailcompany xrdquo ldquondashB ndashZUrdquo
Defrag nsfntfdirbox file Load Dominodefrag namesnsf
Defrag nsfntfdirbox file with wildcard Load Dominodefrag mailbox
Defrag nsfntfdirbox file with compact Load Dominodefrag mail85ntf ndashc
Defrag nsfntfdirbox file with compact containing space(s) in options
Load Dominodefrag mailbox ldquondashB rdquo
Defrag nsfntfdirbox file containing space(s)
Load Dominodefrag ldquotdrive linkdirrdquo
Defrag nsfntfdirbox file containing space(s) with compact
Load Dominodefrag ldquotdrive linkdirrdquo -c
Defrag nsfntfdirbox file containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquotdrive linkdirrdquo ldquondashB ndashZUrdquo
Defrag indirect file Load DominoDefrag files1ind
Defrag indirect file with compact Load DominoDefrag files1ind -c
Defrag indirect file containing space(s) with compact containing space(s) in options
Load DominoDefrag ldquofiles 1indrdquo ldquondashB ndashZUrdquo
Figure 7 - Program document example
DominoDefrag v41 Release Notes
13 | P a g e
Aug 18
Developer Workstation Setup Information
Server Requirement OpenNTF Published Document Choice(s)
Compile to work with Windows 20032008 32bit versions
ldquoDominoDefrag C API Visual Studio C++ 2010 Express Edition 32bit Workstation Setuppdfrdquo
Compile to work with Windows 20032008 64bit versions
ldquoDominoDefrag C API Visual Studio 2010 C++ 64bit Workstation Setuppdfrdquo
Independent Review
Over a 7 month period Spanish Lotus User Group (ESLUG) blogger Albert Buendia road tested
DominoDefrag (versions 14-21) and presents his comprehensive findings in the PDF files below
English version -gt httpwwwslugesblogslugnsfdxdefragging-domino-servers-
v12pdf$filedefragging-domino-servers-v12pdf
Spanish version -gt httpslugmailslugesBlogSlugnsfdxdesfragmentando-servidores-
domino-v2pdf$filedesfragmentando-servidores-domino-v2pdf
Other Related information
Domino 853 Upgrade Pack 1 - httpwwwopenntforgblogsopenntfnsfd6plinksNHEF-
8PJNBU
Contigexe (v17) By Mark Russinovich (Sysinternals) - httptechnetmicrosoftcomen-
ussysinternalsbb897428aspx
JkDefragCmdexe (v336) By Jeroen Kessels - httpkesselscomjkdefrag
Lotus C API toolkits - httpwwwibmcomdeveloperworkslotusdownloadstoolkitshtml
IBM Technote 1229817 - Slow response from a Domino server when attempting to open a
Lotus Notes database or switch views in the database - httpwww-
01ibmcomsupportdocviewwssuid=swg21229817
Lotus Notes and Domino wiki article - IBM Lotus Domino Server performance Hard disk
fragmentation - httpwww-
10lotuscomldddominowikinsfdx01152009062114PMWEBVDThtm
Greyhawks Meanderings Blog - The great defrag debate Defrag Domino or No -
httpwwwgreyhawk68comgreyhawk68homensfd6plinksJROG-7F8TZS
The Weird World of Eknori - Database Defragmentation - Poor Manrsquos Solution -
httpwwweknoride2008-11-29database-defragmentation-poor-mans-solution
Visual Studio 20082010 C++ Express Editions -
httpwwwmicrosoftcomexpressdownload
IBM Technote 1208136 on indirect file usage for batch processing -
httpwww-01ibmcomsupportdocviewwssrs=0ampuid=swg21208136
DominoDefrag v41 Release Notes
14 | P a g e
Aug 18
Avoiding DominoDefrag Administrator database installation problems
Make sure the Signing ID you signed the ldquoDominoDefragAdminnsfrdquo with is in server
document access fields
Figure 8 - Server document access fields
This will stop the 403 error belowhellip
Figure 9 - Error 403
Make sure HTTP and Extension Library are loaded Also this is compiled for R852+
Figure 10 - HTTP and Extension Library
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
11 | P a g e
Aug 18
Notes INI Parameter What it does
the of database size (between 1 and 99) or MB size specified Specify (default) or MB after the number eg 10 or 10MB Itrsquos used to optimize free space within a database to reduce future fragmentation Will default to 0 (off) if not specified
DominoDefrag_FreeSpaceMaxMB Only applies if DominoDefrag_FreeSpace is specified as a It specifies the maximum megabyte value that is used to limit the amount of new free space that can be pre-allocated Defaults to 1MB if not specified
DominoDefrag_OptimizeDataVolume=1 Specifies that ldquojkdefragcmdexerdquo is used to consolidate free space (-a5) alphabetically sort all file placements (-a7) and perform a complete defrag and fast sort optimization (-a3) of the Domino data volume It runs as a separate function and can take some time to perform Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_OptimizeFiles=1 Specifies that ldquojkdefragcmdexerdquo is used after defragmentation to fast sort file placement on the Domino data volume Does not work on NT4 Will default to 0 (off) if not specified
DominoDefrag_EnterpriseSupport=1 Specifies that the ldquoDD_ServerLogcsvrdquo and ldquoDD_DatabaseLogcsvrdquo files should be created and attached to the summary email for use by the DominoDefrag Enterprise Edition mail-in database Will only work if DominoDefrag_SummaryEmailAddress is specified Will default to 0 (off) if not specified
DominoDefrag_ErrorLogging=1 DominoDefrag_ErrorLogging Notes INI parameter only reports error messages to the Domino server console Overrides DominoDefrag_VerboseLogging Will default to 0 (off) if not specified
DominoDefrag_CreateClusterReplicaStub = 1 or 2
Creates replica stubs on cluster mates Does not overwrite existing cluster mate replicas and uses cluster directory to determine whether to create A value of 2 means also overwrite databases on cluster mates that have the same database file path but different replica id
DominoDefrag_OnlyOOO = 1 Only process databases on R851+ Domino servers with Out-Of-Office turned on
DominoDefrag_ExcludeINDFiles = 1 DominoDefrag_ExcludeINDFiles excludes directories and files specified in an indirect file from being processed
DominoDefrag v41 Release Notes
12 | P a g e
Aug 18
Run Information
The DominoDefrag server task can be run from the Domino server console a program document or
the Notes INI servertask line Server task parameters are (override Notes INI equivalents)
DominoDefragexe ltDominoDefrag_Directorygt ltDominoDefrag_CompactOptionsgt
DefragCompact Requirement Load DominoDefrag statement example
Defrag all directories Load Dominodefrag
Defrag all directories with compact Load Dominodefrag ldquo ldquo ndashc
Defrag all directories with compact containing space(s) in options
Load Dominodefrag ldquo ldquo ldquondashB ndashZUrdquo
Defrag subdirectory Load Dominodefrag mail
Defrag subdirectory with wildcard Load Dominodefrag mailansf
Defrag subdirectory with compact Load Dominodefrag mail -c
Defrag subdirectory with compact containing space(s) in options
Load Dominodefrag mail ldquondashB ndashZUrdquo
Defrag subdirectory containing space(s) Load Dominodefrag ldquomailcompany xrdquo
Defrag subdirectory containing space(s) with compact
Load Dominodefrag ldquomailcompany xrdquo ndashc
Defrag subdirectory containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquomailcompany xrdquo ldquondashB ndashZUrdquo
Defrag nsfntfdirbox file Load Dominodefrag namesnsf
Defrag nsfntfdirbox file with wildcard Load Dominodefrag mailbox
Defrag nsfntfdirbox file with compact Load Dominodefrag mail85ntf ndashc
Defrag nsfntfdirbox file with compact containing space(s) in options
Load Dominodefrag mailbox ldquondashB rdquo
Defrag nsfntfdirbox file containing space(s)
Load Dominodefrag ldquotdrive linkdirrdquo
Defrag nsfntfdirbox file containing space(s) with compact
Load Dominodefrag ldquotdrive linkdirrdquo -c
Defrag nsfntfdirbox file containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquotdrive linkdirrdquo ldquondashB ndashZUrdquo
Defrag indirect file Load DominoDefrag files1ind
Defrag indirect file with compact Load DominoDefrag files1ind -c
Defrag indirect file containing space(s) with compact containing space(s) in options
Load DominoDefrag ldquofiles 1indrdquo ldquondashB ndashZUrdquo
Figure 7 - Program document example
DominoDefrag v41 Release Notes
13 | P a g e
Aug 18
Developer Workstation Setup Information
Server Requirement OpenNTF Published Document Choice(s)
Compile to work with Windows 20032008 32bit versions
ldquoDominoDefrag C API Visual Studio C++ 2010 Express Edition 32bit Workstation Setuppdfrdquo
Compile to work with Windows 20032008 64bit versions
ldquoDominoDefrag C API Visual Studio 2010 C++ 64bit Workstation Setuppdfrdquo
Independent Review
Over a 7 month period Spanish Lotus User Group (ESLUG) blogger Albert Buendia road tested
DominoDefrag (versions 14-21) and presents his comprehensive findings in the PDF files below
English version -gt httpwwwslugesblogslugnsfdxdefragging-domino-servers-
v12pdf$filedefragging-domino-servers-v12pdf
Spanish version -gt httpslugmailslugesBlogSlugnsfdxdesfragmentando-servidores-
domino-v2pdf$filedesfragmentando-servidores-domino-v2pdf
Other Related information
Domino 853 Upgrade Pack 1 - httpwwwopenntforgblogsopenntfnsfd6plinksNHEF-
8PJNBU
Contigexe (v17) By Mark Russinovich (Sysinternals) - httptechnetmicrosoftcomen-
ussysinternalsbb897428aspx
JkDefragCmdexe (v336) By Jeroen Kessels - httpkesselscomjkdefrag
Lotus C API toolkits - httpwwwibmcomdeveloperworkslotusdownloadstoolkitshtml
IBM Technote 1229817 - Slow response from a Domino server when attempting to open a
Lotus Notes database or switch views in the database - httpwww-
01ibmcomsupportdocviewwssuid=swg21229817
Lotus Notes and Domino wiki article - IBM Lotus Domino Server performance Hard disk
fragmentation - httpwww-
10lotuscomldddominowikinsfdx01152009062114PMWEBVDThtm
Greyhawks Meanderings Blog - The great defrag debate Defrag Domino or No -
httpwwwgreyhawk68comgreyhawk68homensfd6plinksJROG-7F8TZS
The Weird World of Eknori - Database Defragmentation - Poor Manrsquos Solution -
httpwwweknoride2008-11-29database-defragmentation-poor-mans-solution
Visual Studio 20082010 C++ Express Editions -
httpwwwmicrosoftcomexpressdownload
IBM Technote 1208136 on indirect file usage for batch processing -
httpwww-01ibmcomsupportdocviewwssrs=0ampuid=swg21208136
DominoDefrag v41 Release Notes
14 | P a g e
Aug 18
Avoiding DominoDefrag Administrator database installation problems
Make sure the Signing ID you signed the ldquoDominoDefragAdminnsfrdquo with is in server
document access fields
Figure 8 - Server document access fields
This will stop the 403 error belowhellip
Figure 9 - Error 403
Make sure HTTP and Extension Library are loaded Also this is compiled for R852+
Figure 10 - HTTP and Extension Library
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
12 | P a g e
Aug 18
Run Information
The DominoDefrag server task can be run from the Domino server console a program document or
the Notes INI servertask line Server task parameters are (override Notes INI equivalents)
DominoDefragexe ltDominoDefrag_Directorygt ltDominoDefrag_CompactOptionsgt
DefragCompact Requirement Load DominoDefrag statement example
Defrag all directories Load Dominodefrag
Defrag all directories with compact Load Dominodefrag ldquo ldquo ndashc
Defrag all directories with compact containing space(s) in options
Load Dominodefrag ldquo ldquo ldquondashB ndashZUrdquo
Defrag subdirectory Load Dominodefrag mail
Defrag subdirectory with wildcard Load Dominodefrag mailansf
Defrag subdirectory with compact Load Dominodefrag mail -c
Defrag subdirectory with compact containing space(s) in options
Load Dominodefrag mail ldquondashB ndashZUrdquo
Defrag subdirectory containing space(s) Load Dominodefrag ldquomailcompany xrdquo
Defrag subdirectory containing space(s) with compact
Load Dominodefrag ldquomailcompany xrdquo ndashc
Defrag subdirectory containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquomailcompany xrdquo ldquondashB ndashZUrdquo
Defrag nsfntfdirbox file Load Dominodefrag namesnsf
Defrag nsfntfdirbox file with wildcard Load Dominodefrag mailbox
Defrag nsfntfdirbox file with compact Load Dominodefrag mail85ntf ndashc
Defrag nsfntfdirbox file with compact containing space(s) in options
Load Dominodefrag mailbox ldquondashB rdquo
Defrag nsfntfdirbox file containing space(s)
Load Dominodefrag ldquotdrive linkdirrdquo
Defrag nsfntfdirbox file containing space(s) with compact
Load Dominodefrag ldquotdrive linkdirrdquo -c
Defrag nsfntfdirbox file containing space(s) with compact containing space(s) in options
Load Dominodefrag ldquotdrive linkdirrdquo ldquondashB ndashZUrdquo
Defrag indirect file Load DominoDefrag files1ind
Defrag indirect file with compact Load DominoDefrag files1ind -c
Defrag indirect file containing space(s) with compact containing space(s) in options
Load DominoDefrag ldquofiles 1indrdquo ldquondashB ndashZUrdquo
Figure 7 - Program document example
DominoDefrag v41 Release Notes
13 | P a g e
Aug 18
Developer Workstation Setup Information
Server Requirement OpenNTF Published Document Choice(s)
Compile to work with Windows 20032008 32bit versions
ldquoDominoDefrag C API Visual Studio C++ 2010 Express Edition 32bit Workstation Setuppdfrdquo
Compile to work with Windows 20032008 64bit versions
ldquoDominoDefrag C API Visual Studio 2010 C++ 64bit Workstation Setuppdfrdquo
Independent Review
Over a 7 month period Spanish Lotus User Group (ESLUG) blogger Albert Buendia road tested
DominoDefrag (versions 14-21) and presents his comprehensive findings in the PDF files below
English version -gt httpwwwslugesblogslugnsfdxdefragging-domino-servers-
v12pdf$filedefragging-domino-servers-v12pdf
Spanish version -gt httpslugmailslugesBlogSlugnsfdxdesfragmentando-servidores-
domino-v2pdf$filedesfragmentando-servidores-domino-v2pdf
Other Related information
Domino 853 Upgrade Pack 1 - httpwwwopenntforgblogsopenntfnsfd6plinksNHEF-
8PJNBU
Contigexe (v17) By Mark Russinovich (Sysinternals) - httptechnetmicrosoftcomen-
ussysinternalsbb897428aspx
JkDefragCmdexe (v336) By Jeroen Kessels - httpkesselscomjkdefrag
Lotus C API toolkits - httpwwwibmcomdeveloperworkslotusdownloadstoolkitshtml
IBM Technote 1229817 - Slow response from a Domino server when attempting to open a
Lotus Notes database or switch views in the database - httpwww-
01ibmcomsupportdocviewwssuid=swg21229817
Lotus Notes and Domino wiki article - IBM Lotus Domino Server performance Hard disk
fragmentation - httpwww-
10lotuscomldddominowikinsfdx01152009062114PMWEBVDThtm
Greyhawks Meanderings Blog - The great defrag debate Defrag Domino or No -
httpwwwgreyhawk68comgreyhawk68homensfd6plinksJROG-7F8TZS
The Weird World of Eknori - Database Defragmentation - Poor Manrsquos Solution -
httpwwweknoride2008-11-29database-defragmentation-poor-mans-solution
Visual Studio 20082010 C++ Express Editions -
httpwwwmicrosoftcomexpressdownload
IBM Technote 1208136 on indirect file usage for batch processing -
httpwww-01ibmcomsupportdocviewwssrs=0ampuid=swg21208136
DominoDefrag v41 Release Notes
14 | P a g e
Aug 18
Avoiding DominoDefrag Administrator database installation problems
Make sure the Signing ID you signed the ldquoDominoDefragAdminnsfrdquo with is in server
document access fields
Figure 8 - Server document access fields
This will stop the 403 error belowhellip
Figure 9 - Error 403
Make sure HTTP and Extension Library are loaded Also this is compiled for R852+
Figure 10 - HTTP and Extension Library
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
13 | P a g e
Aug 18
Developer Workstation Setup Information
Server Requirement OpenNTF Published Document Choice(s)
Compile to work with Windows 20032008 32bit versions
ldquoDominoDefrag C API Visual Studio C++ 2010 Express Edition 32bit Workstation Setuppdfrdquo
Compile to work with Windows 20032008 64bit versions
ldquoDominoDefrag C API Visual Studio 2010 C++ 64bit Workstation Setuppdfrdquo
Independent Review
Over a 7 month period Spanish Lotus User Group (ESLUG) blogger Albert Buendia road tested
DominoDefrag (versions 14-21) and presents his comprehensive findings in the PDF files below
English version -gt httpwwwslugesblogslugnsfdxdefragging-domino-servers-
v12pdf$filedefragging-domino-servers-v12pdf
Spanish version -gt httpslugmailslugesBlogSlugnsfdxdesfragmentando-servidores-
domino-v2pdf$filedesfragmentando-servidores-domino-v2pdf
Other Related information
Domino 853 Upgrade Pack 1 - httpwwwopenntforgblogsopenntfnsfd6plinksNHEF-
8PJNBU
Contigexe (v17) By Mark Russinovich (Sysinternals) - httptechnetmicrosoftcomen-
ussysinternalsbb897428aspx
JkDefragCmdexe (v336) By Jeroen Kessels - httpkesselscomjkdefrag
Lotus C API toolkits - httpwwwibmcomdeveloperworkslotusdownloadstoolkitshtml
IBM Technote 1229817 - Slow response from a Domino server when attempting to open a
Lotus Notes database or switch views in the database - httpwww-
01ibmcomsupportdocviewwssuid=swg21229817
Lotus Notes and Domino wiki article - IBM Lotus Domino Server performance Hard disk
fragmentation - httpwww-
10lotuscomldddominowikinsfdx01152009062114PMWEBVDThtm
Greyhawks Meanderings Blog - The great defrag debate Defrag Domino or No -
httpwwwgreyhawk68comgreyhawk68homensfd6plinksJROG-7F8TZS
The Weird World of Eknori - Database Defragmentation - Poor Manrsquos Solution -
httpwwweknoride2008-11-29database-defragmentation-poor-mans-solution
Visual Studio 20082010 C++ Express Editions -
httpwwwmicrosoftcomexpressdownload
IBM Technote 1208136 on indirect file usage for batch processing -
httpwww-01ibmcomsupportdocviewwssrs=0ampuid=swg21208136
DominoDefrag v41 Release Notes
14 | P a g e
Aug 18
Avoiding DominoDefrag Administrator database installation problems
Make sure the Signing ID you signed the ldquoDominoDefragAdminnsfrdquo with is in server
document access fields
Figure 8 - Server document access fields
This will stop the 403 error belowhellip
Figure 9 - Error 403
Make sure HTTP and Extension Library are loaded Also this is compiled for R852+
Figure 10 - HTTP and Extension Library
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
14 | P a g e
Aug 18
Avoiding DominoDefrag Administrator database installation problems
Make sure the Signing ID you signed the ldquoDominoDefragAdminnsfrdquo with is in server
document access fields
Figure 8 - Server document access fields
This will stop the 403 error belowhellip
Figure 9 - Error 403
Make sure HTTP and Extension Library are loaded Also this is compiled for R852+
Figure 10 - HTTP and Extension Library
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
15 | P a g e
Aug 18
Annex A - DominoDefrag Administrator Notes client Features and Setup
Features
Create a Server Defrag Profile per Domino Server to control ldquoDominoDefragexerdquo execution
and report on activity
Record all Server and Defrag defragmentation activities
Only need to implement in one place in your Domino domain as a mail-in database to
capture all Domino server defragmentation activities
Control all Domino server DominDefrag Notes INI settings
Generate Excel charts on Domino server total and average information
Register the DominoDefrag task in the domadminnsf so you can see it when monitoring
server tasks in the Domino adminstrator
Generate IND files and create Program documents to run DominoDefrag with them
DominoDefrag Administrator Setup Steps
Identify
Identify the R6x-R8x Domino server where the mail-in database (MIDB) will reside in your Domino Domain
Identify the infrastructure template signing ID yoursquore going to use to sign it and what the IDs home mail server is
Identify the Domino server(s) running the DominoDefrag server task that you want to send a summary email from to the MIDB for processing
Access
The infrastructure template signing ID will require Sign or run unrestricted methods and operations specified in the mail-in databases home Domino Server document (see Figure 11)
Figure 11 - Server Document Restrictions
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
16 | P a g e
Aug 18
Sign the DominoDefragAdminnsf database with the infrastructure template signing ID (see Figure 12)
Figure 12 - Signing DominoDefragAdminnsf database
Create Mail-in Database Document
Create a Mail-In database document called DominoDefrag MIDB (or other choice) and point it to the Domino server where the DominoDefragAdminnsf database is located (see Figure 13)
Figure 13 - Mail-in database document
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
17 | P a g e
Aug 18
If the mail-in database server is not the signing IDs home mail server the Process Summary Messages agent will not run Fix this by adding AMGR_DISABLEMAILLOOKUP=1 to the Domino servers Notes INI file and restarting the Domino server
Create a Server Defrag Profile
Go to the Server Defrag Profiles view click Create Profile select a Domino Server and click OK (see Figure 14)
Figure 14 - Create Server Defrag Profile
Accept the default values and click Save amp Close (see Figure 15)
Figure 15 - Save Server Defrag Profile
Turn on DominoDefragexe Enterprise Support In the DominoDefragexe Domino servers Notes INI file add DominoDefrag_EnterpriseSupport=1 and DominoDefrag_SummaryEmailAddress= DominoDefrag MIDB (or other choice) and restart the Domino server
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files
DominoDefrag v41 Release Notes
18 | P a g e
Aug 18
Figure 16 ndash Shows the new summary email average counters and DominoDefrag_EnterpriseSupport=1 feature adding the CSV files to the summary email which the DominoDefrag Enterprise Edition mail-in database
DominoDefragAdminnsf processes
DominoDefrag v41 Release Notes
19 | P a g e
Aug 18
Figure 17 - Example 4 shows an Excel chart that can be generated from within the DominoDefrag Enterprise Edition mail-in database DominoDefragAdminnsf The information was used from Example 3rsquos CSV files