Managing INUBIT Databases

System Overview

There are four INUBIT databases that can be configured for the cache, the logging, the repository, and optionally for the AS4 message store.

administration guide 273 0

Depending on the configuration, the data type, and the processing mode, runtime data are stored additionally in the following folders below <inubit-installdir>/inubit/server/ibis_root/ibis_data/binarystores:

  • Swapping folder for synchronous mode: swapsyncMainExec or swapSyncOtherExec

  • Swapping folder for asynchronous mode: swapASyncMainExec or swapAsyncOtherExec

  • Backup folder for asynchronous mode: backupAsyncMainExec or backupAsyncOtherExec

administration guide 274 0

Cache Database

The cache database mainly holds data of modules, module versions, workflows, workflow versions, server configuration, user, user group data, and tag information.

Data are written into cache database tables in the following cases:

  • During INUBIT Workbench startup.

  • A new user/user group has been created.

  • A new workflow/module has been created.

  • A workflow/module has been imported/deployed into the Process Engine.

  • The data have been cleared.

Data are deleted from the cache database tables in the following cases:

  • When a workflow or module has been deleted from the Process Engine, the corresponding data will be removed from the cache database tables.

  • Once the workflow execution has been completed, both the IBIS_RT_OTHER_DATA_PERSIST table containing runtime data and IBIS_INOUT_MSGS table containing workflow input/output messages are cleared, refer to Important Cache Database Tables and Their Content.

  • The midnight task also takes care of deleting obsolete Workflow Connector variable files (vartmp) and input/output message files.

If data are not cleared completely, the reason can be that the configured database has failed to execute the query to delete the data from the table or the midnight task has crashed with some other running jobs.

Configuring the Cache Database

The cache database configuration is stored in the ibis.xml file in the <inubit-installdir>/inubit/server/ibis_root/conf directory.

Related to the cache database, there are 45 Infinispan tables having upper-case names starting with prefixes ISPN_ or IBIS_.

With the RuntimeDataCacheXMXPercentage property in the ibis.xml file, you configure the amount of runtime data to be stored in the cache database, the default value is 25%.

<Property name="RuntimeDataCacheXMXPercentage" type="Integer">25</Property>

Important Cache Database Tables and Their Content

Default tables of the cache database

Parameter Description

ISPN_MODULE_DATA

Module descriptions of head versions of modules

ISPN_MODULE_DATA_VERSION

Module descriptions of non-head versions of modules

ISPN_MODULE_PROPERTIES

Module properties of head versions of modules

ISPN_MODULE_PROPERTIES_VERSION

Module properties of non-head versions of modules

ISPN_SERVER_CONFIGURATION

INUBIT server configuration, loaded at startup from file <inubit-installdir>/inubit/server/ibis_root/conf/ibis_config.xml

ISPN_USER

Descriptions of INUBIT users

ISPN_USER_ACTIVE_TAG

Current active tag name of an INUBIT group or user

ISPN_USER_GROUP

Descriptions of INUBIT user groups

ISPN_USER_META_DATA

Metadata of an INUBIT user

ISPN_USER_TAGS

Tags owned by an INUBIT group or user

ISPN_WORKFLOW_DATA

Workflow descriptions of head versions of workflows

ISPN_WORKFLOW_DATA_VERSION

Workflow descriptions of non-head versions of workflows

ISPN_WORKFLOW_GROUP_DATA

Workflow group descriptions

ISPN_WORKFLOW_NAMES_FOR_USER

List of workflow names owned by an INUBIT group or user

ISPN_WORKFLOW_VERSION_HISTORY

Version history of workflow versions

Optional binary store tables if RuntimeDataBackupStore is configured as DB (database)

Parameter Description

IBIS_INOUT_MSGS

Workflow Input/Output Messages

IBIS_LIB_EXT_BINARY_STORE

Libraries in folder <inubit-installdir>/inubit/server/lib/ext

IBIS_LIB_SYS_BINARY_STORE

Libraries in folder <inubit-installdir>/inubit/server/lib/system

IBIS_RT_OTHER_DATA_PERSIST

Temporary runtime data (*.wfsp files)

Monitoring Database

The Monitoring Database is responsible to hold the data related to INUBIT logging, e.g. System Log, Process Log, Audit Log, scheduler jobs, connection pool logs, Key Manager information.

Monitoring database - refer to Switching INUBIT Monitoring Database.

The Monitoring Database is configured in the logsDBConfig.xml file in the <inubit-installdir>/inubit/server/ibis_root/conf directory.

Data are written into monitoring database tables in the following cases:

  • When we enable the trace log and the audit log in the configuration.

  • When there are queued processes in the INUBIT Workbench Queue Manager tab.

  • When scheduler jobs are running.

  • When KeyStore and TrustStore have been configured for modules, such as AS4 Connector, Mail Connector, SMIME etc.

Data are deleted from the monitoring database tables in the following cases:

The DataEntriesLimit property and dataEntriesLimitAuditLog property respectively defines for how many days the logs will be valid in the database. After the limit has exceeded, the midnight task will clear both logs:

  • System Log

    <dataEntriesLimit>
      <maximumLimitDays>0</maximumLimitDays>
      <minimumLimit>40000</minimumLimit>
      <maximumLimit>50000</maximumLimit>
    </dataEntriesLimit>
  • Audit Log

    <dataEntriesLimitAuditLog>
      <maximumLimitDaysAuditLog>0</maximumLimitDaysAuditLog>
      <minimumLimitAuditLog>40000</minimumLimitAuditLog>
      <maximumLimitAuditLog>50000</maximumLimitAuditLog>
    </dataEntriesLimitAuditLog>

Legend

  • MaximumLimitDays, maximumLimitDaysAuditLog

    Number of days after which the System Log and the Audit Log respectively are cleared, default 0 days.

  • MinimumLimit, minimumLimitAuditLog

    Minimum number of entries remaining in the System Log and the Audit Log respectively, default is 40,000.

  • MaximumLimit, maximumLimitAuditLog

    Once the maximum number of entries in the System Log and the Audit Log respectively has exceeded, the log entries are deleted as long as the minimum number of entries is reached, default is 50,000.

These entries are also deleted if log entries have been deleted manually from the Queue Manger.

If a user tries to delete an entry from the Queue Manager, the DB Manager can fail to execute a deletion query on the table if there are no entries in the Queue Manager. This can be a reason for why data have not been cleared completely.

Important Monitoring Database Tables and Their Content

Table name Description

inubitLog

The inubitLog table contains information displayed on the System Log tab under Monitoring > System Log. The inubitLog table is the parent table and there is a parent-child relationship between the inubitLog table and the inubitWorkFlow table.

inubitWorkflow

The inubitWorkflow table contains information displayed on the Process Log tab under Monitoring > Process Log. Workflow execution steps are stored in the inubitWorkflow table.

inubitQueue

The inubitQueue table contains information displayed on the Queue Manager tab under Monitoring > Queue Manager. The inubitQueue table contains information about workflows to be started, suspended workflows, crashed workflows and workflows to be restarted.

inubitAudit

The inubitAudit table contains information displayed on the Audit Log tab under Monitoring > Audit Log. The Audit log tab contains information regarding changing, deleting, creating, and for other user-specific actions.

inubitConnection

The inubitConnection table contains information displayed on the Connection Manger tab under Monitoring > Connection Manager. The Connection Manager logs all connections, for example, root is connected with the INUBIT Workbench and receives the license information.

inubitKeyManager

The inubitKeyManager table contains information displayed on the Key Manager tab under Monitoring > Key Manager.

inubitScheduler

The inubitScheduler table contains information displayed on the Scheduler Manager tab under Monitoring > Scheduler Manager. When the Process Engine starts then, the Scheduler Manager will read the table from the database and will start at the specified time. Additionally, it also logs all the workflows which were executed through the scheduler.

inubitSystemStatisticLog

The inubitSystemStatisticLog table captures the physical information like hard disk usage per node, memory usage per node, processor usage per node, free disk space, and INUBIT occupied disk space. The inubitSystemStatisticLog table can be enabled under Configuration > General Setting > Administration > Reporting using the following two options:

  • System statistic log

    When this option is enabled, statistic log static information are written in the system, for example, CPU usage, hard disk usage, and processor usage per node on the System load section on the Reporting tab

  • Log Interval

    The Log Interval configures the interval after which the data are stored. The information are displayed in the System load section on the Reporting tab.

Repository Database

The Repository database contains data/information about repository and version(s) of repository files.

Data are written to the Repository database once a new file has been added, imported, or deployed to the Repository, e.g. from another INUBIT Process Engine.

Once a file, a directory, or a user group has been deleted from the Repository, the data are cleared from the Repository database.

Configuring the Repository database

The Repository database is configured in the <inubit-installdir>/inubit/server/ibis_root/conf/repository.xml file.

The INUBIT Repository is based on Apache Jackrabbit.

Most of the database tables are internal, except those that are listed in the following section, refer to Important Repository Database Tables and Their Content.

Important Repository Database Tables and Their Content

Parameter Description

JCR_SECURITY_BINVAL
JCR_SECURITY_BUNDLE
JCR_SECURITY_FSENTRY
JCR_SECURITY_NAMES
JCR_SECURITY_REFS

For security purpose

JCR_VER_BINVAL
JCR_VER_BUNDLE
JCR_VER_FSENTRY
JCR_VER_NAMES
JCR_VER_REFS

For versioning purpose

JCR_DS_DATA-STORE

Holds repository data