The IBM Content Manager OnDemand arsmaint command performs routine maintenance on CMOD servers. Maintenance can consist of migrating document data from the IBM CMOD Cache Filesystems to secondary storage, removing data from the cache to make room for new data, or deleting expired documents and metadata.
arsmaint command usage
The CMOD arsmaint utility must be run by the instance owner - an operating system account, usually named 'archive' or 'odadmin'. There are several command line options for CMOD's arsmaint utility:
CMOD arsmaint commands
Special arsmaint commands
There are some arsmaint options that change the behaviour of the other arsmaint commands:
- Specifies the Application Group to process. You may specifiy this option multiple times in the same command. This option limits the other command options to be applied to the listed Application Group names. Application Groups that contain spaces must be quoted with a single double-quotation-mark. When using the -g option, you may only use the -c, -d, -e, -i, -m & -r commands.
- The -t ("time") arsmaint option will perform the requested commands as if they were being executed on the specified date. Specifying a time period in the future will lead to the expiration of data ahead of schedule. DO NOT use this command in a production environment without having first completed substantial testing in development or test environments.
arsmaint commands for expiration
- The -c option for the arsmaint command deletes document data from the cache filesystem.
- The -d option for the arsmaint command deletes metadata from the database.
- The -e option for the arsmaint command migrates index data to long-term archival storage. This option is rarely used because of the relatively low cost of disk storage, and the negative performance impact on queries.
- The minimum percentage capacity that arsmaint will try to empty the cache filesystem to. Use this command to clear out the arscache filesystems in preparation for an unusually large load of documents into Content Manager OnDemand, for example, year end financial reporting, or tax season.
- The maximum percentage capacity of the arscache filesystems that arsmaint will allow to remain empty.
NOTE: The -n and -x options are performed on a 'best effort' basis, and won't delete data that isn't ready for expiration, or hasn't already been moved to secondary storage. It's best to run
arsmaint -m by itself first, to ensure that any data eligible for migration to long-term storage has already been moved.
The CMOD arsmaint command should be run with both the -c, -d, and -e options at the same time to prevent the database and cache and long-term storage from getting out of sync.
arsmaint commands for migration
- This option records an alert message in the Content Manager OnDemand System Log, and prints an error message to the terminal (for UNIX/Linux) or the console (on Windows system) when the cache filesystem exceeds the specified percentage. An alert from this option indicates that the arsmaint command was not able to remove enough data from the cache to make additional space for new data. You'll either need to adjust the caching settings for your Application Groups, or add more storage to the Cache Filesystem.
- The -m option migrates data from cache to long term archival storage if your IBM CMOD server has secondary storage defined, and your Application Group is configured to use it.
arsmaint commands for database maintenance
- This arsmaint command runs database statistics. Collecting (or updating) database statistics helps improve IBM CMOD query performance. Since Content Manager OnDemand is an archival product, running statistics once per week is usually more than enough to help keep CMOD queries fast. In addition, you may want to run database maintenance with the CMOD arsdb command before collecting statistics with the arsmaint command.
Other arsmaint commands
- Produces a report on CMOD cache filesystems ("arscache"), which is stored in the System Log.
- Validates the IBM CMOD cache ("arscache") filesystems, and reports back any unexpected problems.
- Specifies the IBM CMOD User ID which will be used to authenticate to IBM Content Manager OnDemand.
- Specifies the password, or path to the IBM CMOD stash file. Using passwords on the command line may expose passwords to other users on the server, and as a result, you'll receive a warning. Update your arsmaint commands to use a stash file in order to avoid the warning.
- -1 (hyphen-number-one)
- Specifies the trace file. Contents of the trace will be written to this file and path.
- -2 (hyphen-number-two)
- Specifies the trace level. See the trace.settings file in your CMOD config directory for more information on how to specify the trace level.
arsmaint Performance Considerations
A common complaint about CMOD's arsmaint command is the amount of time that is takes in order to run. Often, the configuration of CMOD Application Groups and the steady growth of the system are the causes of slow performance.
Application Group Configuration
Application Group settings that will lead to long arsmaint run times are:
- Expiration Type of Document
- Inside the Content Manager OnDemand Application Group configuration, there is a field called 'Expiration Type'. Choosing 'Document' is guaranteed to slow down performance of the arsmaint command, as this instructs IBM CMOD to review each and every document inside the Application Group tables to determine if the document is eligible for deletion.
- Even if the Expiration Type is set to 'Load', which would normally perform better than the 'Document' setting, if you have an extremely large number of loads of small documents into the Application Group (in the millions), then the arsmaint expiration process is very similar to Document expiration instead.
- If you are loading tens of millions of documents per day into your CMOD server, consider performing an Extraction of your CMOD data, and loading it into an Application Group configured to use the Segment expiration type.
- Small Object Sizes
- The default stored object size in CMOD is 10MB. This relatively small size means that there may be billions of files inside CMOD. It may make sense to consider tuning this value to a larger number, to reduce the total number of objects, and to decrease the amount of files that the arsmaint command needs to inspect in order to complete.
- CMOD cache filesystem configuration
- If your system has an extremely large cache filesystem, or has a large number of very small files, then the CMOD arsmaint command can take a very long time to complete, as each file in the cache filesystem must be examined to determine if it's eligible for deletion. In many systems, this problem gets worse as a server ages, and more cache filesystems are added.
- Large numbers of expiring documents
- If your system has a large number of documents to expire from IBM CMOD, then the arsmaint command may run for an extended period of time, as it performs the work required. If your Content Manager OnDemand server includes a Tivoli Storage Manager server or other secondary storage for data, the expiration process may run more slowly as CMOD sends requests for the documents to be deleted.
arsmaint command errors
If an error is encountered during database maintenance, then arsmaint may return an ARS0013E error. For example, the ARS0013E error may be encountered while trying to reorganize a time, or collecting statistics on a table that is having data loaded with the arsload command, or the System Log table is recording server activity. Try running the command again during a period of low activity, or take CMOD offline and ask your local Database Administrator to perform a reorg on the offending table.