Demystifying the Domino console commands for DAOS
The Show Directory and Show Stat commands reveal subtleties of DAOS operation, here explained by Gary Rheaume.
_
There are two levels of control for the DAOS feature:
1. The DAOS engine must be enabled globally, at the Domino server level. This is done using the Server configuration document.
2. The DAOS feature can be enabled or disabled for individual Notes databases. This is done using the Advanced tab of the Database properties dialog box, the Notes Administrator client, or the compact utility.
You can think of the server setting as the master switch, and the database properties as a toggle switch for each database.
When a database on our Domino server receives an attachment, the Domino server will use DAOS to store the attachment if....
1. The DAOS feature is enabled at the Domino server level
2. The DAOS option is enabled for the Notes database receiving the attachment.
3. The attachment is larger than the minimum DAOS size setting specified in the Server document.
This is pretty straight forward and easy to follow. To demonstrate this, I will create two mail files, marco.nsf and gary.nsf, on my Domino server.
- tmail\marco.nsf
is DAOS enabled
- tmail\gary.nsf is
not DAOS enabled.
So, if I use the Domino console commands for my server I see this:
sh stat daos.engine.Status
DAOS.Engine.Status = Enabled <<< the DAOS feature is enabled for the server
1 statistics found
and
sh dir tmail
DbName Version Log DAOS ---Modified Time
tmail\marco.nsf V8:51 Yes Yes 08/26/2009 07:50:02 AM
tmail\gary.nsf V8:51 Yes No 08/26/2009 08:03:01 AM
Total files: 2
The DAOS property is on for marco.nsf, and off for gary.nsf
To get more detailed DAOS info, I append the -daos option to the show dir command :
sh dir tmail -daos
DbName Version Logged ---Modified Time
State Objects Total Bytes ---Last Synchronized---
tmail\marco.nsf V8:51 Yes 08/26/2009 07:50:02 AM Read/Write 0 0
tmail\gary.nsf V8:51 Yes 08/26/2009 08:03:01 AM Not Enabled
Total files: 2
The previous command indicates whether the DAOS property is off or on, but the -daos option shows more specifically that marco.nsf is set to both read and write objects from DAOS
Now, let's add some objects to marco.nsf by sending Marco an email with 3 attachments, and see what the Show Directory command reveals:
sh dir tmail\marco.nsf -daos
DbName Version Logged ---Modified Time
State Objects Total Bytes ---Last Synchronized---
tmail\marco.nsf V8:51 Yes 08/26/2009 08:44:48 AM Read/Write 3 805122 08/26/2009 08:44:48 AM
Total files: 1
So, we correctly see that marco.nsf has 3 objects stored in DAOS.
Now..... what would happen if for some reason we turned off the DAOS property on marco.nsf ?
l compact -daos off tmail\marco.nsf
08/26/2009 08:47:59 AM Informational, DAOS has been disabled for database tmail\marco.nsf.
08/26/2009 08:47:59 AM Informational, to move objects out of DAOS and disable DAOS you need to perform a copy-style compaction with the -daos tag (-C -daos off) on tmail\marco.nsf.
08/26/2009 08:48:01 AM Database compactor process shutdown
sh dir tmail\marco.nsf -daos
DbName Version Logged ---Modified Time
State Objects Total Bytes ---Last Synchronized---
tmail\marco.nsf V8:51 Yes 08/26/2009 08:47:59 AM Read Only 3 805122 08/26/2009 08:44:48 AM
Total files: 1
The state changes to Read Only because marco.nsf no longer has the DAOS property set; but because marco.nsf
does have existing references into DAOS, it is still connected to DAOS. The Read Only state means "will no longer save objects to DAOS, but will continue to read existing objects from DAOS."
In order to disconnect marco.nsf completely from DAOS, we need to use compact to move the existing objects out of DAOS and insert them back into the Notes database ( in the way that databases with an ODS 48 level do).
l compact -c -daos off tmail\marco.nsf
08/26/2009 08:55:25 AM Compacting tmail\marco.nsf (marco), -c tmail\marco.nsf
08/26/2009 08:55:30 AM Recovery Manager: Assigning new DBIID for C:\Lotus\Domino\Azkaban\data\tmail\marco.nsf (need new backup for media recovery).
08/26/2009 08:55:31 AM Database compactor process shutdown
Now, marco.nsf no longer has DAOS references and is fully disconnected from DAOS.
sh dir tmail\marco.nsf -daos
DbName Version Logged ---Modified Time
State Objects Total Bytes ---Last Synchronized---
tmail\marco.nsf V8:51 Yes 08/26/2009 08:47:59 AM Not Enabled
Total files: 1
Summary
There are three possible DAOS states for a database:
- Not Enabled not using DAOS
- Read Only not creating any new DAOS objects, but still has references into DAOS
- Read/Write will create any new qualifying objects in DAOS and will read objects from DAOS