HPE Shadowbase Compare Enscribe is a “database compare” utility used to compare data between two HPE NonStop Enscribe files. It currently supports comparing the contents of files that have the same structure (file type/layout and record length), as typically found, for example, in a business continuity data replication environment.
Shadowbase Compare Enscribe creates a report that contains a list of discrepancies between an Enscribe source file and an Enscribe target file. The source and target file can be located on the same, or different, HPE NonStop systems. Expand connectivity is required if they are located on different systems.
Shadowbase Compare Enscribe compares the contents of the target file to the source file to find discrepancies. However, unlike other comparison tools, an extract copy (a second copy) of the source file does not need to be created on the target system. Instead, Shadowbase Compare Enscribe directly reads the source file, and sends large blocks of source file data to be compared to a separate target-side comparison process. This comparison process reads the corresponding range of data from the target file and compares the two in memory. Although configurable, this comparison process usually runs on the target system (and hence the comparison is typically done on the target system). If the comparison process is run on the source file system, then the above mechanism is reversed, with the target file contents being sent by Shadowbase Compare Enscribe to the source file system.
Upon completion of the comparison, Shadowbase Compare Enscribe generates a discrepancy report and writes it to a specified output file. The level of detail provided in the discrepancy report is controlled via a configuration/command line option, from BRIEF (totals only) to VERBOSE (detailed description of the data that does not match).
Shadowbase Compare Enscribe can run standalone, as well as when replication is currently active. A sample Shadowbase Compare Enscribe configuration is shown below.
Figure 1 depicts HPE Shadowbase Compare Enscribe in a sample NSK source and target system configuration. An application on the source (left) system posts changes to a database, which are logged in the TMF Audit Trail… Shadowbase Compare Enscribe processes on the source and target (right) systems compare the source and target databases, and generates a report describing any differences found between them. Optionally, Shadowbase replicates the source changes to the target database while the compare process is in process (no interruption of data replication is required).
Shadowbase Compare Enscribe may be used while the databases are open and running in production as it only opens the source and target files in shared, read-only mode. The files involved in the comparison can be opened in shared or protected mode for concurrent access activity (reading or inserting/updating/deleting) by applications while the comparison takes place, but they may not be opened in exclusive mode. A special iteration algorithm handles differences “on the fly” for replication environments where changes occur to one file (the source file) but have not yet been applied to the other file(s) (the target file). This algorithm is explained in more detail below.
A replication engine is not necessary for Shadowbase Compare to validate data consistency between the source and target database. Additionally, Shadowbase (or another vendor’s) replication product can be active on the source and/or target file while the comparisons take place. Any discrepancies encountered are listed in the report. If the file(s) is actively being updated when the comparison takes place, Shadowbase Compare Enscribe may report “false positive” discrepancies. These discrepancies may be caused, for example, by the data replication latency, which is the time from when the change is made on the source to the time the change is replicated and applied on the target. If discrepancies are noted in the compared data, Shadowbase Compare Enscribe will (by configuration) delay and retry the comparison. If a mismatch is still detected, the comparison can be re-run for the questionable data ranges to see if the data is still mismatched.
The discrepancy report generated by Shadowbase Compare Enscribe lists the differences between the target and source, including records or rows in the source but not in the target, records or rows in the target but not in the source, and/or records or rows in both whose keys match but the data contents do not. Records that are in the target file but not in the source file are reported as deletes. (The record in the target file needs to be removed in order for the target file to match the source file.) Records that are in the source file but not in the target file are reported as inserts. (The record in the source file needs to be written or inserted into the target file in order for the target file to match the source file.) The third type of discrepancy is an update, meaning that the records exist in both files but the record contents do not match. An “update” of the target file is required for the two records to match.