DOCS

Repairing a Database

If verification of a database reveals errors, you can correct these by running the rodbucx<os> service program with the -repair option.

If, in addition to the -repair option, you also specify the -dump option, rodbucx<os> will write the contents of the items that are to be deleted during reconstruction to the log file rodbu.log.

Example (UNIX)

To repair the UNIX database specified in the DATA section of the server initialization file server.ini, you would call the service program rodbucxu with this command:

rodbucxu ROSRV server.ini -repair -db=DATA

During the repair of a database, rodbucx<os> performs these actions:

Completing all remaining write operations
Checking the free memory list and correcting erroneous container entries
Reading all items contained in the index, and repairing or deleting inconsistent items
Rechecking the free memory list if corrupted items where found

If rodbucx<os> detects inconsistencies during the reading of the items, it will first attempt to reconstruct the item from redundant information that may possibly be available. If this reconstruction attempt fails, the program will try to repair the item by deleting the affected part. If this fails as well (system or link attributes corrupted), the complete item is deleted from the index.

The fact that repair attempts can result in the deletion of some item contents means that the reconstruction of a database can result in a loss of data.

Finally, you should be aware that the repair of a database can require significant amounts of computing time, depending on the degree of corruption and the size of the database.