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

Document ID : KB000050629
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

During ENF operations you receive the following messages:

DATACOME:DB02406I - PXX END - EXTEND FAILURE DUE TO X37 ABENDDATACOME:DB01702I - DYNAMIC EXTEND OF AREA ENF00700 HAS FAILEDCAS9316E - 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=57S06CAS9303E - Event STEPTERM no longer recorded due to DB error 0008...

There will 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.

Solution:

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.

//*insert valid Jobcard//*//DBUTL EXEC PGM=DBUTLTY,REGION=4M//STEPLIB DD DSN=<db prefix>.CUSLIB, <=== change// DISP=SHR// DD DSN=<db prefix>.CAILIB, <=== change// DISP=SHR//CXX DD DSN=<datacom prefix>.CXX, <=== change// DISP=SHR//SYSIN DD *COMM OPTION=STATS,DBID=700REPORT AREA=CXX,DBID=700/*

Look at the tables for the fields:

BLOCKS IN USEBLOCKS UNUSED TOTAL BLOCKS

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

Here the steps to increase the size if the ENF database:

  1. Stop your CA products using ENF for recording

  2. Stop ENF. If running with an external MUF, shutdown the MUF.

  3. Run DBUTLTY to backup the ENF database

    1. Use the JCL below when running Datacom/AD r12.0
    2. When running Datacom/AD v14.0 include the following statement as first statement in the SYSIN DD cards:
      SET OPTION1=MUF_NOT_ENABLED
    //*insert valid Jobcard//*//DBUTL EXEC PGM=DBUTLTY,REGION=4M//STEPLIB DD DSN=.CUSLIB,           <=== change//           DISP=SHR//        DD DSN=.CAILIB,            <=== change//           DISP=SHR//BKUP700 DD DSN=,      <=== change//           DISP=(NEW,CATLG,DELETE)//CXX     DD DSN=.CXX,         <=== change//           DISP=SHR//SYSIN DD *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

    1. Use the JCL below when running Datacom/AD r12.0
    2. When running Datacom/AD v14.0 include the following statement as first statement in the SYSIN DD cards :
      SET OPTION1=MUF_NOT_ENABLED
    //*insert valid Jobcard//*//DBUTL EXEC PGM=DBUTLTY,REGION=4M//STEPLIB DD DSN=.CUSLIB,           <=== change//           DISP=SHR//        DD DSN=.CAILIB,           <=== change//           DISP=SHR//BKUP700 DD DSN=,      <=== change//           DISP=SHR//ENF700  DD DSN=.ENF0700,DISP=(NEW,CATLG), //           SPACE=(CYL,()),UNIT=,VOL=SER= //CXX     DD DSN=.CXX,         <=== change//           DISP=SHR//SYSIN DD *INIT DBID=700,AREA=IXXINIT DBID=700,AREA=ENFLOAD 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.