IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

DFSORT called by DB2 utility (DSNUTILB) abending ICE083A


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
dbecker

New User


Joined: 23 Feb 2009
Posts: 11
Location: Jefferson City MO

PostPosted: Tue Feb 24, 2009 8:23 pm
Reply with quote

Hello, I keep getting the following error within DFSORT...

Code:

ICE143I 0 BLOCKSET     SORT  TECHNIQUE SELECTED                                                                 
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE                           
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 01:39 ON TUE FEB 24, 2009 -                     
            OPTION DYNALLOC=(,32)                                                                               
ICE140I 0 END OF PARAMETERS FROM DFSPARM  - SYSIN OR SORTCNTL/PARAMETER LIST CONTROL STATEMENTS FOLLOW           
          SORT FIELDS=(00006.0,00000.4,A,00012.0,00039.0,A,00001.0,00005.0,A),FOR*                               
                         MAT=BI,FILSZ=E000001384787124                                                           
          RECORD TYPE=F,LENGTH=(0050,0050,0050)                                                                 
          OPTION MSGPRT=ALL,MSGDDN=UTPRINT,MAINSIZE=065536K                                                     
ICE201I E RECORD TYPE IS F - DATA STARTS IN POSITION 1                                                           
ICE083A D RESOURCES WERE UNAVAILABLE FOR DYNAMIC ALLOCATION OF WORK DATA SETS (970C)                             
ICE753I 0 FWK=(0,0) SWK=(0,0) TWK=(0,0) RWK=(0,0) TOTAL=(0,0) BLK=49120                                         
ICE751I 0 C5-K90007 C6-K90007 C7-K90000 C8-K90007 E4-K90007 C9-BASE   E5-K10929 E6-K90000 C4-K90000 E7-K11698   
ICE750I 0 DC 0 TC 0 CS DSVVV KSZ 45 VSZ 45                                                                       
ICE752I 0 FSZ=1384787124 RE  IGN=0 C  AVG=52 0  WSP=93527225 E  DYN=0 49120                                     
ICE052I 3 END OF DFSORT                                                                                         


Below is the JCL I'm running...
Code:

//STEP02    EXEC PGM=DSNUTILB,PARM='DB2D,,RESTART',REGION=150M
//STEPLIB  DD DISP=SHR,DSN=DSN810.SDSNEXIT.DB2D               
//         DD DISP=SHR,DSN=DSN810.SDSNLOAD.DB2D               
//SYSPRINT DD SYSOUT=*                                         
//UTPRINT  DD SYSOUT=*                                         
//DFSPARM DD *                                                 
  OPTION DYNALLOC=(,32)                                       
/*                                                             
//SYSUT1   DD  UNIT=TAPE,DISP=(,PASS),                         
//             VOL=(,,,99)                                     
//SORTOUT  DD  UNIT=TAPE,DISP=(,PASS),                         
//             VOL=(,,,99)                                     
//SYSIN    DD  DISP=SHR,                                       
//             DSN=MMITMMO.MMICCGI1.ALLTBSPC.PUNCH             


There are a large number of records on this table...here is the count from the DSNUTILB utility....

Code:

DSNU304I  -DB2D DSNURWT - (RE)LOAD PHASE STATISTICS - NUMBER OF RECORDS=230797854 FOR TABLE MMITCGTS.MMIT_CLAIM_INDEX 
DSNU1147I -DB2D DSNURWT - (RE)LOAD PHASE STATISTICS - TOTAL NUMBER OF RECORDS LOADED=230797854 FOR TABLESPACE         
MMITTSI1.MMISI001                                                                                                     
DSNU016I    DSNUGSAT - UTILITY BATCH MEMORY EXECUTION ABENDED, REASON=X'0000' CAUSE=X'001C3528'                       
DSNU016I    DSNUGBAC - UTILITY BATCH MEMORY EXECUTION ABENDED, REASON=X'00E40345'                                     


I have tried allocating my own SORTWKxx dd's....I have tried various DYNALLOC options. I can tell you that the dasd storage pool that the SORTWKxx are going to has over 4 million free tracks available which are situated on 3390 mod9' and mod27's. I have even tried to allocate the SORTWKxx to TAPE which is probably not a good thing since it appears this causes DFSORT to not use the BLOCKSET technique. I'd appreciate any help/ideas anyone can provide. icon_confused.gif Thanks!
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Tue Feb 24, 2009 8:58 pm
Reply with quote

I would start by trying to solve:
ICE083A D RESOURCES WERE UNAVAILABLE FOR DYNAMIC ALLOCATION OF WORK DATA SETS (970C)
Back to top
View user's profile Send private message
dbecker

New User


Joined: 23 Feb 2009
Posts: 11
Location: Jefferson City MO

PostPosted: Tue Feb 24, 2009 9:03 pm
Reply with quote

dbzTHEdinosauer wrote:
I would start by trying to solve:
ICE083A D RESOURCES WERE UNAVAILABLE FOR DYNAMIC ALLOCATION OF WORK DATA SETS (970C)


That is the whole reason I posted the question....
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Tue Feb 24, 2009 9:54 pm
Reply with quote

This is the document you need for an explanation of ICI083A

SC26-7525-02, Z/OS DFSORT Messages, Codes and Diagnosis Guide.

you can also find this by using the IBM LOOKAT site at url:
www-03.ibm.com/servers/eserver/zseries/zos/bkserv/lookat/
Back to top
View user's profile Send private message
dbecker

New User


Joined: 23 Feb 2009
Posts: 11
Location: Jefferson City MO

PostPosted: Tue Feb 24, 2009 10:04 pm
Reply with quote

dbzTHEdinosauer wrote:
This is the document you need for an explanation of ICI083A

SC26-7525-02, Z/OS DFSORT Messages, Codes and Diagnosis Guide.

you can also find this by using the IBM LOOKAT site at url:
www-03.ibm.com/servers/eserver/zseries/zos/bkserv/lookat/


Dick,

I have already read and tried everything I can think of. I've exhausted my research capabilities and have tried many suggestions. I'm looking for some straight forward advice now. Just because my tag says new member...I'm not posting without reading manuals and using google to my full ability. I'm thinking something on our setup or the hook into DB2 is incorrect. Frank...if your out there I'd appreciate some advice.
Back to top
View user's profile Send private message
Dave Betten

New User


Joined: 24 Jan 2006
Posts: 26

PostPosted: Tue Feb 24, 2009 11:39 pm
Reply with quote

First let's look at your space requirements. With an lrecl of 50 and FILSZ=E000001384787124 you have total file size of about 64GB. We usually estimate the work space requirement as about 1.3 times the file size so you're looking at around 80GB. That equates to almost 100,000 cylinders. So based on how much free space you have on individual volumes, you can determine how many work data sets you need. If you have a lot of volumes with at least 3000 cyls available, you can probably get by with 32 work data sets.

Now how do we get DFSORT to use 32 work data sets? For a DB2 Utility, you cannot override DYNALLOC via DFSPARM. You need to pass SORTNUM 32 in the utility control statements and this will cause the utility to pass DYNALLOC=(,32) to DFSORT. This is documented in info APAR II14047 which provides a whole bunch of useful information on using DFSORT with DB2 Utilities.

Another thing I would mention about this utility is that I see MAINSIZE=65536K is being passed. This sort would probably benefit from more virtual storage because it's so large. DB2 uses DFSORT's installation default for DSA as the maximum mainsize it will pass. So if you have a number of DB2 utilities with sorts of this magnitude, you should consider having your DFSORT installation default changed from its shipped value of DSA=64 to DSA=128.
Back to top
View user's profile Send private message
dbecker

New User


Joined: 23 Feb 2009
Posts: 11
Location: Jefferson City MO

PostPosted: Wed Feb 25, 2009 12:16 am
Reply with quote

Thanks Dave!

I have 16 volumes in the pool that is being used for the sortwk datasets. This consist of 6 mod27's with 32000 cyl each free and 10 mod9's with around 9000 cyl each free. So should I specify SORTNUM 32 in the utility control statements. I cannot go over 32 as this causes dfsort to not use the blockset technique...correct? With plenty of space in this pool but only 16 volumes....is this an issue for dfsort? There are 5 indexes on this table so that means 5 sorts....does dfsort then take the sortnum times the number of indexes? I really appreciate the help?
Back to top
View user's profile Send private message
Dave Betten

New User


Joined: 24 Jan 2006
Posts: 26

PostPosted: Wed Feb 25, 2009 12:31 am
Reply with quote

I would first try SORTNUM 12. DB2 is going to pass DYNALLOC=(,12) to each of the sorts. If DB2 is able to maximize it's parallelism, I expect we'll have 6 concurrent sorts (1 for the data, 5 for the indexes). So that means we'll spread 72 work data sets across 16 volumes. You could try a smaller sortnum but that means fewer/larger work data sets. I think you have a better chance of them all fitting if we allocate more/smaller data sets. I don't see a way to avoid multiple work data sets on the same volume given the size of this utility and the number of volumes available.

Also, fyi, DFSORT blockset can support up to 255 work data sets. There is no limit of 32 for blockset.
Back to top
View user's profile Send private message
dbecker

New User


Joined: 23 Feb 2009
Posts: 11
Location: Jefferson City MO

PostPosted: Wed Feb 25, 2009 2:52 am
Reply with quote

Dave,

I tried the following JCL as to allocate my own sortwk...
Code:

000013 //STEP02    EXEC PGM=DSNUTILB,PARM='DB2D,,RESTART',REGION=150M
000014 //STEPLIB  DD DISP=SHR,DSN=DSN810.SDSNEXIT.DB2D               
000015 //         DD DISP=SHR,DSN=DSN810.SDSNLOAD.DB2D               
000016 //SYSPRINT DD SYSOUT=*                                         
000017 //UTPRINT  DD SYSOUT=*                                         
000018 //SYSUT1   DD  UNIT=TAPE,DISP=(,PASS),                         
000019 //             VOL=(,,,99)                                     
000020 //SORTOUT  DD  UNIT=TAPE,DISP=(,PASS),                         
000021 //             VOL=(,,,99)                                     
000022 //SORTWK01 DD  UNIT=SYSDA,                                     
000023 //             DISP=(NEW,DELETE),                             
000024 //             SPACE=(CYL,(4350,4350),RLSE)                   
000025 //SORTWK02 DD  UNIT=SYSDA,                                     
000026 //             DISP=(NEW,DELETE),                             
000027 //             SPACE=(CYL,(4350,4350),RLSE)                   
000028 //SORTWK03 DD  UNIT=SYSDA,                                     
000029 //             DISP=(NEW,DELETE),                             
000030 //             SPACE=(CYL,(4350,4350),RLSE)                   
000031 //SORTWK04 DD  UNIT=SYSDA,                                     
000032 //             DISP=(NEW,DELETE),                             
000033 //             SPACE=(CYL,(4350,4350),RLSE)                   
000034 //SORTWK05 DD  UNIT=SYSDA,                                     
000035 //             DISP=(NEW,DELETE),                             
000036 //             SPACE=(CYL,(4350,4350),RLSE)                   
000037 //SORTWK06 DD  UNIT=SYSDA,                                     
000038 //             DISP=(NEW,DELETE),                             
000039 //             SPACE=(CYL,(4350,4350),RLSE)                   
000040 //SORTWK07 DD  UNIT=SYSDA,                                     
000041 //             DISP=(NEW,DELETE),                             
000042 //             SPACE=(CYL,(4350,4350),RLSE)                   
000043 //SORTWK08 DD  UNIT=SYSDA,                                     
000044 //             DISP=(NEW,DELETE),                             
000045 //             SPACE=(CYL,(4350,4350),RLSE)                   
000046 //SORTWK09 DD  UNIT=SYSDA,                                     
000047 //             DISP=(NEW,DELETE),                             
000048 //             SPACE=(CYL,(4350,4350),RLSE)                   
000049 //SORTWK10 DD  UNIT=SYSDA,                                     
000050 //             DISP=(NEW,DELETE),                             
000051 //             SPACE=(CYL,(4350,4350),RLSE)                   
000052 //SYSIN    DD  DISP=SHR,                                       
000053 //             DSN=MMITMMO.MMICCGI1.ALLTBSPC.PUNCH             


I now got this error...ICE046A.
Code:

ICE143I 0 BLOCKSET     SORT  TECHNIQUE SELECTED                                                                     
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE                             
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 15:28 ON TUE FEB 24, 2009 -                         
          SORT FIELDS=(00006.0,00000.4,A,00012.0,00039.0,A,00001.0,00005.0,A),FOR*                                 
                         MAT=BI,FILSZ=E000001384787124                                                             
          RECORD TYPE=F,LENGTH=(0050,0050,0050)                                                                     
          OPTION MSGPRT=ALL,MSGDDN=UTPRINT,MAINSIZE=065536K                                                         
ICE201I E RECORD TYPE IS F - DATA STARTS IN POSITION 1                                                             
ICE751I 0 C5-K90007 C6-K90007 C7-K90000 C8-K90007 E4-K90007 C9-BASE   E5-K10929 E7-K11698                           
ICE193I 0 ICEAM2 ENVIRONMENT IN EFFECT - ICEAM2 INSTALLATION MODULE SELECTED                                       
ICE089I 1 BNIXLOAD.STEP02  .        , INPUT LRECL = 50, TYPE = F                                                   
ICE092I 0 MAIN STORAGE = (67108864,67108864,67108864)                                                               
ICE156I 0 MAIN STORAGE ABOVE 16MB = (66889998,66889998)                                                             
ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=256       
ICE128I 0 OPTIONS: SIZE=67108864,MAXLIM=1048576,MINLIM=450560,EQUALS=N,LIST=Y,ERET=ABEND,MSGDDN=UTPRINT             
ICE129I 0 OPTIONS: VIO=N,RESDNT=NONE,SMF=NO   ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=N             ,ABCODE=MSG
ICE130I 0 OPTIONS: RESALL=0,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=N,STIMER=Y,COBEXIT=COB2               
ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=Y,DSA=0                             
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE    ,EXITCK=S,PARMDDN=DFSPARM ,FSZEST=N       
ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL,DSPSIZE=MAX ,ODMAXBF=0,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX                     
ICE235I 0 OPTIONS: NULLOUT=RC0                                                                                     
ICE750I 0 DC 0 TC 0 CS DSVVV KSZ 45 VSZ 45                                                                         
ICE752I 0 FSZ=1384787124 RE  IGN=0 C  AVG=52 0  WSP=93527225 E  DYN=0 0                                             
ICE046A 0 SORT CAPACITY EXCEEDED - RECORD COUNT 601167357                                                           
ICE751I 1 DE-K10929 D5-K05352 E8-K11698                                                                             
ICE052I 0 END OF DFSORT                                                                                             


I'm going to sub another job and specify as SORTNUM 12 to DB2 and see what happens????
Back to top
View user's profile Send private message
dbecker

New User


Joined: 23 Feb 2009
Posts: 11
Location: Jefferson City MO

PostPosted: Wed Feb 25, 2009 3:03 am
Reply with quote

In the new job that I'm adding the SORTNUM 12 on the db2 control statement I will be removing all the allocated sortwk dd's in my JCL and let DFSORT do whatever it needs....Just wanted to make sure everyong is on the same page.
Back to top
View user's profile Send private message
Dave Betten

New User


Joined: 24 Jan 2006
Posts: 26

PostPosted: Wed Feb 25, 2009 3:17 am
Reply with quote

Can you download the entire sysout (not just the dfsort messages) to a text file and email it to me? My email is betten@us.ibm.com
Back to top
View user's profile Send private message
Dave Betten

New User


Joined: 24 Jan 2006
Posts: 26

PostPosted: Wed Feb 25, 2009 4:03 am
Reply with quote

Earlier we estimated that this sort would need about 100,000 cylinders of work space. You coded 10 SORTWKnn statements all with a primary and secondary allocation of 4350 cylinders. So we started out with 43,500 cylinders of primary space. We received B37 abends on all 10 when trying to obtain additional secondary space. I just realized that's because you can't use more than 64K tracks (about 4369 cylinders) on any of these data sets unless you add DSNTYPE=LARGE to the SORTWKnn dd statements. This will cause them to be allocated as large format and thus be able to use additional space on the MOD9 and MOD27 volumes. DFSORT supports large format and in fact DFSORT's dynamic allocation allocates them that way. But when you use JCL work data sets, you have to specify DSNTYPE=LARGE to get them allocated as large format.

How's the run with SORTNUM 12 going?
Back to top
View user's profile Send private message
dbecker

New User


Joined: 23 Feb 2009
Posts: 11
Location: Jefferson City MO

PostPosted: Wed Feb 25, 2009 4:10 am
Reply with quote

OK..good info to know. The SORTNUM 12 using DFSORT's dynamic allocation is running now. It will take it some time so I'll post the results later tonight or in the morning. Thanks.
Back to top
View user's profile Send private message
dbecker

New User


Joined: 23 Feb 2009
Posts: 11
Location: Jefferson City MO

PostPosted: Wed Feb 25, 2009 6:08 pm
Reply with quote

Dave,

Sent you a couple emails with the sysouts of the last 2 runs. I'm currently running with my own work dsn allocations and have included the DSNTYPE=LARGE on each of those dd's. If you see anything that raises concern on those sysouts please let me know....I'm willing to try about anything at this point. icon_sad.gif Thanks.
Back to top
View user's profile Send private message
dbecker

New User


Joined: 23 Feb 2009
Posts: 11
Location: Jefferson City MO

PostPosted: Wed Feb 25, 2009 6:31 pm
Reply with quote

Dave,

Got your reply on the SORTNUM 12 still not passing DYNALLOC to DFSORT. Will wait to hear more. Thanks.
Back to top
View user's profile Send private message
Dave Betten

New User


Joined: 24 Jan 2006
Posts: 26

PostPosted: Wed Feb 25, 2009 7:02 pm
Reply with quote

Got a reply back from my colleague in DB2 development. According to the DB2 Utility Guide "If you omit SORTDEVT, SORTNUM is ignored" Sorry I was not aware of this. You need to specify

SORTDEVT SYSDA SORTNUM 12

This should cause the sort to use 12 work data sets instead of the default of only 4.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts Modifying Date Format Using DFSORT DFSORT/ICETOOL 9
No new posts Replace Multiple Field values to Othe... DFSORT/ICETOOL 12
No new posts Calling DFSORT from Cobol, using OUTF... DFSORT/ICETOOL 5
No new posts DFsort help with SUM() DFSORT/ICETOOL 12
No new posts REASON 00D70014 in load utility DB2 6
Search our Forums:

Back to Top