IDMS Startup receives DC205020 DBIO GETMAIN ERR SIZE=00D0D message
search cancel

IDMS Startup receives DC205020 DBIO GETMAIN ERR SIZE=00D0D message

book

Article ID: 52828

calendar_today

Updated On:

Products

IDMS IDMS - Database

Issue/Introduction

IDMS Startup receives DC205020 DBIO GETMAIN ERR SIZE=00D0D followed by the DC205019, DC205032 and DC205029 messages after IDMS upgrade.

How can these GETMAIN messages be interpreted and how to resolve them?

Environment

Release: All supported releases.
Component: CA-IDMS

Cause

These DC205020/DC205019 messages were added for IDMS release 15.0 to issue a warning when a #GETSTG/GETMAIN failed during buffer allocation. This is only a warning, no abend occurs.

Although these messages are only a warning, there might be an impact on performance.

For example, if during buffer allocation, we run into storage problems due to opsys limits, the buffer will be opened, but it may not be totally allocated in 31-bit storage, it may cause CV system storage pools to be full or it may allocate the buffer with fewer pages than defined in the DMCL.

To warn users of IDMS about this, the DC205020/DC205019 messages were added.

Since IDMS release 15.0, these messages have been expanded to clarify the reason for the GETMAIN failure.

DC205032 was added in r19.0 by APAR SO04477 and in r18.5 by APAR SO04650.

DC205020 V26 T4461 DBIO GETMAIN ERR RC=0004 SIZE=00D0D
DC205019 V26 T4461 IOSTATUS=0000 VERB=001 ERRSW=004 MOD
DC205029 V26 T1 Unable to allocate Buffer in OPSYS subpool. Try IDMS Storage pools

The DC205029 means that it's trying to allocate Database Buffer within operating system storage, the allocation failed, so it then tries to allocate the buffer within the IDMS storage pools.

When the buffers are opening at startup, GETMAINs are issued. If a GETMAIN fails, these messages are produced.

IDMS will then try to allocate the buffers in smaller increments.

If there are OPSYS limits in place or if the buffer definitions are too large for the available 31-bit storage, the opsys may allocate part of the buffers in 24-bit storage which could cause possible abends like S878 or S80A, and/or IDMS may try to allocate part of the buffers in IDMS system Storage pools (pool 255 and pool 0) which can cause various performance problems related to Short on Storage conditions.

Resolution

To resolve this problem; specify REGION=0M on the IDMS Startup EXEC statement:

// IDMSDC EXEC PGM=IDMSDC,REGION=0M,
// PARM=('S=50,DMCL=IDMSDMCL,FSTG=1200,MT=Y'

Opsys limits are implemented with exits - like IEALIMIT or IEFUSI within SYS1.PARMLIB for the amount of storage a program can obtain.

REGION=0M should override the exits.

Additional Information

How the Startup Routine Acquires Storage
DCMT DISPLAY BUFFER Command