Database Integrity Checker Service

   Journey Manager (JM) The transaction engine for the platform. |   System Manager / DevOps |  23.04 This feature was introduced in 23.04

Manager comes with the Database Integrity Checker service, which checks the integrity of the database and optionally performs remedial actions for database records that can potentially cause system instability. The service is invoked by the Database Integrity Checker scheduled job, which you need set up according to your requirements.

To configure the Database Integrity Checker service:

  1. Select Services > Core Global Services.
  2. Locate the Database Integrity Checker service and click Edit.
  3. Configure the standard service settings.
  4. Select the Parameters Edit tab to configure the service parameters.
    Manager database integrity checker service parameters
  5. Select the Delete Orphaned Records checkbox to automatically purge invalid orphaned database records, which are causing a problem to the stability of the system. This is not selected by default.
    Warning

    Before enabling this option, you must discuss it with our Support Team. A comprehensive analysis of your system may be required to understand why orphaned records do appear and then apply some configuration changes to stop them from happening.

    Each time the Database Integrity Checker service runs, it checks whether this option is enabled, and, if so, performs the following actions:

    • Sets Database Integrity Checker back to false, so it isn't left permanently on.
    • Deletes all orphaned records within Fetch Limit.
    • Adds a new entry to event log, as shown below:
      Database Integrity Checker Job removed 2 invalid/orphaned groups:
      Deleted 1 record(s) for Entity: submission_property_search Field: submission_property_oid TargetEntity: submission_property 
      Deleted 2 record(s) for Entity: submission_property Field: submission_oid TargetEntity: submission

      The existing event log entry for checking database integrity now includes the number of entries found, as illustrated below:

      Database Integrity Checker Job found 2 invalid/orphaned groups: 
      1 record(s) for Entity: submission_property_search Field: submission_property_oid TargetEntity: submission_property 
      2 record(s) for Entity: submission_property Field: submission_oid TargetEntity: submission
  6. Set the maximum number of records that needs to be processed in the Fetch Limit field. The default is 1000.
  7. Click Save to update the changes.

Depending on an error, you may have different courses of actions to correct it. However, more often that not, the Cloud Services team will deal with it. A typical example is the Database Integrity Checker Job found 1 Nonexisting indexes message, which means that the Cloud Services team will just need to apply the missing index. However, if it is a unique index, there may be data that must be removed first before the index can be applied.

Next, learn how to view core global services.