BC Package Required For Linux Domino 10 Installation Routine

If you are installing or upgrading to Domino 10 on RHEL/CentOS Linux, be sure you have the “bc” package installed. If you don’t you’ll receive the following:

To run this installer you need mandatory packages installed on your 64 bit Linux RedHat.
The installer will exit after this message.
bc-1.06.95-13.el7.x86_64

To install bc:

yum install bc
Advertisements

Desktop Settings Default Replication Schedule Bug

In case you find yourself modifying the Desktop Settings > Preferences > Replication > Default replication schedule, be aware that, even if you don’t set the value (How to apply this setting) for the “Repeat every” field, you will not be able to save the changes if there is not a number in the field.

For instance, if you leave “Repeat every” empty (even though “Don’t set value” is specified), you will receive a save error, “[Field Contains Incorrect Value] Comparison operators must be supplied two values of the same data type.” And then, “Notes Error – field didn’t pass validation formula.” And again, “[Field Contains Incorrect Value] Comparison operators must be supplied two values of the same data type.”

Desktop_Setting_Repl_Bug

The solution is to enter a number in the “Repeat every” field (even if you don’t plan on making the field effective).

Domino Server Incremental Installer 9.0.1 FP10IF2 for Linux Hangs

The good news: IBM has released 9.0.1 FP10IF2.

The bad news: the installer hangs at, “Verifying the installation data, this can take several minutes – please, wait…”

kill_me

I’ve been waiting at that screen for over 12 hours, so I tried again (from scratch) to download a fresh copy from Fix Central. Alas, I arrived at the same result.

Whenever IBM resolves the issue, Admins that install this IF will reportedly reap the following benefits:

SPR Description
RMASAT7KEX Fixed an issue where LDAP does not properly escape # character in results
YYYYAQK8QM Fixed an HTTP PANIC on LookupHandle
VNEN8J2MUZ Fixed a router PANIC on LookupHandle
RDUK5E6U8Z Fixed an issue where sending a message from iNotes a second instance of “MIME-Version: 1.0” occurs in MIME header
SWASAVKR2A Fixed a hang w/ extension mgr search calls
ARUIAXQW38 Fixed a panic at Domino startup if statically enable inline view indexes
MKINAXNM6V Fixed an issue where check markers crash in WriteJavaScriptMethods()

 

IBM Domino Compact Options

The “compact” IBM Domino server command received a significant overhaul in version 8.5. To unlock the new features, it was necessary to set the “Debug_Enable_Compact_8_5=1” ini setting.

Compact continues to evolve in IBM Domino 9 and no longer requires the ini setting to unlock new features. However, with version 9, the command no longer accepts the “/?” switch to provide help with the options/switches. Furthermore, IBM Documentation (even for 9.0.1) fails to list many of these and most of the newer options avaialble.

Here are the options as of 8.5.x:
l compact /?
Purpose: Compacts one or more database(s).
Usage: Load COMPACT [path] [options]…
[path]: One database, one folder (recurses), or omitted (all, recurses).
[options]:

-A Archive and delete documents without compacting.

-a Archive and delete documents, then compact database.

-B Recover space and reduce file size (inplace-style).

-b Recover space without reducing file size (inplace-style).

-C Copy-style compaction.

-D Discard view indexes (copy-style).

-daos on Enable ‘Use Domino Attachment and Object Service’ database property. (Use with -C to move current objects into DAOS)

-daos off Disable ‘Use Domino Attachment and Object Service’ database property. (Use with -C to move current objects out of DAOS)

-e No-execute: Show effective arguments only, since some arguments affect others.

-F Enable ‘Document table bitmap optimization’ database property (copy-style).

-f Disable ‘Document table bitmap optimization’ database property (copy-style).

-g Copy-style compact the DB2 group associated with this database or databases (for directories). Recovers disk space in DB2.

-G Copy-style compact the DB2 group name passed in as a parameter. Recovers disk space in DB2.

-H Enable ‘Don’t support specialized response hierarchy’ database property (copy-style).

-h Disable ‘Don’t support specialized response hierarchy’ database property (copy-style).

-i Ignore errors (for copy-style only).

-j Just Delete (must specify -a or -A to be valid).

-K Enable large UNK table (>64 KB).

-k Disable large UNK table (>64 KB).

-L Don’t lock users out during compaction (for copy-style only).

-M Set maximum database size to 4 GB.

-N Disable ‘Compress database design’ database property. (Use -C with -N to uncompress current database design documents)

-n Enable ‘Compress database design’ database property. (Use -C with -n to compress current database design documents)

-o Check for overlapping objects.

-p Convert to an NSFDB2 database.

-pirc on Enable ‘Purge Interval Replication Control’ on database.

-pirc off Disable ‘Purge Interval Replication Control’ on database.

-r Revert to previous ODS format (e.g. on an R8 system, keep/convert back to R7 format).

-R Revert one ODS based on the current ODS of the database. (e.g. Converts an R8 (ODS48) database to R7 (ODS43) format)

-S nnnK Compact database if unused space estimate >= nnn KB.

-S nnnM Compact database if unused space estimate >= nnn MB.

-S nn Compact database if unused space estimate >= nn percent.

-T Enable transaction logging.

-t Disable transaction logging.

-U Enable ‘Don’t maintain unread marks’ database property.

-u Disable ‘Don’t maintain unread marks’ database property.

-V Disable ‘Compress document data’ database property. (Use -C with -V to uncompress current document data)

-v Enable ‘Compress document data’ database property. (Use -C with -v to compress current document data)

-W nn Only compact databases which haven’t been compacted successfully in last nn days.

-w Exclude system databases (e.g. log.nsf, names.nsf).

-X nn Limit each database compaction to no more than nn minutes. (applies to in-place compaction only)

-x nn Limit total compaction time to no more than nn minutes.

-Y Recurse through subdirectories (default).

-y Do not recurse through subdirectories.

-ZU Enable ‘Use LZ1 compression for attachments’ database property. (Use -C with -ZU to compress existing attachments using LZ1.)

-0 Process NSFDB2 databases only. This will ignore NSF databases and is to be used with other switches.

-* Include *.ntf and *.box when processing a directory

-# nn Execute up to nn compactions in parallel using different threads.

-ODS Perform a copy-style compact only if the current ODS is less than desired default ODS.

A collection of Other Options and related information posted since 9.x.

-c -nifnsf on|off When set as on, stores view indexes separately from the NSF file to improve database performance. View indexes are moved to the location defined by the NIFBasePath setting in the NOTES.INI file. When set as off, moves views back into the database NSF file.

-REPLICA Creates a new replica in the background while compacting. The new replica is automatically renamed, and the source application remains accessible except during actual renaming and a final resync. Also applies any of the three optional parameters specified in this table. If the database is open or in use by local accessors <sic> at the time of the rename/resync, the rename/resync is deferred until the next time the database is opened.

Note that “Thibaud Maes” reported the following in the Knowledge Center in approximately September 2017:
One caveat regarding the -REPLICA option: It internally reorganizes the IDs in the new replica; thus, does not maintain NoteIDs (So compact -Replica will change original NoteID which Full Text Index is based on. So, full text index should be rebuilt after database running “compact – replica”, ex: have to use updall -X.
Otherwise, search result will be incorrect and list the new docs which occupying original NoteID.

-IDS_FULL Perform replication-style compaction only if a specified nn percentage of IDs in application has been reached.
Example: -IDS FULL 80 creates replica only after 80% of space for IDs in original application is full.

-REN_WAIT When performing replication-style compaction, attempts for nn minutes to rename the replica before the compact operation defers the rename until a restart or reopen of the database.
Example: -REN_WAIT 10 allows 10 minutes for compact process to complete replication and synchronization to attempt renaming.

-RESTART When performing replication-style compaction, if automatic renaming of replica does not succeed due to other accessors to the database, restarts the server and completes the renaming of the replica after server startup.

Daniel Nashed’s Blog also announced a new compact switch “-upgrade”.

-upgrade Upgrade databases created with older DB classes to the most recent class.

However, I haven’t had any luck running compact with -upgrade. To test, I submitted the following:

load compact -e -upgrade
The 9.0.1FP8 server interpreted the command as “Database compactor: Effective arguments: -C -ODS -Y
It also failed to find over 1000 ODS 43:0 (ODS6) databases while the CREATE_R9_DATABASES=1 is set, saying, “0 databases had an older NSF ODS version. 0 of those databases were successfully upgraded to a later NSF ODS.”

An example of one of the problem applications is creation-class “65296.”

 

 

Using CIDR Notation In IBM Domino Configuration

There are multiple resources that suggest CIDR Notation may be used in an IBM Domino server’s Configuration. For instance, IP address filter for SMTP inbound connection controls and CIDR address not working on AS400. However, in ALL of my testing, I’ve NEVER seen it work.

The ugly work-around is to convert the CIDR into a format that IS accepted. One shortcut is to use this excellent tool to convert CIDR to IP Ranges: CIDR TO IP RANGES CONVERTER.

Once you have the range, you’ll still need to “manually” format it.

For instance, use the values displayed in the IBM column to represent the CIDR in the first column:

CIDR IBM
13.107.6.152/31 [13.107.6.152-153]
13.107.9.152/31 [13.107.9.152-153]
13.107.18.10/31 [13.107.18.10-11]
13.107.19.10/31 [13.107.19.10-11]
23.103.160.0/20 [23.103.160-175.*]
23.103.224.0/19 [23.103.224-255.*]
40.96.0.0/13 [40.96-103.*.*]
40.104.0.0/15 [40.104-105.*.*]
70.37.151.128/25 [70.37.151.128-255]
111.221.112.0/21 [111.221.112-119.*]
131.253.33.215/32 [131.253.33.215]
132.245.0.0/16 [132.245.*.*]
134.170.68.0/23 [134.170.68-69.*]
157.56.96.16/28 [157.56.96.16-31]
157.56.96.224/28 [157.56.96.224-239]
157.56.106.128/28 [157.56.106.128-143]
157.56.232.0/21 [157.56.232-239.*]
157.56.240.0/20 [157.56.240-255.*]
191.232.96.0/19 [191.232.96-127.*]
191.234.6.152/32 [191.234.6.152]
191.234.140.0/22 [191.234.140-143.*]
191.234.224.0/22 [191.234.224-227.*]
204.79.197.215/32 [204.79.197.215]
206.191.224.0/19 [206.191.224-255.*]
207.46.150.128/25 [207.46.150.128-255]
207.46.203.128/26 [207.46.203.128-191]

DCT Idiosyncrasies

While tinkering with Domino Configuration Tuner today, I noticed that it recommends adding Debug_Logger_Buf_Full_No_Wait=1. However, rerunning DCT after adding the entry yields a different recommendation:

One or more settings were found in NOTES.INI that usually should not be set: 
DEBUG_LOGGER_BUF_FULL_NO_WAIT=1

Looks like something squeaked by QA.

Another finding worth mentioning is the recommendation to use CREATE_R85_LOG=1. I don’t necessarily have a problem with that recommendation, but the suggested implementation method is atrocious:

Recommendation: 
Bring down the server. Back up existing transaction logs, then delete them. Set Create_R85_Log=1 in the server NOTES.INI and restart the Domino server to have new logs created using the updated format. The new logs will have properly aligned I/O blocks. There is no need to verify the current block size. Domino will use correctly format the log even if the block size is 512.

Um, don’t do it that way, please. If you want to use, CREATE_R85_LOG=1:

  1. Set it in the ini (or via the config doc).
  2. Disable transaction logging for the server via the server doc.
  3. Restart the server.
  4. Verify via a “show server” console command that transaction logging is, in fact, disabled.
  5. Via the OS, delete the transaction log files (including the nlogctrl.lfh file).
  6. Enable transaction logging for the server via the server doc.
  7. Restart the server.

Running Domino Commands in Powershell

To avoid “Unable to open log file” and “log.nsf: File does not exist” errors remember to always start Powershell in “Run as Administrator” mode.

In newer versions like Microsoft Windows Server 2012 R2, navigate to the Domino binary directory and then prepend “.\” (without the quotes and with now spaces) before the traditional nwhatever.exe

For example, when binaries are at c:\lotus\domino and you want to run a copy-style compact on the entire data directory…

Start Powershell in “Run as Administrator” mode and your command line will look like this:

PS C:\lotus\domino> .\ncompact.exe -c