While a pointer checker tool like CA Database Analyzer for IMS for z/OS (DBA) is mainly used to validate the address pointers on an IMS database, it also produces a variety of Reports containing vital information about the status of the database and the quality of segment distribution on the database datasets. This information is especially important to decide if a database needs to be reorganized or if the DBD(s) should be changed for better performance.
How to use CA Database Analyzer on production environments?
Typically, CA Database Analyzer for IMS for z/OS is either invoked by CA Database Copier for IMS for z/OS when an image copy backup file is created, or it runs as standalone execution for full checking of the entire database complex. In both cases, Reports will be produced and data will be written to the IIR Repository (when using execution option IIRRECORD=YES) - but the main purpose of these DBA executions is validating the IMS address pointers, which drives the highest consumption of resources (CPU time).
Why could it be important to run CA Database Analyzer more frequently?
Specifically, when the "Conditional Reorg" feature will be used to avoid unnecessary Database Reorganizations, it is essential that the most current information from DBA is available on the IIR Repository tables (to enable a reliable decision by CRG if a specific database needs to be reorganized or if the Reorganization can be skipped).
How to enable more frequent CA Database Analyzer executions without consuming too much CPU resources?
While keeping the existing procedure of checking pointers from DBCOPY invocations and DBA standalone executions, additional DBA runs can be scheduled with minimized CPU consumption using these DBA execution options:
- Switch off pointer checking by using execution option "POINTERCHECK=NONE". This still produces Reports and writes data to the IIR tables, but the IMS address pointers will not be checked anymore, considerably reducing CPU time consumption - for more details about option POINTERCHECK see
https://docops.ca.com/ca-database-management-solutions-for-ims-for-z-os/19-0/en/managing-database-performance/ca-database-analyzer-for-ims/customizing-ca-database-analyzer-jcl/ca-database-analyzer-control-statements-reference/pointercheck-dba-define-level-of-pointer-checking
- Use execution option "REPORTS=(name1,name2,...)" to only produce those Reports which have Reorganization-relevant information, or switch off the Report creation entirely by using option "REPORTS=NO" (the data needed for CRG still are written to IIR) - for more details about the REPORTS option see
https://docops.ca.com/ca-database-management-solutions-for-ims-for-z-os/19-0/en/managing-database-performance/ca-database-analyzer-for-ims/customizing-ca-database-analyzer-jcl/ca-database-analyzer-control-statements-reference/reports-dba-define-reports-to-generate
DBA job control Example
//DBA EXEC PGM=IDIDBA,REGION=4096K
//STEPLIB DD DISP=SHR,DSN=ca.imstools.CIMTLOAD
// DD DISP=SHR,datacom.cuslib
// DD DISP=SHR,datacom.cailib
// DD DISP=SHR,DSN=ims.SDFSRESL
//DFSRESLB DD DISP=SHR,DSN=ims.SDFSRESL
//DBDLIB DD DISP=SHR,DSN=ims.DBDLIB
//dbddnam1 DD DISP=SHR,DSN=dbdsnam1
//dbddnam2 DD DISP=SHR,DSN=dbdsnam2
//DBAMSGS DD SYSOUT=*
//DBARPTS DD SYSOUT=*
//DBACTRL DD *
FUNCTION=ANALYZEALL,DBDNAME=dbdname1,IIRRECORD=YES,
POINTERCHECK=NONE,REPORTS=NO
Reference
For details regarding the Conditional Reorg feature (CRG) see
https://docops.ca.com/ca-database-management-solutions-for-ims-for-z-os/19-0/en/managing-database-performance/ca-database-organizer-for-ims/conditional-reorg
or, watch the YouTube video:
https://www.youtube.com/watch?v=mf67W8BiOhY
Contacts for additional information on this Update
Dietmar.Lettow@.ca.com