During the execution of a loader set, the target tables will be populated by inserting the extracted rows into each table. However the load process can, under certain circumstances, be considerably delayed if the there are INSERT triggers enabled on the tables being loaded. The automatic firing of the trigger for each inserted row adds considerably to the update time. In such cases, it is usually much more efficient to disable the triggers while the load operations are being performed.
A Trigger Manager rule is a container which manages the execution of a number of subsidiary actions which perform the trigger disable or enable. Trigger Manager rules can be defined in a loader set to automate the trigger enable/disable process and are usually automatically generated when a loader set is created by the New Loader Set Wizard.
The implementation of the trigger enable/disable operations as a manager rule was done to make the process simple and intuitive. An Oracle schema can have many triggers and each disable/enable action requires the execution of a distinct SQL statement. Each operation must be recorded in the log and any errors must be detected and reported. If such actions were configured as individual rules in the loader set, then the large quantity of such rules could visually overwhelm the loader set - leaving it hard to maintain the other load rules. It is much more efficient to collect all of the actions together under one rule which acts as a manager. The Trigger Manager Rule form provides the ability to view, configure and manage the trigger disable/enable actions and the Trigger Manager rule itself controls the execution of the configured disable/enable trigger operations. Errors and statistics are handled by the Trigger Enable/Disable rule and presented in a manageable summary form.
It is possible to configure the Trigger Manager to ignore a certain number (or all) of the errors received while processing the trigger operations. This enables the Trigger Manager to continue operating even if errors occur. Be aware that ignoring the errors in the Trigger Manager just permits the Trigger Manager to complete as many operations as possible before returning an error and stopping the execution of the loader set. In other words, even if errors are ignored, any errors which occur during the trigger disable/enable operations will mark the Trigger Manager rule as having failed and the error state will be reported to the DataBee software for handling once the actions have completed.
Important Note: The Trigger Manager rule is only aware of the triggers given to it by the Rule Controller. To refresh the list of triggers known to the Trigger Manager rule, first refresh the triggers in the Rule Controller using the Refresh Triggers button on Options tab of the edit Rule Controller form. This retrieves an up-to-date list from the target schema. Once the Rule Controller has been updated, use the Refresh Trigger List button on the Trigger Manager Rule form to refresh the list inside the Trigger Manager rule.
Once the Trigger Manager rule has begun to execute, the trigger disable/enable operations will proceed in parallel using the full number of threads specified on the Set Loader Run Statistics tab until all specified triggers have been operated on.
Trigger Manager rules are usually configured using Rule Blocks to run in disable mode as the very first rule in the loader set. A second Trigger Manager rule is configured to run in enable mode as the very last rule in the loader set. This ensures the triggers are disabled during the load operations and, hence, will not generate errors which would terminate the load process.
Trigger Manager rules are created by launching the New Trigger Manager rule form using the New Loader Rule button located on the bottom right of the main Set Designer form.
How to Create a New Trigger Manager rule