checkindex - utility to perform detailed diagnostics on database indexes ------------------------------------------------------------------------ Revision: 2012-05-23 usage: checkindex [options] database [set [index ...]] options: -help - show usage (this list) -u user - set user name -p pswd - set password -c cfg - server configuration file -b size - Buffer cache size (MB) -v - verbose output The checkindex utility provides detailed diagnostics in case an index problem is encountered (typically as a database error -804). Usage instructions: 1) Download the checkindex archive according to your platform. On Windows, the contained checkindex executable must be unpacked into the Eloquence B.08.20 bin directory, otherwise it will not work. On HP-UX or Linux, unpack the contained checkindex executable into a directory of your choice. You could, for example, unpack it into the Eloquence bin directory to integrate it into your Eloquence environment. 2) Invoke checkindex on one of your databases, such as: /path/to/checkindex DATABASE If the DATABASE is not located in the default database server, you are required to specify the database server configuration file with the -c command line option, such as: /path/to/checkindex -c /path/to/eloqdb6.cfg DATABASE If you invoke checkindex this way, all indexes in the DATABASE are checked and only errors are output. If all indexes are ok, there is nothing output. In case you want progress information (about which data set and indexes are processed), specify the -v command line option, such as: /path/to/checkindex -v DATABASE or: /path/to/checkindex -c /path/to/eloqdb6.cfg -v DATABASE Please note that in case the database server is active, checkindex requires that the database server is in on-line backup mode. This is because it directly accesses the database server data volume files, which must not change while checkindex is processing. The on-line backup mode makes sure that the data volumes do not change. To put the database server into on-line backup mode, a sequence like below may be used: /opt/eloquence6/bin/dbctl -u dba backup start ... invoke the checkindex utility ... /opt/eloquence6/bin/dbctl -u dba backup stop 3) In case you find any errors and you want to create a log file, please invoke checkindex as below: /path/to/checkindex -v DATABASE | tee DATABASE.checkindex.log This copies the checkindex output to the "DATABASE.checkindex.log" file in the current directory. 4) To check all databases in a database server instance, use a shell script like below on HP-UX or Linux: dbdumpcat -nt31 | cut -d' ' -f2 | while read db ; do /path/to/checkindex $db | tee $db.checkindex.log done This creates a "DATABASE.checkindex.log" file for each DATABASE in the addressed database server environment. Please note that if you have multiple database server instances, dbdumpcat must address the correct instance (possibly using the -h command line option or using the EQ_DBSERVER environment variable) and checkindex must address the corresponding eloqdb6.cfg file (possibly using the -c command line option). 5) Normally, you want to check all indexes in a database. However, on a big database this may take some time. Checkindex allows to check only a specific data set or index, in case you don't want to run the check on the entire database. To check a specific data set: /path/to/checkindex DATABASE SET To check specific index(es) in a data set: /path/to/checkindex DATABASE SET INDEX1 INDEX2 If you have questions or feedback, please contact: feedback@marxmeier.com Your Eloquence team at Marxmeier Software AG