Lotus Console Commands
Lotus Console Commands
*******************************************************
I. The utilities: Updall, Compact, Fixup
A. Updall
Updall is similar to Update but it does not run continually or work from a queue. Instead, you run
Updall as needed. You can specify options when you run Updall but without them, Updall
updates any view indexes or full-text search indexes on the server that need updating. To save
disk space, Updall also purges deletion stubs from databases and discards view indexes for views
that are unused for 45 days, unless there are different criteria specified for discarding view
indexes. Use the notes.ini file setting, Default_Index_Lifetime_Days, to change when Updall
discards unused view indexes.
Like Update, Updall rebuilds all corrupt view indexes and full-text-search indexes that it
encounters.
By default, Updall is included in the notes.ini setting, ServerTasksAt2, so it runs daily at 2 AM.
Running Updall daily helps save disk space by purging deletion stubs and discarding unused
view indexes. It also ensures that all full-text-search indexes set for daily updates are updated.
Command line
Option in Task - Start tool Description
option
Index all databases databasepath "Only this database" updates only the
specified database. To update a database in
Index only this database or the Domino Data folder, enter the file name,
folder xxxx.nsf. To update databases in a folder
within the Data folder, specify the database
path relative to the data folder, for example,
doc\readme.nsf. "Index all databases" (or no
database path) updates all databases on the
server.
Command line
Option in Task - Start tool Description
option
Command line
Option in Task - Start tool Description
option
Rebuild: All used views -R Rebuilds all used views. Using this option is
resource-intensive, so use it as a last resort
to solve corruption problems with a specific
database.
Command line
Option in Task - Start tool Description
option
B. Compact
When documents and attachments are deleted from a database, Domino tries to reuse the unused
space instead of immediately reducing the file size. Sometimes Domino cannot reuse the space
because of fragmentation until you compact the database.
When you run Compact without specifying options, Domino uses this style of compacting on all
databases enabled for transaction logging. Domino also uses this style of compacting when you
use the -b option (case sensitive) when compacting any database.
Tip: Use this compacting method most frequently since it is the fastest and causes the least
system impact.
When you run Compact without specifying options, Domino uses this style of compacting on
databases that are not enabled for transaction logging. Domino also uses this style of compacting
when you use the -B option. To optimize disk space, it is recommended that you run Compact,
using the -B option on all databases once a week or once a month.
Copy-style compacting
Copy-style compacting creates copies of databases and then deletes the original databases after
compacting completes, so extra disk space is required to make the database copies. This style of
compacting essentially creates a new database with a new database ID. If you use copy-style
compacting on logged databases (using the -c option), compacting assigns new DBIIDs, so when
using a certified backup utility, perform full backups of databases shortly after compacting
completes. When you use copy-style compacting, users and servers cannot edit databases during
compacting and they can only read databases if the -L option is used.
Domino uses copy-style compacting by default when you use an option with Compact to enable
a database property that requires a structural change to a database, or when you run Compact on
a database that has a structural change pending that was initiated from the Database Properties
box. Enabling or disabling the database properties, "Document table bitmap optimization" and
"Don't support specialized response hierarchy," require structural database changes.
Compact - Basics
Command line
Option Description
equivalent
Compact only this database database path To compact a database in the Domino Data
or folder. To specify Specify any folder, enter the file name, such as sales.nsf.
databases to compact using additional options To compact databases in a folder within the
the Files tab, select the after the database Data folder, specify the database path
databases in the files pane. path. relative to the data folder, i.e., to compact
all databases in the folder, Data\Sales,
specify Sales.
If you choose "Compact all databases" or
don't specify a database path), Compact
compacts all databases in the Data folder
and folders within the Data folder.
Compact - Options
Command line
Option Description
equivalent
Compact - Style
Command line
Option Description
equivalent
Compact - Advanced
Note that advanced Compact options are not available through the Compact tool on the Files tab
of Domino Administrator.
Command
Option* Description
line equivalent
Don't maintain unread marks: Disables "Don't maintain unread marks" database
-u
Off property; in other words, maintain unread marks.
Don't maintain unread marks: Enables "Don't maintain unread marks" database
-U
On property; in other words, do not maintain unread marks.
NOTE: Select "Set advanced properties" before you enable or disable any of the above
properties.
C. Fixup
When you restart a server, the server quickly searches for any unlogged databases that were
modified but improperly closed because of a server failure, power failure, hardware failure, and
so on. A few minutes after server startup is complete, the Fixup task then runs on these databases
to attempt to fix any inconsistencies that resulted from partially written operations caused by a
failure. When users attempt to access one of these databases and Fixup has not yet run on the
database, the users see the message "This database cannot be opened because a consistency
check of it is in progress." A similar Fixup process occurs when you restart a Lotus Notes client.
Multiple Fixup tasks run simultaneously at server startup to reduce the time required to fix
databases. The number of Fixup tasks that Domino runs by default at startup is equal to twice the
number of processors available on the server. Although this default behavior should be adequate
in most circumstances, you can edit the NOTES.INI file to include the Fixup_Tasks setting. The
actual number of tasks run is the smaller of the configured number of tasks that can run and the
number of databases that require fixing. For example, if you set Fixup_Tasks to 4, but only one
database requires fixing, then only one Fixup task runs.
Keep in mind that, after you set up transaction logging, Fixup is not needed or used to bring
databases back to a consistent state.
Fixup- Options
Fixup all databases databasepath "Fixup only this database or folder" runs Fixup onl
Fixup only this database or specifid database or all databases in a specified fold
folder To run Fixup on a database in the Domino data fold
enter the file name, for example SALES.NSF. To r
Fixup on a database or databases in folders within t
data folder, enter the path relative to the data folder
example, to run Fixup on all databases in the
DATA\SALES folder, specify SALES.
"Fixup all databases" or no command line database
runs Fixup on all databases on the server.
Note To specify databases or folders to run on usin
Fixup tool, select the database(s) or folder(s).
Fixup open databases -O If you run Fixup on open databases, Fixup takes the
databases offline to perform the fixup.
This is the default if you run Fixup and specify a
database name. Without this option, when you do n
specify database names, Fixup does not run on ope
databases.
If you are running transactional logs, run the following for weekly maintenance:
Compact –b –s 10
The above command compacts any database with more than 10% of white space. The "-b" and "-
B" means an in-place compaction. The "–b" is used with transaction logs so that no new dbIIDs
are assigned to the databases.
There is no need to run Fixup or Updall as part of a weekly maintenance schedule. Fixup should
be run only if corruption is suspected of a database and Updall is run every night by default. Run
Updall with switches if view corruption is suspected.
NOTE: It is good practice to periodically rebuild views using Updall -r and it is very important
to rebuild full text indexes periodically using Updall -x.
Database corruption
Database corruption is caused by something happening outside the ordinary that makes the
database unusable such as user complaints or error messages are reported. For example, when the
server generates messages indicating database corruption (with or without a crash), the following
output may occur:
-- "database.nsf is damaged....
-- DbMarkCorrupt(DbFixup: invalid slot found, could not be repaired)...
-- database.nsf is CORRUPT - Now Read-Only!"
These utilities will change the dbIID associated with transaction logging so that if you run
archived-style transaction logging, immediately perform a full database backup.
Another option
If the steps above are unsuccessful, try creating a new replica of the database and replacing the
original with the new replica. Creating a new replica forces a complete rebuild of the database
and repairs corruption or removes items that are irreparable.
1. Run Fixup as follows (without quotes) to check the integrity of the corrupt database and report
problems without making any changes: "fixup database.nsf -L –F -O -C"
2. It is not recommended to use the Fixup utility to perform repairs during business hours. If
attempts to repair the database absolutely cannot wait until non-business hours, then use the
following options with the compact task:
compact database.nsf -c -L -i
NOTE: The best recommendation is to enable transaction logging which provides database
integrity. Fixup is not needed when transaction logging is enabled.
3. After running either of these, run the following to rebuild the views and indexes (if possible,
wait until off-hours).
updall database.nsf –R -X
For further information, refer to Document #1193738, "Managing corruption recovery during the
business day."
Before upgrading
1. Before upgrading, it is recommended that you complete database clean-up on the existing
server by running Updall on the views, as follows:
updall –R –X
There are several options that can be run before upgrading. Running Updall -R -X is the most
favorable option for avoiding corruption because it completely rebuilds the view indexes and full
text index. Other choices are:
Updall -v (updates the view indexes)
Updall -R (completely rebuilds the view indexes)
Updall -X (completely rebuilds the full text index)
2. Run "compact -c -D -i –K" (copy-style, delete view indexes, ignore errors, set large UNK
table bit).
For further information, refer to Document #1201020, "Error: 'Database Is Corrupt; Cannot
Allocate Space' when Opening Database After Server Upgrade."
After upgrading
After an upgrade, it is recommended to upgrade to the latest search engine. Even though Domino
is backward compatible to all previous full text engines, it is a good idea to upgrade to the latest,
using "updall –X". This will rebuild all existing full text indexes using the new engine and
enable its new features.
If a crash occurs that does not indicate it was due to a database issue
If the crash stack does not indicate anything related to database access, then database
corruption is unlikely (except for possible inconsistent states mentioned above), so running
maintenance is probably not warranted.
How do you run the Domino maintenance utilities from the command line?
The methods and syntax for running maintenance from the command line vary by platform. The
following example shows how to run Fixup on the names.nsf for Windows, iSeries, and
Unix/Linux/zSeries. Use these examples as a guide for also running Compact and Updall from
the command line.
NOTE: If corruption occurs in the Domino Directory, the Domino server must be in a stopped
state to run Fixup.
For Windows, use "nfixup names.nsf –F". Note that if you are running transaction logging, be
sure to add the -J switch.
If you are running transaction logging, be sure to add the -J switch after -F. Also, it MUST
run from QSECOFR or the equivalent.
For Unix/Linux/zSeries, use "<path>/fixup names.nsf -F". Note that if you are running
transaction logging, be sure to add the -J switch. Also, you MUST be logged in as a Notes user
with the Notes Data directory as the current directory.