Listing duplicated ARCHVOL keys in DISK Datacom FILES DB.
search cancel

Listing duplicated ARCHVOL keys in DISK Datacom FILES DB.

book

Article ID: 188218

calendar_today

Updated On:

Products

Disk Backup and Restore - MVS DISK BACKUP AND RESTORE- ADD-ON OPTIO DISK BACKUP AND RESTORE

Issue/Introduction

Running IXMAINT it can happen to get the following error :

 PET202I USER ABEND(U0100) AT PSW(078D1000 80025C5A).        
 PET206I ABEND OCCURRED AT PGM(ADSDM485.ADSDM485+000D32) EPI(01/15/10 CCUWC50).
 ...
ADSDC195 4371 PERCENT USED: 20% - OF 36,750 TOTAL BLOCKS 7,297 BLOCKS ARE IN USE
ADSDC195 4370 DATABASE 650 (IXX) IS CONTAINED WITHIN HLQ.DCOM.V15R0M0.DISK.IXX650
 ADSDC195 4371 PERCENT USED: 15% - OF 18,000 TOTAL BLOCKS 2,626 BLOCKS ARE IN USE
 ADSUT327 4428 TABLE ERROR FOR TABLE: PRIMARY ARCHVOLS TABLE
 ADSUT327 4429 RC= 4 RSN= 2 INFO= 0
 ADSUT327 4430 MEANING: DUPLICATE KEY ON ADD
 ADSUT327 4428 TABLE ERROR FOR TABLE:
 ADSUT327 4429 RC= 20 RSN= 1 INFO= 1
 ADSUT327 4430 MEANING: TERMINATION FAILED: NO TABLE PRESENT
...

So it will be necessary to run a SQL report against the DISK Datacom Files DB in order to identify these duplicated ARCHVOL Keys.
How to build this report?

Resolution

In the DISK CCUWJCL target library there is a sample member DBQDSI that is delivered during the installation. It provides a sample SQL SELECT that is executed by the DBSQLPR utility and displays the fields in a readable format. 

Sample JCL:

//SQLEXEC EXEC PGM=DBSQLPR                             
//STEPLIB   DD DISP=SHR,DSN=custom.disk.datacom.CUSLIB        
//          DD DISP=SHR,DSN=custom.datacom.CAAXLOAD      
//SYSUDUMP DD  SYSOUT=*                                
//SYSPRINT DD  SYSOUT=*                                
//SNAPER   DD  SYSOUT=*                                
//STDERR   DD  SYSOUT=*                                
//STDOUT   DD  SYSOUT=*                                
//SYSOUT   DD  SYSOUT=*                                
//OPTIONS  DD  *                                       
NOPAGEHDR                                              
AUTHID=SYSADM                                          
STRDELIM=A                                             
PRTWIDTH=1000                                          
rowlimit=1000000                                       
notype                                                 
noecho                                                 
/*                                                     
//SYSIN    DD  *                                       
****************************************                        
*  display duplicated ARCHVOLS         *                        
****************************************                        
SELECT                                                 
  ARVID||ARVNBR as ArcVol,                             
  ARVCOUNT as VolCount,                                
  ARVSEQNO as VolSeq,                                  
  ARVVOLUM as Actual,                                  
  ARVKEYCH as NxtVol,  
  ARVDSNAM as Archive_File_Name                           
       FROM CADISK.archvols_650 A                         
       where 1 <                                          
   (SELECT count(*)                                       
           FROM CADISK.archvols_650 B                     
           WHERE A.ARVID||A.ARVNBR = B.ARVID||B.ARVNBR) ; 
/*