MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

+IAMW22 DD=MHXXX FILE REORGANIZATION RECOMMENDED

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Data Management
View previous topic :: View next topic  
Author Message
ahdee99
Beginner


Joined: 03 Aug 2016
Posts: 3
Topics: 1
Location: Malaysia

PostPosted: Thu Aug 04, 2016 2:04 am    Post subject: +IAMW22 DD=MHXXX FILE REORGANIZATION RECOMMENDED Reply with quote

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 ===>                                                                   
                                                                               
 Catalog name: UCAT.CCS.HK01                                                   
 Dataset name: PCCM.RE98.MHXXX                                               
                                                                               
 General Data:                          Allocate Specifications:               
    Volume serial:          PH11KF        Blocking factor:               4     
    File Type:                            % integrated overflow:         0     
    Device type:              3390        Independent ovfl req:      14200     
    CI Size:                  8192        Prime extension blocks:        0     
    Key length:                 48      Current Allocation:                     
    Key location:                0        Allocated cylinders:       38514     
    Record format:               V        Allocated extents:            67     
    Average record length:     500        AIX - Unique Key:      Upgrade:       
    Maximum record length:     500      Recs currently in overflow: 383394     
    Physical block size:     13682      Prime Records:            58809694     
    Primary cylinders:         299      Inserted Records:           383394     
    Secondary cylinders:      2000      Updated  Records:                0     
                                        Deleted  Records:                0     
 Dataset Date Information:              SMS Class Information:                 
    Creation:           02/08/2016         Storage   :  STNDRD                 
    Expiration:                            Data      :  DC$IAM                 
 

_________________
ahdee99
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12375
Topics: 75
Location: San Jose

PostPosted: Thu Aug 04, 2016 10:26 am    Post subject: Reply with quote

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.

_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ahdee99
Beginner


Joined: 03 Aug 2016
Posts: 3
Topics: 1
Location: Malaysia

PostPosted: Thu Aug 04, 2016 10:06 pm    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12375
Topics: 75
Location: San Jose

PostPosted: Fri Aug 05, 2016 2:46 pm    Post subject: Reply with quote

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
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ahdee99
Beginner


Joined: 03 Aug 2016
Posts: 3
Topics: 1
Location: Malaysia

PostPosted: Mon Aug 08, 2016 4:30 am    Post subject: Reply with quote

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,
Code:

 DELETE PCCM.RE98.MHXXX PURGE CLUSTER                                 
 DEFINE CLUSTER  -                                                     
       ( NAME(PCCM.RE98.MHXXX)                        -                   
        OWNER($IAM)                                   -             
       INDEXED                                        -                   
       KEYS(48,0)                                     -                   
       NOIMBED                                        -                   
       NOREUSE                                        -                   
       NOREPLICATE                                    -                   
       RECORDSIZE(500,500)                            -                   
       SHAREOPTIONS(2,3)                              -                   
       SPEED                                          -                   
       CYL (3000 2000)                                -                   
       VOLUME(PH1138)                                 -                   
           )                                          -                   
   DATA                                               -                   
       ( NAME(PCCM.RE98.MHXXX.DATA)                  -                   
       CONTROLINTERVALSIZE(8192)              -                               
       SHAREOPTIONS(2,3) )                            -                     
   INDEX                                             -                   
       ( NAME(PCCM.RE98.MHXXX.INDEX)                 -                   
       CONTROLINTERVALSIZE(512)               -                               
       SHAREOPTIONS(2,3) )                                             
 

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
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12375
Topics: 75
Location: San Jose

PostPosted: Mon Aug 08, 2016 2:13 pm    Post subject: Reply with quote

ahdee99,

Please check this link which shows how to use code tags

http://www.mvsforums.com/helpboards/viewtopic.php?p=19031#19031

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.

Code:

DELETE PCCM.RE98.MHXXX PURGE CLUSTER                   
DEFINE CLUSTER                                        -
       (NAME(PCCM.RE98.MHXXX)                         -
        OWNER($IAM)                                   -
        INDEXED                                       -
        KEYS(48,0)                                    -
        NOIMBED                                       -
        NOREUSE                                       -
        NOREPLICATE                                   -
        CONTROLINTERVALSIZE(2048)                     -
        FREESPACE(10,5)                               -
        RECORDSIZE(48,500)                            -
        SHAREOPTIONS(2,3)                             -
        SPEED                                         -
        CYL (3000 2000)                               -
        VOLUME(PH1138)                                -
        )                                             -
   DATA                                               -
       (NAME(PCCM.RE98.MHXXX.DATA))                   -
   INDEX
      (NAME(PCCM.RE98.MHXXX.INDEX))                                   


P.S : I would also run another test with CONTROLINTERVALSIZE(18432) and compare the results.
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Data Management All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
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


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group