################################################################### SCANDB ################################################################### By: Peter de Jong, Progress Software EMEA Last change: Wed May 22 1997 In each Progress database block is a unique number called the dbkey. It is a 31 bits number ranging from 32 to 2Gb which indentifies the block in the Progress database. Scandb will scan any Progress single volume or multi-volume database, calculates the dbkey and compares this dbkey with the one found in each database block. Scandb will open the database READ-ONLY and therefore cannot damage the database by writing to it. Scandb can be started multiple times on one database, it will issue a warning if a database lockfile (.lk) exists. Scandb will ignore the size and state of the Before Image file. Starting multiple instanses can be used for stress tesing systems where intermittent 'wrong dbkey (1124)' errors occour on. Scandb will know about variable blocksize (V8.2) and the number of records in a block, 32 for blocksize smaller then 8Kb, 64 records for 8Kb blocksize. Usage: scandb [-v(erbose)]. Option: -v will print the blocknumber of the block currently read, the dbkey expected and the dbkey read from the database block: blocknum: 344 dbkey: 11008 rdbkey: 11008 Ok Note that this option will be slower because this information will be printed for each database block examined. Errors are printed to the standard error output, to catch only the errors use the following command: scandb >/dev/null 2>scandb.err This command will put the error messages in the scandb.err file: Using the -v parameter on large database will produce a large output file. On a 4Gb database with 1Kb blocksize the output filesize is 172Mb. Tested on: OS version Version -------------------------- SCO Unix 4 6.3F SCO Unix 5 7.3C01 MIPS 7.3C HP/UX 9 7.3D HP/UX 10.01 8.2C Variable blocksize AIX 4.1 8.2C Variable blocksize UNIXWARE 2.1.2 8.2C Variable blocksize Solaris 2.5 8.2C Variable blocksize DISCLAMER: Use this utility at your own risk. It has been tested and it works on the machines and Progress versions listed above. This utility is not supported by Progress Software. If you encounter problems please email me at peter@peterdejong.com Please be aware I wrote this utility in my spare time and maybe I am not able to fix bugs quickly. ##################################################################