HPE Shadowbase Compare Enscribe is a “database compare” utility product 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. Heterogeneous file comparisons (between Enscribe and non-Enscribe files, including SQL tables) are being considered for a future product release.
In order to execute a comparison, Shadowbase Compare Enscribe must be started in a verification and validation run mode as opposed to the default “LOAD” mode. The result is a report that contains a potential 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. But unlike other comparison tools, an extract copy (a second copy) of the source file does not need to be created on the target system. 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). A sample HPE Shadowbase Compare Enscribe configuration is shown below in Figure 1.
HPE 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.
Shadowbase (or another vendor’s) replication product can be active on the source and/or target file while the comparisons take place. Any discrepancies 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 shows the missing, extra, and different records in the target file as compared to the source file. 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.