DDLDCSCR file buffer allocation with SCRATCH IN STORAGE NO
search cancel

DDLDCSCR file buffer allocation with SCRATCH IN STORAGE NO

book

Article ID: 233882

calendar_today

Updated On:

Products

IDMS - Database

Issue/Introduction

If an IDMS CV has SCRATCH IN STORAGE NO, (i.e. it is assigned to a physical *.DDLDCSCR area/file in the DMCL), care must be taken with the buffer to which it is allocated.

Environment

Release : All supported releases.
Component : IDMS/DB

Cause

The buffer for the scratch area/file is allocated in an IDMS storage pool, potentially leading to short-on-storage problems or even an abend at startup.

Resolution

If the SysGen SYSTEM Statement has SCRATCH IN STORAGE NO, then scratch records are maintained in the physical SYSTEM.DDLDCSCR area defined in the DMCL.

Even if the buffer to which this file is assigned is also used by normal database files, a special internal copy of the buffer is allocated according to the page size times the smaller of the number of pages defined to the DDLDCSCR area and the MAX pages number defined for the buffer.

Furthermore, this internal buffer is allocated in the IDMS XA storage pool (pool 255) even if it is defined to be in OPSYS storage.

If the scratch file is defined to a large buffer, this can result in unexpected short-on-storage conditions and in extreme cases messages like this and a 3964 abend at startup:

 15.17.09 STC06908  IDMS DC013003 V75 T0 OPENING SYSTEM RUN UNITS
 15.17.09 STC06908  IDMS DC015007 V75 POOL 255: SOS CONDITION 1, SZ=6157824, T=*SYSTEM*, P=*SYSTEM*
 15.17.09 STC06908  IDMS DC015007 V75 POOL 000: SOS CONDITION 1, SZ=6157824, T=*SYSTEM*, P=*SYSTEM*
 15.17.09 STC06908  IDMS DC015001 V75 T0 1EE58F3A TASK:*MASTER* PROG:*SYSTEM*; NUMBER OF BYTES REQUESTED WAS NEGATIVE OR LARGER T
                             STORAGE POOL
 15.17.09 STC06908  +IDI0123S Processing of abend U3964 terminated due to unsupported execution environment: TCB Not protect KEY
                             or 9
 15.17.10 STC06908  IEA995I SYMPTOM DUMP OUTPUT  718
    718               USER COMPLETION CODE=3964

For this reason, it is advised to keep the scratch file allocated to its own buffer and keep the buffer relatively small.

If the scratch requirements of a CV are such that a larger buffer is necessary, then SCRATCH IN STORAGE YES should be used.

Very few IDMS clients are still using SCRATCH IN STORAGE NO.

With the application of PTF LU06248, messages DC045021 and DC045022 are written to the CV joblog. If SCRATCH and its buffer are as described above, the 3964 abend will still occur, but these two new messages on the log will indicate why.