The DBChecker Utility is used for maintenance and troubleshooting of the database. The utility allows you to inspect and maintain data integrity, and to troubleshoot and resolve various database problems. It is also used to fix inconsistencies that can occur if enhanced data integrity rules or changes in the data model are applied to legacy data before and after an upgrade. For example, legacy data may have an allowed NULL value in a specific database column but an application improvement requires the column value to be NOT NULL. The DBChecker Utility allows you to detect and fix this type of data integrity problem. Ongoing improvements are made in the DBChecker Utility itself, just like the enhancements and improvements in , and the DBChecker Utility of a later version of can find data legacy problems that were not exposed in previous versions.
In some cases, mass data transformation operations in require extensive changes that bypass the business object processing. This is usually done ito significantly improve the performance of such data transformation operations, for example, when running the Merger or Import utilities. Such operations involve record manipulation directly in the database, rather than through the business objects wrapper and, therefore, might cause data integrity problems. The DBChecker Utility allows you to troubleshoot these problems and fix them on the fly.
Additionally, there are operations, carried out via the program interface, that are extremely sensitive to the integrity and synchronization of the manipulated data. The DBChecker Utility assists in preventing failure during such operations.
The DBChecker Utility enables you to predict or fix problems in your database by running specific SQL commands without having to contact customer Support. You can either fix the problems on the fly or create a file that contains suggestions for fixing the selected problems. The DBChecker Utility displays defective rows and problem descriptions so that you can open and check the issues that the DBChecker Utility found. In addition, the DBChecker Utility allows you to select fixes that you want to implement.
When you start the DBChecker Utility, the software automatically connects to the Admin schema of the user database defined in the INTOOLS.INI file. Then, you can select a target domain and perform a database check for that domain. You can only perform a database check at the domain level. If the domain type is Owner operator, As-Built and all existing projects are included in a single database check.
When running the DBChecker Utility, if you suspect that execution of certain SQL commands can damage valuable data, we recommend that you back up your database before implementing fixes. This is because in certain cases, the SQL commands delete data based on the known format of the data model and data. In most cases, the changes are irreversible. If your database contains data that does not comply with the data model, some changes may lead to unexpected results. The DBChecker Utility scripts are tested by our certification team, but the tester or script designer might not be aware of all possible data set combinations that are likely to cause database problems.
You can check the structures and definitions of your database objects to identify invalid or missing objects or data inconsistencies. Where problems occur, the DBChecker Utility can also fix them. The software performs the check by automatically comparing the database objects with the template database. After checking, the utility generates an error report and prompts you to correct the errors.
After completion of the database check, the results are stored in the complog.txt file, whose default location is the home folder. You can specify another location as you require.
The DBChecker Utility is used by the certification and development teams during certifying a version release.
Activities that Require a Database Check
A major upgrade of the database — Run the DBChecker Utility before and after the upgrade process to minimize the number of upgrade stops and problems during the process, and to minimize downtime.
Initializing a new domain using another domain as a source — Run the DBChecker Utility for the source domain, before starting the initialization process.
Copying data from one lowest plant hierarchy item to another — Run the DBChecker Utility before performing the activity.
Merging a large project with As-Built — Run the DBChecker Utility before performing the activity.
Running the Merger Utility — Run the DBChecker Utility before and after performing the activity.
Massive data import, especially in the Table mode — Run the DBChecker Utility before and after performing the activity.
Possible DBChecker Utility Use Scenarios
Customer Support requests the DBChecker Utility to be used at customer's site, and the details to be sent to Customer Support for faster troubleshooting when database integrity can be a factor in the problem reported by the customer.
A customer decides to run the DBChecker Utility if users report problems that are hard to reproduce, and the System Administrator suspects there is a problem with the database integrity.
DBChecker Utility Use Frequency Factors
It is possible to use The DBChecker Utility on a periodic basis to find problems in their early stages, before they manifest themselves in application malfunctions. Factors to be considered in the frequency of using the utility as a maintenance data validation tool are as follows:
The origin of the database — If the database was created mostly by importing data from external files, via a data migration process, or in the early versions of , the use frequency should be increased.
The nature of operations — If the current database undergoes massive data transformation, frequent or massive claim or merge operations in an Owner operator domain, or numerous import activities, the use frequency should be increased.
The history of previous use of the DBChecker Utility and results — If the DBChecker Utility sessions do not indicate any issues with the database, the use frequency should be decreased.
Consistency of the version — Remaining on the same version of for a prolonged period of time should decrease the need for running the DBChecker Utility and, therefore, the use frequency should be decreased.
Before you run the DBChecker Utility, you can set the software to check all or only certain database objects. For details, see the Help topic DBChecker Utility Window.