The Database Diagnosis

The database diagnosis command allows you to ensure your database is healthy and runs as fast as possible.

IMatch databases are very robust and reliable.
IMatch employs advanced database technologies like journaling and transactions to protect the database against program crashes, Windows blue screens, power failures and similar causes. A small risk of database damage remains, however.

If your disk or network is faulty, it may produce random silent errors which cannot be detected immediately. Malicious software can interfere with Windows file system operations and cause damage to files. Your anti-virus software may suddenly decide that IMatch is a malicious program and prevent it from writing to the database.

Another scenario is IMatch writing data to the disk and Windows acknowledges it as written - but it is still in a memory cache. Before Windows can actually write the data disk, a power failure happens and the data is lost. IMatch will never know.

These problems may not show up immediately. If the damage happens in a rarely used section of the database, IMatch will still be able to open the database and work with it normally ‐ until it has to access the damaged section of the database file.

To protect the database from such rare but possible errors, run the database diagnosis via the Database > Database Tools > Database Diagnostics regularly. The diagnosis will check the entire database and all the objects stored in the database to ensure they are consistent and accessible. Just click Start to start the process.

The Database Diagnostics dialog

Depending on the size of your database this process can take a while.

You can cancel the process at any time by clicking the Abort button that is visible while the diagnosis runs.

If an error is detected during the diagnosis, IMatch is most likely able to repair the problem. If this fails you need to restore your last .

Detecting 'Silent' Problems

The optimize and analyze process is able to detect damage in rarely used parts of the database file, in spare sections, slack space, unused index entries. These parts of the database are rarely used and are not included in the other diagnosis steps.

Sometimes a temporary disk or file system problem (especially with databases stored on removable media or network drives) causes a database to become corrupted in an area which is currently not used ('silent damage'). Such damage can go unnoticed for quite a while, until the database system accesses this rarely used data again. Then it's maybe too late and all your backup databases have the same problem. The optimize step attempts to reveal such problems early, while you still have current backups available. When the optimize and analyze completes successfully, the database is OK.

Since the database file is copied during this step, as much as twice the size of the original database file is required in free disk space.

You can skip the Optimize step when you hold down Ctrl while pressing Start in the dialog box. This speeds up the diagnosis, especially when you run it multiple times after a problem has been diagnosed and fixed.
Do not skip the Optimize/Analysis step out of habit - because if you do, physical database damage may be not detected.

Compacting the Database

By default, IMatch keeps unallocated data blocks in the database and reuses them when new information is stored. This means the database file on disk does not shrink when you remove a large number of files from your database. After heavy usage, e.g. adding or removing thousands of files or after working with your database for some months, you may want to run a Compact operation to remove fragmentation and unused data from the database file. This not only streamlines the internal database structure and improves performance, but also shrinks the database file.

Use the corresponding command in the Database >Tools menu for this purpose. You can run the compact at any time, even if IMatch is currently processing data in the background.

The Diagnosis Log File

The database diagnosis produces a log file on your hard disk. In case of database problems this log file can be helpful to analyze the nature of the problems and to help the support team to help you.

If warnings or errors are reported during diagnosis, you can find more information about these issues by searching the load file for the words warning and error.

Diagnosis Reminder

If you don't run a database diagnosis for more than a week, IMatch displays a reminder in the Notification Area when you open the database.

Automatically Running the Diagnosis

By default, IMatch runs a due database diagnosis automatically when it is idle for some time. When IMatch is in the background while you work with another application or you have not used it for a certain period of time, the diagnosis is started.

You can control the automatic diagnosis run and the idle timespan under Edit & Preferences & Application. Search for diag.