Defragmenting the internal database for improved performance

As IBM Traveler installations become larger and run for extended periods of time, the internal database will grow in size. This can affect system performance. You can defragment the database to compact and optimize its performance.

The defragmentation feature can only be run at startup using the steps outlined below. As of IBM Traveler 8.5.2.2 and later releases, the defrag command will run automatically as part of database migration resulting from a server upgrade. Run the defrag command approximately once a month for optimal system health.

What is the IBM Traveler internal database?

IBM Traveler maintains state information about each device in a Derby relational database. This information includes device information, device security and data that allows the IBM Traveler server to know if a device needs to sync. This database's files are stored on the IBM Traveler system in the data\traveler\ntsdb directory. You can check the size of the folder and monitor changes as one way to determine how often to run the defrag command.
Important: Do not delete the ntsdb folder on the system. Deleting the state information forces all users to resync their data, and you will lose all security information (such as devices that have been denied access or wiped and any documents that have been banned from syncing).

Performing defragmentation

To run a defragmentation, perform the following procedure:
  1. Shutdown the IBM Traveler and the Domino® HTTP tasks on the server.
    tell traveler quit
    tell http quit
  2. Ensure both the HTTP and Traveler processes are completely stopped.
  3. Start IBM Traveler using the defrag parameter
    load traveler -defrag
  4. The defrag command runs as the server starts. The server normally starts once the defrag operation completes.
    Note: The defragmentation operation may take more than 30 minutes to complete depending on database size and system capabilities.
  5. If the Domino® HTTP task is not started automatically by IBM Traveler, then start it manually using the following command.
    load http

Running defragmentation on a scheduled basis (9.0.1.8 and later)

To perform defragmentation on a secheduled basis, perform the following procedure:
  1. Use the tell command DBMaint set interval in order to set the interval to a number greater than 0. For example, to set an interval of 30 days, enter into the console:
    tell traveler dbmaint set interval 30
  2. Use the tell command DBMaint set auto on to turn on automatic defragmentation.
  3. To force a defragmentation, enter the command tell traveler dbmaint run. This sets NTS_DEFRAG_ONCE to 1 and the Derby database will be defragmented the next time the IBM Traveler server restarts.

Running defragmentation on a scheduled basis (8.5.3.1 to 9.0.1.7)

To run defragmentation on a scheduled basis with IBM Traveler server 8.5.3.1 to 9.0.1.7, perform the following procedure:
  1. Add NTS_DEFRAG_INTERVAL_DAYS to the notes.ini file. For example, to set an interval of 30 days add:
    NTS_DEFRAG_INTERVAL_DAYS=30
  2. Restart the IBM Traveler server. From that point on, if the IBM Traveler server is restarted and it has been 30 days since the last defragmentation, then the defrag operation will run.
  3. To force a defragmentation, simply delete the parameter NTS_LAST_DEFRAG from the notes.ini file and restart the server. If NTS_DEFRAG_INTERVAL_DAYS is set and there is no last defragmentation timestamp, then the server will perform a defragmentation and reset the NTS_LAST_DEFRAG timestamp. For details on how to schedule a defragmentation of the database on versions earlier than 8.5.3.1, see IBM® Traveler Database Defragmentation for Improved Performance .