During operations the ENF started task displays messages of table full and CAS9316E insert failed rc(-258), CAS9208E SQLCODE=-258.
search cancel

During operations the ENF started task displays messages of table full and CAS9316E insert failed rc(-258), CAS9208E SQLCODE=-258.

book

Article ID: 50629

calendar_today

Updated On:

Products

Datacom COMMON SERVICES FOR Z/OS 90S SERVICES Common Services Datacom/AD

Issue/Introduction

During ENF operations you receive the following messages:

DATACOME:DB02406I - PXX END - EXTEND FAILURE DUE TO X37 ABEN
DDATACOME:DB01702I - DYNAMIC EXTEND OF AREA ENF00700 HAS FAILED
CAS9316E - STEPTERM "Insert " failed - rc(-258) r/s(X'F5F7E2F0F6').
CAS9340I - TABLE FULL - DBID=700 INTERNAL NAME B22 .
*CAS9208E - CA-ENF DB: DB Insert error SQLCODE=-258 SQLSTATE=57S06
CAS9303E - Event STEPTERM no longer recorded due to DB error 0008...

There will potentially follow more messages of errors for other events being recorded.

While new records will not be recorded to the database during this time, the CA applications "listening" for these events will continue to run without any problems as they get the event information before any attempt is made to write to the database. The only impact to these applications is if they were to shutdown, they would be unable to recover events (checkpoint) from the database during the timeframe that event recording stopped.

If this situation is experienced it is time to check that an ARCHIVE is being done on a regular base. Check the ENFPARM parameter file for the ARCHIVE control option. During the ARCHIVE process, expired events will be deleted from the ENF database. Events expire based on the Retention Period (RP) set for the individual events. If a retention period is not set for the individual event, it will use the value specified on the DETAIL control option in the ENFPARM parameter file.

If the ARCHIVE is successfully running each day, then it could be the ENF database is to small for the number of event records being recorded. If possible, use SELECT statements to filter events to be written. Information on the SELECT control option (and all ENF control options) can be found in the CA Common Services Reference Guide.

If there have been no problems with previous ARCHIVE processing, and you cannot further filter the number of events being recorded, you will need to increase the ENF database.

To temporarily free up space in the database, you may decide to PURGE events until you have the opportunity to increase the size of the database. This can be done dynamically using console command:

ENF PURGE(event_name)

This command will purge all events for the selected event_name no matter how old the event is. It is recommended that a highly recorded event be selected to gain back the most space. What event depends on what is being recorded? A couple of common examples are: DSCLOSE and STEPTERM.

 

Environment

Common Services-for z/OS 14.1 or 15.0
Component: CAIENF

Resolution

Following are the steps to check if the database is really full and how to increase the size of the ENF database.

To check if the ENF database is full, run the DBUTLTY CXX report. This is setup to run with the MUF active.
Sample JCL available in CA Common Services CAW0JCL library, member CADB006.

//*insert valid Jobcard//*
//DBUTL EXEC PGM=DBUTLTY,REGION=4M
//STEPLIB DD DISP=SHR,DSN=your Datacom/AD .CUSLIB, <=== change
//                DD DISP=SHR,DSN=your Datacom/AD .CAAXLOAD, <=== change
//*
//CXX        DD DISP=SHR,DSN=<your Datacom/AD .CXX, <=== change
//SYSIN DD *
COMM OPTION=STATS,DBID=700
REPORT AREA=CXX,DBID=700
/*

 

Look at the tables for the fields:

BLOCKS IN USE   
BLOCKS UNUSED   
TOTAL BLOCKS

If the BLOCKS UNUSED is 0, the area is full  and the ENF database needs to be increased.

 

Here are the steps to increase the size if the ENF database is full:

1. Stop your CA products that use ENF for recording 

2. Stop ENF. If running with an external Datacom Multi-User (MUF), shutdown the MUF. 

3. Run DBUTLTY to backup the ENF database 

//*insert valid Jobcard
//*
//*//DBUTL EXEC PGM=DBUTLTY,REGION=4M
//STEPLIB DD DISP=SHR,DSN=your Datacom/AD.CUSLIB, <=== change
//                DD DISP=SHR,DSN=your Datacom/AD.CAAXLOAD, <=== change
//*
//BKUP700 DD DISP=(NEW,CATLG,DELETE),DSN=the backup data set name,SPACE=(CYL,(300,150),RLSE),   <=== change 
//   UNIT=3390,STORCLAS=xxxx <=== change
//*
//CXX DD DISP=SHR,DSN=your ENF Datacom MUF CXX data set name <=== change
//*
//SYSIN DD *
SET OPTION1=MUF_NOT_ENABLED
BACKUP DBID=700,DDNAME=BKUP700,SEQ=NATIVE
/*

Make sure the backup ran fine - check the sysout

4.Rename existing ENF database file

//*insert valid Jobcard
//*
//*//RENAME EXEC PGM=IDCAMS
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSMDUMP DD SYSOUT=*
//SYSIN DD *
ALTER Your filename.ENF0700 -
NEWNAME(Your filename.ENF0700.OLD)
/*

5. Run DBUTLTY using below sysin cards to allocate/load/restore the new ENF database

//*insert valid Jobcard
//*
//DBUTL EXEC PGM=DBUTLTY,REGION=4M
//STEPLIB DD DISP=SHR,DSN=your Datacom/AD .CUSLIB, <=== change
// DD DISP=SHR,DSN=your Datacom/AD .CAAXLOAD, <=== change
//*
//BKUP700 DD DISP=SHR,DSN=the backup data set name <=== change
//*
//ENF700 DD DSN=.ENF0700,DISP=(NEW,CATLG), <=== change
//   SPACE=(CYL,()),UNIT=,VOL=SER=xxxxxx <=== change
//CXX DD DISP=SHR,DSN=your ENF Datacom/AD.CXX, <=== change
//SYSIN DD * 
SET OPTION1=MUF_NOT_ENABLED 
INIT DBID=700,AREA=IXX 
INIT DBID=700,AREA=ENF
LOAD DBID=700,DDNAME=BKUP700,FORMAT=BACKUP,SORT=99999,OPTIMIZE=YES
/*

6. Start ENF (and the MUF if running with external MUF)

7. Start CA products using ENF

If any problems occur during this process, contact CA Support and provide output from each step.

Additional Information

This information now exists in the documentation and can be found here...

Manage ENF Database Full Conditions