Clean up the DCI MSU database
search cancel

Clean up the DCI MSU database

book

Article ID: 134250

calendar_today

Updated On:

Products

Dynamic Capacity Intelligence

Issue/Introduction

After the size of the DCI MSU DB has reached its limit of 4GB, CA Dynamic Capacity Intelligence Controller issued some error messages:

DCI0999E: ERROR PUT : (0000001C/00000008)

and stopped issuing HMC commands.

 

After some times, Agent job(s) issued:

DCI0999E: AGENT CACHE TABLE IS FULL.

Environment

Release : 2.0

Component : CA DYNAMIC CAPACITY INTELLIGENCE

Cause

The MSU database is full.

Resolution

Important notes!

  • Ensure to plan and perform the MSU database clean-up during non-peak hours or quiet time of the month.
  • The DCI Controller must be shut down before the Job can run
  • The DCI Agents must not be stopped, they can keep on running

 

1) Generate the REPRO FROMKEY value
Use the attached MS-Excel spreadsheet (DCI_Compute_date.xlsx) to generate the REPRO FROMKEY value based on the data you want to keep.

  1. Open the xlsx.
  2. In cell A2, enter the start date from which to extract the data from the current MSU DB and then rebuild the new database. The key is generated into cell C2. Use the generated key in the REPROCL step of the below JCL to extract the data from the DCI MSU DB:

//SYSIN DD *                                                                   
  REPRO -                                                                      
   INFILE(IN) -                                                                
   OUTFILE(TEMP) -                                                             
   FROMKEY(X'nnnnnnnnnnnnnnnn')                                                
/*           

2) Customize the clean-up JCL
Upload to mainframe and customize the attached JCL sample (#DBCLEAN.txt)

  1. Add a valid JOB card
  2. Change $MSUDB$  to the name of your MSU DB cluster
  3. Verify the space definitions if the size fits your needs
  4. Add any required SMS (or volser) card to the STEPCRE step
  5. Copy the value in cell C2 of the MS-Excel spreadsheet in the FROMKEY parameter of step REPROCL

...JOBCARD                                                                     
//********************************************************************         
//* CA DYNAMIC CAPACITY INTELLIGENCE FOR ZSYSTEMS V2.0 GEN 0000                
//* COPYRIGHT (C) 2019 CA. ALL RIGHTS RESERVED.                                
//********************************************************************         
//*------------------------------------------------------------------*         
//* UNLOAD/RECREATE/LOAD DCI MSU DB                                  *         
//* THIS JCL IS BEING PROVIDED TO CLEANUP THE MSU DATABASE                     
//* THE FROMKEY MUST BE CREATED USING THE EXCEL SHEET                          
//* PLEASE READ THE ARTICLE IN THE KNOWLEDGE BASE AT:                          
//* HTTPS://KNOWLEDGE.BROADCOM.COM/EXTERNAL/ARTICLE?ARTICLEID=134250           
//*                                                                            
//* - ADD A JOBCARD                                                            
//*                                                                             
//* - CHANGE  $MSUDB$  TO THE NAME OF YOUR MSU DB CLUSTER                      
//*                                                                            
//* - VERIFY THE SPACE DEFINITIONS IF THE SIZE FITS YOUR NEEDS                  
//*                                                                            
//*------------------------------------------------------------------*         
//* DELETE IF ALREADY EXISTS                      
//*------------------------------------------------------------------*
//DELETE    EXEC PGM=IDCAMS                                          
//SYSPRINT  DD   SYSOUT=*                                             
//SYSIN     DD   *                                                    
  DELETE  $MSUDB$.REPRO NONVSAM PURGE                               
  SET MAXCC=0                                                       
//*------------------------------------------------------------------*
//*    CREATE REPRO FILE                                                        
//*------------------------------------------------------------------*         
//CRETEMP  EXEC PGM=IEFBR14,COND=(0,NE)                                        
//TEMPFILE DD DSN=$MSUDB$.REPRO,                                                
//            DISP=(NEW,CATLG),                                                
//            DCB=(LRECL=4096,RECFM=VB),                                       
//            SPACE=(CYL,(100,100)),                                            
//            UNIT=SYSDA                                                       
//*                                                                            
//*------------------------------------------------------------------*         
//*    REPRO COLLECTOR CLUSTER USING A FROMKEY                                 
//*------------------------------------------------------------------*         
//REPROCL  EXEC PGM=IDCAMS,COND=(0,NE)                                         
//SYSPRINT DD  SYSOUT=*                                                        
//IN       DD  DISP=OLD,                                                       
//             AMP='BUFND=180',                                                
//             DSN=$MSUDB$                                                     
//TEMP     DD  DISP=OLD,                                                       
//             DSN=$MSUDB$.REPRO                                               
//SYSIN DD *                                                                    
  REPRO -                                                                      
   INFILE(IN) -                                                                
   OUTFILE(TEMP) -                                                              
   FROMKEY(X'218BCB0000000000')                                                
/*                                                                             
//*------------------------------------------------------------                
//* SORT REPRO OUTPUT TO AVOID SEQUENCE ERRORS                                 
//*------------------------------------------------------------                
//SORTRP EXEC  PGM=SORT,REGION=0M,PARM='SIZE=MAX'                               
//SORTIN   DD DISP=SHR,DSN=$MSUDB$.REPRO                                       
//SORTOUT  DD DSN=&&REPOUT,                                                    
//            UNIT=SYSDA,DCB=(LRECL=4096,RECFM=VB),                             
//            SPACE=(CYL,(100,100)),                                           
//            DISP=(NEW,PASS)                                                  
//SYSOUT   DD  SYSOUT=*                                                         
//SORTDIAG DD  SYSOUT=*                                                        
//SYSIN    DD  *                                                               
  SORT FIELDS=(1,20,BI,A)                                                      
  SUM FIELDS=NONE                                                              
/*                                                                             
//SORTWK01 DD  UNIT=SYSDA,                                                     
//             SPACE=(CYL,(100,10),RLSE)                                       
//SORTWK02 DD  UNIT=SYSDA,                                                     
//             SPACE=(CYL,(100,10),RLSE)                                       
//*------------------------------------------------------------------*         
//*  DELETE AND RECREATE THE CONTROLLER CLUSTER                                
//*------------------------------------------------------------------*         
//STEPCRE EXEC PGM=IDCAMS,COND=(0,NE)                                           
//SYSPRINT DD SYSOUT=*                                                         
//SYSIN     DD *                                                               
 DELETE ($MSUDB$)                                                              
 SET MAXCC=0                                                                   
 DEFINE CLUSTER -                                                              
   ( -                                                                          
   NAME($MSUDB$) -                                                             
   KEYS(20 0) -                                                                
   SHR (2 3) -                                                                  
   CYL(100 100) -                                                              
   ) -                                                                         
   DATA  ( CISZ (8192) ) -                                                      
   INDEX ( CISZ (4096) )                                                       
/*                                                                             
//*                                                                             
//*------------------------------------------------------------------*         
//*    RELOAD PREVIOUSLY SELECTED DATA                                         
//*------------------------------------------------------------------*         
//RELOAD   EXEC PGM=IDCAMS,COND=(0,NE)                                         
//SYSPRINT DD  SYSOUT=*                                                        
//OUT      DD  DISP=SHR,                                                        
//             AMP='BUFND=180',                                                
//             DSN=$MSUDB$                                                     
//TEMP     DD  DISP=(OLD,DELETE),                                              
//             DSN=&&REPOUT                                                    
//SYSIN DD *                                                                   
  REPRO INFILE(TEMP) OUTFILE(OUT)                                              
/*                                                                              
//*


3) Stop CA Dynamic Capacity Intelligence Controller
Stop CA DCI Controller so that the MSU DB is available for the clean-up process.
Use the following command to stop the controller:
/P CONTROLR
where CONTROLR specifies the controller started task
The controller is stopped. The agents region can be active as they do not access directly the MSU DB. The DCI Agents will buffer the consumption records for a period of time and send the data to the DCI Controller when it is up again.

4) Save the current MSU DB records (Optional)
At this point, the MSU database can be saved, to have a backup file in case of any failure during the cleanup process.

5) Clean Up MSU Database

After CA DCI Controller has been stopped, MSU database is ready to create a copy and clean up the not required data in the data base. Submit the JCL you have previously customized.

6) Restart CA Dynamic Capacity Intelligence Controller
Use the following command to start the controller:
/S CONTROLR
where CONTROLR specifies the controller started task.
The controller is started. The agents re-connect to the Control region. Verify that the connection is re-established

Attachments

1586439487724__DCI_compute_date.xlsx get_app
1586439472540__#DBCLEAN.txt get_app