Data Masker for Oracle 5

The New PKFK Change Manager Rule Form


Data Masker Create/Edit PKFK Change Manager Rule Form


Sometimes it is necessary to anonymize the values in the columns of tables which form the join keys between those tables. This type of masking and synchronization requirement can be problematic when done manually since both the masking and synchronization operations have to be performed at the same time. If the classic Substitution and Table-To-Table sync method is used the Table-To-Table rule will fail because the join keys are no longer identical due to the masking operations of the Substitution rule.

The PKFK Manager Rule help page contains a detailed discussion of how the PKFK Change Manager rule works and why you might need it.

The Edit PKFK Change Manager rule form presents options which enable you to modify or configure the behavior of a PKFK Change Manager rule. The form displays a series of tabs across the top of the page. The function of these tabs is explained below:

The PKFK Rule Sequence Tab

When the PKFK Change Manager rule is executed it actually runs a sequence of rules. The discussion below contains more information regarding this sequence.

The Rule Generation By FK Tab

This tab enables additional tables to be added to the PKFK Change Manager (and hence masked) by following foreign key relationships. The tools on this page make it easy to add chains of tables related by foreign keys to the rule.

The Rule Tools and Options Tab

This tab provides tools to manually trigger a rebuild of the various rule blocks contained on the Rule Sequence Display. Also provided on this tab is a way to manually add tables to the PFFK masking sequence.

The Source Column Options Panel

The basic operation of the PKFK Change Manager rule is to build a temporary table, populate that table with a distinct set of rows from each of the tables which will be updated. If there are many tables in the rule, then the acquisition of the distinct set of rows can take some time. If the primary table (the one which served as the original source of the PKFK rule) contains a full and distinct set of the rows to be masked, then the checking of the secondary fan-out tables for missing rows is redundant. Checking the Do NOT Test Secondary Tables for Missing Values will cause the PFKF Change Manager to automatically adjust its rule sequence in order to skip the check of data in the secondary tables. This can make the execution of the Command rules in Rule Block 20 much faster.

This option should be used if, and only if, it is certain that the primary table contain a complete set of every possible value to be masked. If this option is checked, and the secondary tables actually contain values not present in the primary tables, then those values will not get masked.

The Rule Sequence Display Panel


The Rule Sequence Display Panel


When viewed on the main Rules Tab of the Data Masker software, a PKFK Change Manager rule appears as a single entry - like any other rule. However, the PKFK Change Manager Rule is designed to perform a complex sequence of actions and it does this by acting as a container which ecapsulates a series of other rules. When the PFKF Change Manager Rule is executed it will run its encapsulated rules. These encapsulated rules will take advantage of the parallelism of the Data Masker software and other rules which are in the same rule block as the PFKF Change Manager rule can, and will, execute along side them.

The Rule Sequence Display Panel shows the rules which will be executed when the PKFK Change Manager rule is activated. Note that these rules also have rule block values associated with them. These rule blocks are only significant within the PFKF Change Manager. They, and their dependency relationships, determine the order of execution within the PFKF Change Manager. The entire set of rules, as a whole, executes within the rule block of the PKFK Change Manager itself.

In other words, when the PKFK Change Manager is run it will put its rules on the execution queue in the appropriate order. These rules will be scheduled to run according to their own internal order and they will also run in parallel with any other rules which happen to be in the same rule block as the PKFK Change Manager rule. 

The Rule Sections

Rule Block 10

These two Command rules create a temporary table with two pairs of columns. The first column will contain the original data and the second column will contain the masked data. If the temporary table already exists it will simply be truncated when these rules execute.

Rule Block 20

These section populates the temporary table created in Rule Block 10. There will be one Command rule for each target table unless the Do NOT Test Secondary Tables for Missing Values is checked (see the Source Column Options discussion above). These Command rules contain SQL statements which will build a distinct, complete set of values in the columns to be masked.

Rule Block 30

This section contains a Substitution or Row-Internal Synch. rule. The exact rule type used here will be identical to the rule originally in place when it was converted to a PKFK Change Manager. The primary difference is that the masking operations now happen on the target columns of the temporary table created in Rule Block 10;

Rule Block 40

Foreign keys must be disabled on the target tables during the masking operations otherwise the updates might fail. This section contains a Foreign Key Manager which disables those foreign keys (if present).

Rule Block 50

This section contains the Table-to-Table rules which perform the actual masking operations on the target tables. If you open them up for viewing (just double click on the rule) you will see that the source of the rule is the masked columns of the temporary table and the target columns are on the target table. The join condition is set to use the original (unmasked) columns in the temporary table. In this way, the masking operations are synchronized.

Rule Block 60

This section just re-enables the foreign keys disabled by the opeations in Rule Block 40. All of the foreign keys should enable - because the values in the child and parent columns have changed in a synchronized way and, although they have different values, the rows they join still correlate with each other.

Rule Block 70

The last rule block contains a command rule which drops the temporary table - thus recovering the resources it used and also removing the correlation relationships between the original and masked names.

The Rule Statistics Button


The Rule Sequence Display Panel


The Rule Statistics button changes the Rule Sequence display to a Rule Statistics display. The screen enables the current progress of each individual rule to be monitored. Note that the Rule Statistics panel on the main form will only display the statistics for the PFKF Change Manager Rule as a whole. Statistics on each individual rule can only be found by looking at this panel.

The image above shows the available statistics. A discussion of the meaning of the values in each of the columns can be found on the main form Rule Statistics Tab help page

Creating a New PKFK Change Manager Rule

PKFK Change Manager rules are not created using the usual New Rule button located on the bottom of the Rules in Set tab. Instead a template Substitution or Row-Internal Synch. rule is created on a table and then this rule is converted into a PFKF Change Manager rule using the putton on the PKFK Change tab of those rules. Once the Convert to PKFK Change Mgr. Rule button is pressed the existing rule will be closed and a PKFK Change Manager rule will be created in its place. The discussion on the PFKF Change Manager Rule help page contains more information on this conversion process. Existing PKFK Change Manager rules can be edited by double clicking on them with the mouse.


Didn't find what you were looking for?