dominodefrag v4.1 release notespmt.nsf/0...(dominodefrag.exe) and a r9.0+ lotus domino server xpages...

19
DominoDefrag v4.1 Release Notes 1 | Page Aug. 18 Overview DominoDefrag is an open source solution comprising of a R9.0+ C API Lotus Domino server task (DominoDefrag.exe) and a R9.0+ Lotus Domino server XPages mail-in database called the DominoDefrag Administrator (DominoDefragAdmin.nsf – relies on Domino 8.5.3 Upgrade Pack 1 and above controls). The task uses "contig.exe" (v1.7) 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 server’s 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 “jkdefragcmd.exe” (v3.36) for Domino data volume free space consolidation and “fast sort” file placement optimization. In conjunction with “contig.exe” and the compact task (ncompact.exe) they provide the functionality outlined below: Order Utility Description 1 jkdefragcmd.exe 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 ncompact.exe Compacts a database when DominoDefrag_Compact=1. If DominoDefrag_CompactStart=x%/xMB also used only compacts the database that has > x% / > x MB unused space. 3 DominoDefrag.exe 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 contig.exe 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 database’s full-text index when DominoDefrag_FTIndex=1, the Domino server’s transaction log when DominoDefrag_TransactionLog=1 and the Domino server’s DAOS files when DominoDefrag_DAOS=1 5 jkdefragcmd.exe Performs a “fast sort” file placement optimization of database, full- text, transaction log or DAOS files when DominoDefrag_OptimizeFiles=1

Upload: others

Post on 02-Nov-2019

14 views

Category:

Documents


0 download

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

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