DataCheck Setup Procedure
DataCheck Setup Procedure
You can set up DataCheck destination systems with the ^DATACHECK routine and enable DataCheck source systems through the Management Portal. To set up a new DataCheck system, do the following:
-
Create new destination system.
-
Set up/edit destination system configurations, as follows:
-
For non-mirror-based configurations, specify the hostname/IP address, superserver port, and optional TLS configuration for the TCP connection to the source system.
For mirror-based configurations, specify the mirror member you want to check.
-
For non-mirror-based configurations, specify the set of databases to be checked and their corresponding paths on the source system.
For mirror-based configurations, all mirrored databases are included.
-
Optionally, specify global selection masks and subscript ranges for fine-grained control over which databases, globals, and global ranges to include or exclude. For more information, see Specifying Globals and Subscript Ranges to Check.
-
Optionally, adjust the dynamically tunable settings to control the performance and system resource consumption for the check. For more information, see Performance Considerations.
-
Optionally, modify the workflow specifying the strategy for the check. For more informations, see DataCheck Workflow.
-
-
Enable the %Service_DataCheck service on the source system. For more information, see Enabling the DataCheck Service.
-
Start the destination system, which controls the checking.
-
Monitor the status of the check, as follows:
-
On the source system, view the status and log file.
-
On the destination system, view the status and log file, as well lists of queries and results.
-
Enabling the DataCheck Service
Use the Management Portal from the InterSystems IRIS instance running on the source system to enable the data checking service and, optionally, restrict connections:
-
Navigate to the Services page (System Administration > Security > Services) of the Management Portal.
-
Click %Service_DataCheck in the list of service names to edit the data checking service properties.
-
Select the Service enabled check box. Before clicking Save, you may want to first restrict which IP addresses can connect to this database source. If so, perform the next step, and then click Save.
Note:When configured to check a mirror, DataCheck uses TLS if the mirror is set to use TLS (for more information, see DataCheck for Mirror Configurations). The DataCheck service, however, does not automatically restrict access only to mirror members. If you wish to restrict DataCheck connections from other systems, you must configure the Allowed Incoming Connections for the %Service_DataCheck service.
-
Optionally, to restrict access to the service, in the Allowed Incoming Connections box (which displays previously entered server addresses), click Add to add an IP Address. Repeat this step until you have entered all permissible addresses.
You may delete any of these addresses individually by clicking Delete in the appropriate row, or click Delete All to remove all addresses, therefore allowing connections from any address.
Specifying Globals and Subscript Ranges to Check
DataCheck lets you specify global names and subscript ranges to include in or exclude from checking using the options detailed in the following.
Only literal values are accepted as global names and subscripts when specifying global and subscript ranges.
-
Check All Globals in All [Mapped / Mirrored] Databases—Checks all globals in all mapped databases in non-mirror-based configurations; in mirror-based configurations, checks all globals in all mirrored databases.
-
Include/Exclude Some Globals/Databases—Checks globals in the selected database based on the specified mask(s). Subscripts are not allowed.
You can add/edit a mask or comma-separated list of masks, as follows:
-
*—Checks all globals (default).
-
* as the last character—Checks all globals starting with the preceding character(s).
-
' before a mask—Excludes globals from being checked.
For example:
-
ABC*—all global names starting with ABC
-
A:D—all global names from A to D
-
A:D,Y*—all global names from A to D, and starting with Y
-
*,'C*,'D*—all globals except those starting with C or D
-
'*—exclude all globals
In addition to defining a global selection mask for specific databases, you can explicitly set a “default global selection mask” that is used for databases for which no global selection mask has been defined. Initially, the default mask to set to *.
Note:For mirror-based DataCheck, newly added mirrored databases are included in the next check. Therefore, if you do not want newly added mirrored databases to be checked automatically, set the default mask to '*.
For example, to specify a default mask for all databases for which no mask is defined (*,'^DontCheckMe) as well as specify a global selection mask (A:D) specifically for the USER and USER2 databases, do the following from the Edit Configuration submenu of the ^DATACHECK routine (see ^DATACHECK Routine):
1) Import Settings from a Shadow 2) Connection Settings 3) Database Mappings 4) Globals to Check 5) Performance Settings 6) Manage Workflow Option? 4 1) Check All Globals in All Mapped Databases 2) Include/Exclude Some Globals/Databases 3) Include/Exclude Some Globals/Databases and Subscript Ranges Option? 1 => 2 Save changes? Yes => 1) Options for selecting globals to check 2) Set default include/exclude mask for databases with no mask defined 3) Add or remove include/exclude mask for databases 4) View include/exclude masks Option? 2 Enter a mask string, * to include all, '* to exclude all, ? for help Mask: * => *,'^DontCheckMe Save changes? Yes => 1) Options for selecting globals to check 2) Set default include/exclude mask for databases with no mask defined 3) Add or remove include/exclude mask for databases 4) View include/exclude masks Option? 3 1) C:\InterSystems\IRIS\mgr\user\ [no mask defined, use default] 2) C:\InterSystems\IRIS\mgr\user2\ [no mask defined, use default] Database (multiple selections allowed): 1,2 Enter a mask string, * to include all, '* to exclude all, ? for help ! to delete this mask and revert to default Mask: A:D 1) C:\InterSystems\IRIS\mgr\user\ [A:D] 2) C:\InterSystems\IRIS\mgr\user2\ [A:D] Database (multiple selections allowed): Save changes? Yes => 1) Options for selecting globals to check 2) Set default include/exclude mask for databases with no mask defined 3) Add or remove include/exclude mask for databases 4) View include/exclude masks Option?
-
-
Include/Exclude Some Globals/Databases and Subscript Ranges—In addition to letting you perform the same tasks as the Include/Exclude Some Globals/Databases option, this option lets you identify subscript ranges in specific globals; global subscript ranges marked for inclusion are included whether or not the global is included in the global selection mask. For all subscript ranges within DataCheck, the beginning of a range is inclusive and the end exclusive.
Note:DataCheck may mark data in an excluded range as matched if this is determined in the course of its operation. Discrepancies in excluded ranges, however, are never marked.
For example, continuing with the preceding example, in which you specified a global selection mask (A:D) for the USER2 database; you can include a subscript range in the ^NAME global by responding to the prompts, as follows:
1) Options for selecting globals to check 2) Set default include/exclude mask for databases with no mask defined 3) Add or remove include/exclude mask for databases 4) View include/exclude masks Option? 1 1) Check All Globals in All Mapped Databases 2) Include/Exclude Some Globals/Databases 3) Include/Exclude Some Globals/Databases and Subscript Ranges Option? 2 => 3 Save changes? Yes => 1) Options for selecting globals to check 2) Set default include/exclude mask for databases with no mask defined 3) Add or remove include/exclude mask for databases 4) View include/exclude masks 5) Add/Edit Subscript Ranges for a Global 6) Delete All Subscript Ranges for a Global 7) Delete All Subscript Ranges 8) View Defined Subscript Ranges Option? 5 1) C:\InterSystems\IRIS\mgr\user\ 2) C:\InterSystems\IRIS\mgr\user2\ Database: 2 C:\InterSystems\IRIS\mgr\user2\ Global Name: ^NAME There are no subscript ranges defined for this global. You may start by including all or excluding all subscripts. Answer YES to include, NO to exclude: no C:\InterSystems\IRIS\mgr\user2\ ^NAME ^NAME --Excluded--> [end] From (inclusive): ? Enter a global reference with or without subscripts or null for end. The leading ^ may be omitted. For subscripted references the entire global name may be omitted and simply begin with open parentheses From (inclusive): (10) To (exclusive): (20) Answer YES to include, NO to exclude: yes C:\InterSystems\IRIS\mgr\user2\ ^NAME ^NAME --Excluded--> ^NAME(10) ^NAME(10) --Included--> ^NAME(20) ^NAME(20) --Excluded--> [end] From (inclusive): Continue editing subscript ranges for this global? Yes => no C:\InterSystems\IRIS\mgr\user2\ ^NAME ^NAME --Excluded--> ^NAME(10) ^NAME(10) --Included--> ^NAME(20) ^NAME(20) --Excluded--> [end] Save changes? Yes => 1) Options for selecting globals to check 2) Set default include/exclude mask for databases with no mask defined 3) Add or remove include/exclude mask for databases 4) View include/exclude masks 5) Add/Edit Subscript Ranges for a Global 6) Delete All Subscript Ranges for a Global 7) Delete All Subscript Ranges 8) View Defined Subscript Ranges Option?
You can view the mask information as follows:
Option? 4 The default include/exclude mask is: *,'^DontCheckMe The following databases are using non-default global selection criteria C:\InterSystems\IRIS\mgr\user\ A:D C:\InterSystems\IRIS\mgr\user2\ * Has additional global subscript ranges to include/exclude that apply regardless of whether those globals are included in this mask. A:D 1) Options for selecting globals to check 2) Set default include/exclude mask for databases with no mask defined 3) Add or remove include/exclude mask for databases 4) View include/exclude masks 5) Add/Edit Subscript Ranges for a Global 6) Delete All Subscript Ranges for a Global 7) Delete All Subscript Ranges 8) View Defined Subscript Ranges Option?
Since the mask information includes a note about subscript ranges, you can display that information, as follows:
Option? 8 Device: Right margin: 80 => DataCheck Destination System: GLOBTEST Global Selection Subscript Ranges C:\InterSystems\IRIS\mgr\user2\ ^NAME ^NAME --Excluded--> ^NAME(10) ^NAME(10) --Included--> ^NAME(20) ^NAME(20) --Excluded--> [end] 1) Options for selecting globals to check 2) Set default include/exclude mask for databases with no mask defined 3) Add or remove include/exclude mask for databases 4) View include/exclude masks 5) Add/Edit Subscript Ranges for a Global 6) Delete All Subscript Ranges for a Global 7) Delete All Subscript Ranges 8) View Defined Subscript Ranges Option?