What Is the Verify Database Utility?

The Lawson repository contains descriptions of all Lawson tables and indexes. When these objects are stored in IBM DB2, the database driver (ibmdb) translates the Lawson description for storage in the IBM DB2 database. For Lawson programs to work properly with Lawson tables stored in the IBM DB2 database, Lawson dictionary descriptions must match the expected translations in IBM DB2. Mismatches in these definitions can lead to performance problems or even program failure (column definition mismatches).

The verifyibm utility checks for two kinds of differences when it compares the Lawson dictionary with the IBM DB2 definitions:

  • Missing objects

    Any table or index defined in the Lawson dictionary that has no counterpart in the IBM DB2 database results in a missing file or index message.

    The utility checks to make sure that each table and index defined in the Lawson dictionary has a matching table and index in the IBM DB2 database. It does not check to make sure that all objects defined in the IBM DB2 database have counterparts in the Lawson dictionary. Any tables or indexes placed in the IBM DB2 database from a non-Lawson source do not show up in a report.

  • Mismatched column definitions

    When the columns defined in a Lawson table or index are not matched by the IBM DB2 database definitions of those columns, the utility returns a mismatched file or index definition message. Mismatches include differences in data types, lengths, and so on. All fields are assumed to not allow nulls―only those that do allow nulls have output noting this fact.

    When verifyibm compares definitions, it matches each column in the Lawson table or index with the IBM DB2 database column at the same position in the table or index. If a column is missing in the SQL definition, the missing column appears in the report as a mismatch in the succeeding columns.

While the utility finds the differences between the Lawson dictionary and the IBM DB2 database definitions, it does not fix the mismatches or alter the definitions in any way.

If you run verifyibm without options, it prints out a line that notifies you as it checks each table and index in the specified product line, system code, or file. If you run the utility in quiet mode, it prints out only the messages that identify the differences between the definitions, followed by a summary.