Running Datacom/AD upgrade job AXACTDD2, step DDUPDATE fails with return code 08 (008) INDEX IS FULL in the RESTORE function:
*-----------------------------------------------------------------------------------* * CODE ENTITY-TYPE,OCCURRENCE(VERS,PSWD,OVRD),STATUS,LOCK * * -UPD DATABASE,DDD-DATABASE(PROD,**) ; PROC * * * * FUNCTION DESCRIPTION................. * * 1000 RESTORE,T999 ; PROC * *-----------------------------------------------------------------------------------*
FUNCTION = RESTORE-STRUCTURE ENTITY-TYPE = DATABASE OCCURRENCE = DDD-DATABASE VERSION = PROD TARGET-STATUS = $STR
**** ERROR **** DB RETURN CODE = 08 (008) INDEX IS FULL
Release: 15.1
The error indicates the IXX for the datadictionary database DBID=2 has filled.
First try running a DBUTLTY DEFRAG which will defragment and compress the index and free up some space:
//DEFRAG EXEC PGM=DBUTLTY//STEPLIB DD DISP=SHR,DSN=<hlq>.CUSLIB// DD DISP=SHR,DSN=hlq>.CAAXLOAD//SYSPRINT DD SYSOUT=*//SYSIN DD *DEFRAG DBID=2/*
Then run a DBUTLTY report to see how full it is://SYSIN DD *REPORT AREA=CXX,TYPE=A,DBID=2 /*
If the space utilization is still high, PERCENT FULL is more than 90%, then run DBUTLTY to do a DYNAMIC_EXTEND on the IXX.
For example to increase the size of the IXX by 50 cylinders:
//SYSIN DD * COMM OPTION=CONSOLE,OPTION2='DYNAMIC_EXTEND 002,IXX,50,CYL'/*
Then you can rerun job AXACTDD2.
See documentation section Directory (CXX) Reports, DEFRAG (Defragment Index) and DYNAMIC_EXTEND
Also see article 9503 How to extend a Datacom area while the database is open.