Page 1 of 1

#4 Database Logical Integrity Analysis and Repair

Posted: Tue Sep 07, 2010 1:41 pm
by Jade Support
The Logical Certifier certify function performs a number of checks to verify the referential integrity of database objects. For example, please consider the one-to-many relationship Company::allProducts (automatic) inverse of Product::myCompany. If a Product instance P exists that references a Company C, the analysis will perform a check to ensure that the product P exists in the collection C::allProducts. The absence of this member would constitute an anomaly identified by the Logical Certifier as an “error one” (see Appendix A of the JADE Database Administration Guide).

When the Logical Certifier certify function is run, it produces a number of files, one of which logs errors found and another a repair file used upon a second run of the tool to perform repairs. In the case just described, running the Logical Certifier repair function would result in the product instance P being added to the company's collection of products to restore referential integrity (that is, to honor the inverse).

User data, metadata distinction
User data objects are instances of user classes defined by the developer. The example above describes using the Logical Certifier to analyze the referential integrity of such objects (Company and Product).
In the JADE 6.1.06 release, the Logical Certifier tool was extended to include support for analyzing the logical integrity of the metamodel. The metamodel consists of JADE system classes that describe the user model (user schemas); for example, it consists of instances of such classes as Class, ExplicitInverseRef, JadeMethod, Parameter, ReturnType, and so on. These metamodel entities get created, modified, and deleted during development or during a schema deploy.

How do you know you have run the Logical Certifier in the correct manner?
Performing a logical certify of metadata on a reasonably complex system typically takes about 30 minutes to complete. Performing a logical certify of user data on a large system can take days to complete, due to the number of objects that will be analyzed. For this reason, analysis coverage can be restricted by schema or class.

When metadata is analyzed, the opening line of the _logcert.log document will have an entry something like
21 September 11:53:00: Analysis of user schemas meta-structure started
When to run the Logical Certifier to analyze metadata
Production systems –typically following a deploy of schema changes.
Development systems – regularly (every quarter, say), especially during development phase.

When to run the Logical Certifier to analyze user-data
Production systems – regularly (every quarter, say), since this data is volatile and affects the end user’s business.
Development systems – regularly (every quarter, say).

Helping JADE Support help you
The Logical Certifier does not take into account the significance of combinations of errors nor the significance of the types involved. For these reasons a repair of metadata should be submitted to JADE Support prior to the repair being run. Often when providing files documenting analysis of metadata, it is useful to also provide the files constituting the system description (_user*.dat and _control.dat).
For a detailed description of the Logical Certifier and errors identified, see the JADE Database Administration Guide.

Why the term “certify” is ambiguous
The JADE Database utility Certify Files function performs checks on the physical structure and format of database (*.dat) files. This should not be confused with the certify operation performed by the JADE Logical Certifier utility.