For 2 sites with Gen Host Encyclopedia (HE) installed, one Active/Primary and one Disaster Recovery (DR).
1. What HE tables need to be replicated from the Active HE DB2 database to the DR HE DB2 database to ensure all operations executed on the Active site like check-in, checkout etc are also reflected on the DR site?
2. It is planned to make the DR HE tables read-only, but also want to be able to run code generation there. Will read-only access cause code generation a problem?
Release : 8.6
Component : Gen Host Encyclopedia
Please note that the Gen Host Encyclopedia has no awareness of being in a DR scenario and therefore there is no official support for it. The following advice is meant to assist users who wish to use this option.
1. For all Active HE operations to be visible on the DR HE requires replication of all the HE Data tables from the Active HE DB2 database to the DR HE DB2 database. This will ensure 100% data integrity, so if the Active goes down and DR is required to become the new Active, the data will then be consistent across all the Data tables. The documentation page reference HE DATA TABLES covers those tables.
The above advice assumes the DR HE has already been installed and the maintenance/PTF level on Active/DR is the same. In that way, the Schema tables will match and there should be no need to replicate those tables.
If future PTFs are installed on the Active then the same should be installed on the DR, in case any Schema tables are changed by those PTFs.
2. For all normal HE operations to function write access is required for ALL Data Tables. If only code generation is required on DR then many of the data tables can remain as read-only but these tables require write access otherwise code generation will fail:
- DASC
- DHLOG
- DHOBJ (If object history is disabled then the DHOBJ table would not be updated and would not require write access)
- DMAX
- DMDL
- DOBJ
- DPRP
- DSUBEX
- DTXT
NOTE: If the DB2 replication from Active to DR is "Active-Passive" (one way) and is only taking incremental table changes to DR, then when the next replication occurs that will potentially cause a data conflict with object IDs in DR because of the previous generation updates to those 9 tables in DR.
The only solution is to completely replace all data tables in DR on each replication. In that way, any history of generations in DR would be lost, but that may not be significant if the objective is just to be able to generate code in DR "on the fly".
NOTES:
1. It is not possible to perform checkout/checkin on the DR HE without ALL Data tables having write access.
2. If requiring full functionality on both Active and DR HEs at the same time then perhaps "Active-Active" replication should be considered.