CA-Panvalet library data corruption can occur when using BMC MAINVIEW Batch Optimizer. This corruption can occur during any batch CA-Panvalet function. For example, it is possible to get PV033 and PV068 LIBRARY MALFUNCTION errors when doing a ++DUMP. Once the data corruption is present on the library, any future attempt to access those corrupted members will result in errors. (ie. Users trying to EDIT those specific members with CA-Panvalet/ISPF will also get errors).
If this corruption occurs, it is then necessary to create a new CA-Panvalet Library, restore from a good backup, then try to transfer the good members from the corrupted library that had been updated since the last backup.
To get around this problem in the future, take the following steps:
- Ensure the BMC Mainview Batch Optimizer qnames are entered into the GRS/MIM definitions for each lpar.
- MAINVIEW Batch Optimizer must be configured to NOT Optimize CA-Panvalet libraries by updating the EXCLUDE list. Add a new data policy Selection definition to your data policy member (DATPOL00 is the default member name), entering a "Data Definition (DD) Name" mask of "PANDD*" with an Action of Exclude. After adding this new data policy entry, the data policy member must be re-activated to allow this change to be recognized. Check with BMC support for any current fixes needed and or assistance to configure MAINVIEW Batch Optimizer.
Ensure the BMC Mainview Batch Optimizer qnames are entered into the GRS/MIM definitions for each lpar. BMC has agreed to provide an enhancement in the next release of the MAINVIEW Batch Optimizer product to exclude CA-Panvalet files with any ddname that starts with PANDD. This would exclude or bypass the various potential combinations of CA-Panvalet ddnames such as PANDD1 through PANDD19.
We found that MAINVIEW Batch Optimizer was causing the corruption. This product manipulates buffers being read and or written and it optimizes the use of the buffers. But by doing so, data for members were being lost as well as the pointers to the next block of data so that member were no longer valid.
BMC MAINVIEW Batch Optimizer expects files will be serialized via MVS DSN disposition and its own enqueue serialization. It does not seem to take into account those products that permit DISP=SHR and serialize via their own enqueues, such as Pan does and other products. That is why if you have more than one LPAR you must have BMC running on all LPARS otherwise the one NOT running BMC does not know about the other LPARS running BMC and that LPAR will not be protected by BMC.