March 19 2014 Wednesday
On Domino 9? Have a cluster? You’re using DBMT right?
UPDATED 04/08/2014 - the command is NOT "5AM", but is "5:00AM"....it is now fixed below.....
So with the release of Domino 9, IBM added the Database Maintenance Tool (or DBMT). This new tool is a bit like a Swiss Army knife of server tasks. It can run compact, updall and full text index tasks all from one command.
But for some server environments (I'm thinking clusters using archived transaction logging here) all you really want is to have view indexed rebuilt so that is a user if failed over (or 100's of users fail over) then there is no delay while all these mail file view indexes are re-indexed as many simultaneous users open their inbox on the new server. This is a pretty hefty kick in the balls for the cluster server.
Well, DBMT can fix that.
Bear in mind that I want to re-index views in the mail files of all users, WITHOUT also running a compact (with DBMT will do by default unless you tell it otherwise).
To get DBMT to run we use a Domino Program Document with the following command line:
like this:
The "-compactThreads 0" tells DBMT to not compact at the same time. I don't want a daily DBMT changing the DBIID, so that will stop this. Note the the program starts at 11:00PM and will run until 5:00AM (-stoptime). When it starts again the next day at 2:00AM, it begins where it left off.....how neat is that? Note also that I'm using a cluster name in the "Server to run on" field, this makes it easier to manage than a program document per server, although if you have need you can do that.
The last thing to do is to remove (or comment out) the "ServerTasksAt2=UpdAll" line from your server notes.ini.
Once your DBMT runs you see see something similar to this in the Domino Console and log:
Voila, now when users fail over from server A to server B, server B already has the default views built so that users don't have to wait as much. You can use this for huge performance gains on clusters that are active-passive servers or clusters where you have your user population split in an active-active scenario (even here, failed over users indexes may not be built, and this fixes that).
In the above example I'm using 2 updallThreads. You can increase as necessary depending on how good your I/O is on the Domino Data directory.
DBMT can do a few more tasks too (Swiss Army knife remember?) and you can find out more here:
Open Mic slides : http://www-01.ibm.com/support/docview.wss?uid=swg27039379
Domino 9 Admin Help page :http://www-12.lotus.com/ldd/doc/domino_notes/9.0/help9_admin.nsf/f4b82fbb75e942a6852566ac0037f284/5e0ecdb4cff85e9f85257b19005b5854?OpenDocument
So with the release of Domino 9, IBM added the Database Maintenance Tool (or DBMT). This new tool is a bit like a Swiss Army knife of server tasks. It can run compact, updall and full text index tasks all from one command.
But for some server environments (I'm thinking clusters using archived transaction logging here) all you really want is to have view indexed rebuilt so that is a user if failed over (or 100's of users fail over) then there is no delay while all these mail file view indexes are re-indexed as many simultaneous users open their inbox on the new server. This is a pretty hefty kick in the balls for the cluster server.
Well, DBMT can fix that.
Bear in mind that I want to re-index views in the mail files of all users, WITHOUT also running a compact (with DBMT will do by default unless you tell it otherwise).
To get DBMT to run we use a Domino Program Document with the following command line:
-compactThreads 0 -updallThreads 2 -stoptime 5:00AM
like this:
The "-compactThreads 0" tells DBMT to not compact at the same time. I don't want a daily DBMT changing the DBIID, so that will stop this. Note the the program starts at 11:00PM and will run until 5:00AM (-stoptime). When it starts again the next day at 2:00AM, it begins where it left off.....how neat is that? Note also that I'm using a cluster name in the "Server to run on" field, this makes it easier to manage than a program document per server, although if you have need you can do that.
The last thing to do is to remove (or comment out) the "ServerTasksAt2=UpdAll" line from your server notes.ini.
Once your DBMT runs you see see something similar to this in the Domino Console and log:
Voila, now when users fail over from server A to server B, server B already has the default views built so that users don't have to wait as much. You can use this for huge performance gains on clusters that are active-passive servers or clusters where you have your user population split in an active-active scenario (even here, failed over users indexes may not be built, and this fixes that).
In the above example I'm using 2 updallThreads. You can increase as necessary depending on how good your I/O is on the Domino Data directory.
DBMT can do a few more tasks too (Swiss Army knife remember?) and you can find out more here:
Open Mic slides : http://www-01.ibm.com/support/docview.wss?uid=swg27039379
Domino 9 Admin Help page :http://www-12.lotus.com/ldd/doc/domino_notes/9.0/help9_admin.nsf/f4b82fbb75e942a6852566ac0037f284/5e0ecdb4cff85e9f85257b19005b5854?OpenDocument
Discussion for this entry is now closed.
Comments (4)
Nice... :-)
@1 "over engineer" is what I do ;)
In actuality, the reason I do this nightly is so than any new users added to the cluster are picked up by DBMT. It saves manual tracking....and we all know how good humans are at that, right?
Heh, totally. And since it's running on the cluster mate then probably no impact with running it nightly. But otherwise, once a week is probably more than enough to achieve what you need. Anyway my point was that they could have addressed the Index build issue back in the R7 days.
"The DBMT tool also allows you to specify a nondiscardable view to Domino®. A nondiscardable view is built by DBMT during updall (if it has not yet been built) and will not be discarded due to inactivity. You can specify nondiscardable views for standard mail templates beginning with Domino 7.0. The standard mail template for IBM® Domino 9.0 Social Edition is Mail (R9) (mail9.ntf). If you are using an earlier mail template version, see the program data directory for the name of your mail template. "
So I don't know why they just didn't make all the key views in the mail template non-discardable. Then you wouldn't need to use DBMT.
If you run DBMT once, making the key views non-discardable, then you probably don't need to ever run it again except to do compacts (but you don't in your scenario....)... so, it seems like an over-engineered solution to me.