Joined: 03 Aug 2016 Posts: 3 Topics: 1 Location: Malaysia
Posted: Thu Aug 04, 2016 2:04 am Post subject: +IAMW22 DD=MHXXX FILE REORGANIZATION RECOMMENDED
Hi All,
We have a IAM format file with filesize more than 500K+ tracks and with 5 million+ record. This file is being delete/define (re-org) by a batch job every day. But almost every day, it still prompt out a warning message in batch job stated that '+IAMW22 DD=MHXXX FILE REORGANIZATION RECOMMENDED - OVERFLOW INDEX EXCEEDS 16 MEG'.
Does anyone knows how can I stop this warning message ? Can I just delete/define the file with a larger Primary and Secondary DASD Allocation ? The current allocation is CYL 3000, 2000.
Below is the IAM Dataset Information:-
Code:
File-AID ---------------- IAM Dataset Information ----- MULTI-VOLUME DATASET
COMMAND ===>
Joined: 26 Nov 2002 Posts: 12375 Topics: 75 Location: San Jose
Posted: Thu Aug 04, 2016 10:26 am Post subject:
ahdee99,
Did you look up the message IAMW22 from the manual?
IAM MESSAGES AND CODES wrote:
IAMW22 DD='ddname' FILE REORGANIZATION RECOMMENDED -
Reason: A file reorganization is being recommended for one of the following reasons, as indicated in the message:
[1.] OVERFLOW INDEX EXCEEDS 16 MEG
[2.] OVERFLOW EXCEEDS 1000 CYLINDERS
[3.] EXCEEDED 13 EXTENTS ON SINGLE VOLUME
[4.] EXCEEDED REQUESTED OVERFLOW RECORDS
Return Codes: None.
Action: For reasons 1 and 2, performance on the indicated file may be adversely
affected due to the size of the overflow area. In particular, it may take several minutes to
open the file, and sequential processing may be detrimentally affected. It is therefore
recommended that the file be reorganized at the earliest convenient time to prevent
further performance deterioration. The file can be quickly reorganized with
FDRREORG, or if that product is not available, then use IDCAMS REPRO.
For reason 3, because IAM files have a non-VSAM file structure, they are limited to 16
extents per volume. The file indicated currently has 14 or more extents, so future growth
will be restricted. To prevent an out of space condition, action should be taken at the
earliest possible time. If there is sufficient space for the file to expand on the volume that
it currently resides, either use COMPAKTOR to merge extents, or reorganize the file
doing a DELETE and DEFINE of the data set, specifying a larger space allocation. The
current space allocation values can be determined by performing a Listcat All on the
data set. If the current volume has insufficient space, and you are unable to free up
sufficient space, then the data set should be moved to a different volume, where more
DASD space is available.
For reason 4, the file was defined with an Overflow override, and the file has reached or
exceeded that number of records in extended overflow. Presumably, the override was
provided to indicate when the file should be reorganized. IAM will continue to add
records to extended overflow, provided that IAM is able to obtain sufficient DASD space
to do so.
Joined: 03 Aug 2016 Posts: 3 Topics: 1 Location: Malaysia
Posted: Thu Aug 04, 2016 10:06 pm Post subject:
Yes, i read this IAMW22 message in the manual also. The issue is we perform the file re-org every day using IDCAMS REPRO (in fact we did it in the same batch job prompting the IAMW22 message), but it still show the IAMW22 message almost every day.
In the batch job, step 01 - rename the MHXXX file, step 02 - delete/define MHXXX, step 03 - repro back to MHXXX, step 04 - read/update the MHXXX file using COBOL. Believe that the IAMW22 comes from step 04 when it is reading the MHXXX.
Will increasing the primary/secondary file allocation helps ?
The current allocation is CYL 3000, 2000. _________________ ahdee99
Joined: 26 Nov 2002 Posts: 12375 Topics: 75 Location: San Jose
Posted: Fri Aug 05, 2016 2:46 pm Post subject:
ahdee99 wrote:
Yes, i read this IAMW22 message in the manual also. The issue is we perform the file re-org every day using IDCAMS REPRO (in fact we did it in the same batch job prompting the IAMW22 message), but it still show the IAMW22 message almost every day.
In the batch job, step 01 - rename the MHXXX file, step 02 - delete/define MHXXX, step 03 - repro back to MHXXX, step 04 - read/update the MHXXX file using COBOL. Believe that the IAMW22 comes from step 04 when it is reading the MHXXX.
Will increasing the primary/secondary file allocation helps ?
The current allocation is CYL 3000, 2000.
ahdee99,
I looked into this issue more and I think I see a few problems.
You have defined the dataset as Variable but then min and max lrecls are the same.
Code:
Record format: V
Average record length: 500
Maximum record length: 500
So there is nothing variable in this case. So you better define it as fixed.
Secondly the issue seems to be mostly due to the fact that you are inserting records.
Code:
Recs currently in overflow: 383394
Prime Records: 58809694
Inserted Records: 383394
The number of inserted records are exactly the same as the number of records in overflow.
So try this method and see if you can over come the issue.
Step 1 : REPRO your MHXXX file to a sequential file
Step 2 : Delete the MHXXX file
Step 3 : Redefine the MHXXX file as fixed with same space allocations.
Step 4 : Change your COBOL program to write the new INSERTS/updates/deletes to a sequential file
Step 5: Concatenate the STEP1 and STEP4 sequential datasets and SORT on the KEY value (1,48,CH,A),EQUALS and eliminate Duplicates(SUM FIELDS=NONE).
STEP 6: Now REPRO the output from step 5 on to your MHXXX file. _________________ Kolusu
www.linkedin.com/in/kolusu
Joined: 03 Aug 2016 Posts: 3 Topics: 1 Location: Malaysia
Posted: Mon Aug 08, 2016 4:30 am Post subject:
Kolusu,
Thanks for your advice.
But just wonder, can we define IAM file in fixed length ?
As so far, we never specify the IAM file whether it is in fixed or variable length, as by default it will be automatically allocated as variable length.
FYI, currently we delete/define the MHXXX file daily with the below parameters,
Other than the Step 1 to Step 6 suggested by you, will it helps if we include the 'FREESPACE' parameter in the delete/define MHXXX ? _________________ ahdee99
I have been adding the code tags to your posts, so that they are readable.
Either way apart from 6 step approach you can try the following.
with your LRECL you are better off with a with CI size of 2048 instead of 8192, by doing so your space required will come down to 28,889 cylinders where as you had it at 38514 cylinders. Also if I changed the RECORDSIZE to (48 500) the size came down to 2770 cylinders which is a reduction of almost 138% Even with 500 min size there is a decrease in space used. The key is having CI size at 2048.
Also I moved the CI size to the cluster instead of data and index. Also I added the Freespace parameter.
So for testing purpose, I would simply define another vsam dataset as shown below and then REPRO your MHXXX file on to it and then compare them both. The comparison should be for both data and as well space attributes.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum