What can cause a DB002542 NOSPACE error during ROLLFORWARD or ROLLBACK?

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

Introduction: 

During a ROLLFORWARD or ROLLBACK operation the following error is issued:

DB002542 C-7M361: A NOSPace error has occurred 
NO SPACE TABLE 
NOSP ADR...

 

Question: 

What can cause the NOSPACE error and what is the format of the NOSPACE table printed with the message?

 

Answer: 

The NOSPACE condition occurs when CA IDMS tries to apply a record journal image to a database page but it does not fit, there is not enough free space left on the page. The NOSPACE condition is usually caused by a recovery procedural error, when the database backup and archive journals used in the recovery are not synchronized.

The most common causes for this problem are:

  • Running a local mode update job without journaling after a backup is taken.

  • The archive journal for a local mode job is missed during recovery.

  • Missing an IDMS CV archive journal file in the recovery, all journals since the database backup must be included in the recovery.

  • Restoring the wrong version of a database file.

  • A mismatch between the restored database files and the archive journals used for recovery.

  • Doing an index rebuild after a backup is taken.

  • Doing an unload/reload after a backup is taken.

  • Running a FORMAT after a backup is taken.

The NO SPACE table printed with the message contains journal images of the records that do not fit in the database pages, either the BFOR or AFTR journal image.

These are described by the #JTRDS dsect in the CA IDMS DSECT Reference Guide.

The fields of most interest are the dbkey of the record at offset +30 (JTRDBKEY) and the record id at offset +34 (JTRLIID) which will point to the page and area having the problem. You can run a  PRINT PAGE of the page using the dbkey to determine what is currently stored at that line index. You can also run JREPORT 8 selecting on BFOR/AFTR journal records for this dbkey  to see what transactions updated that record.