Example 16 — Using dynamic allocation
This example illustrates using output descriptors to dynamically allocate primary and secondary unload data sets.
You can specify output descriptors that have a suffix with a number that corresponds to each individual partition, as you can do with DD statements for data sets that you allocate in your JCL when you use a single SELECT statement to unload a partitioned table space. UNLOAD PLUS supports a separate dynamically allocated data set with unique allocation parameters for each partition.
This example uses the nonsuffixed output descriptor BACKUP with a DSNAME pattern that specifies the &PART substitution variable to allocate the secondary unload data set (BACKUP). UNLOAD PLUS can use the &PART variable to generate secondary unload data sets by partition.
The SYSPRINT shows that UNLOAD PLUS generates Db2 LOAD control cards by default (because the job does not include a CNTLCARDS option, but the JCL includes a SYSCNTL DD statement).
Message 50041I indicates the status of zIIP processing. For this example, the ZIIP installation option is ENABLED, but an XBM subsystem was not specified. UNLOAD PLUS automatically located an available XBM subsystem to provide zIIP processing.
The following table describes the key command options for this job:
Command options used in JCL | Description |
---|---|
OUTPUT SYSRECnn | Specifies the dynamic allocation options for the primary unload data set for partitions one through four These OUTPUT statements provide the dynamic allocation options for the output data sets. |
OUTPUT BACKUP | Specifies the dynamic allocation options for the secondary unload data set for all partitions |
DSNAME ADU.EXAMPL16.BKUP.P&PART | Specifies the data set name or data set name pattern for the dynamically allocated unload data sets. ADU.EXAMPL16.BKUP.P&PART specifies the data set name pattern for the BACKUP output descriptor, which is assigned to the secondary unload file. Because the number of dynamically allocated secondary data sets must match the number of primary data sets, UNLOAD PLUS requires the &PART variable for allocating individual data sets for each partition. |
UNLOADDN SYSREC, BACKUP | Specifies the output descriptor names to match to the OUTPUT statements for the primary and secondary unload data sets |
ACTIVE (YES,YES) | Tells UNLOAD PLUS to dynamically allocate both the primary and secondary unload data sets |
ANALYZE DB2STATS | Tells UNLOAD PLUS to use statistical information from the Db2 catalog to estimate the number of rows for a specific table and partition |
SELECT * | Unloads all columns |
INTO | Specifies names and characteristics of output fields |
FROM | Names the table to unload |
The following figure shows the JCL for example 16:
//UNLOAD16 EXEC PGM=ADUUMAIN,REGION=0M,
// PARM=(DEHJ,'ADUXM16','NEW ',,'MSGLEVEL(1)')
//*********************************************************************
//STEPLIB DD DISP=SHR,DSN=<product.libraries>
// DD DISP=SHR,DSN=DB2.DSNEXIT
// DD DISP=SHR,DSN=DB2.DSNLOAD
//SYSIN DD *
*
UNLOAD
OUTPUT SYSREC01 UNIT SYSDA
SPACE (5,1)
DSNAME 'ADU.EXAMPL16.SYSREC01'
OUTPUT SYSREC02 UNIT SYSDA
SPACE (5,1)
DSNAME 'ADU.EXAMPL16.SYSREC02'
OUTPUT SYSREC03 UNIT SYSDA
SPACE (3,1)
DSNAME 'ADU.EXAMPL16.SYSREC03'
OUTPUT SYSREC04 UNIT SYSDA
SPACE (3,1)
DSNAME 'ADU.EXAMPL16.SYSREC04'
OUTPUT BACKUP UNIT SYSDA
SPACE (5,1)
DSNAME 'ADU.EXAMPL16.BKUP.P&PART'
*
UNLOADDN SYSREC,BACKUP ACTIVE(YES, YES)
ANALYZE DB2STATS
*
SELECT * INTO
EMPL_ID DECIMAL EXTERNAL (5,0),
,
,
,
JOB_CODE SMALLINT EXTERNAL (2,0),
,
SALARY DECIMAL EXTERNAL (9,2),
,
,
,
,
FROM BMC.EMPLS
*
//SYSCNTL DD DSN=ADU.EXAMPL16.SYSCNTL,DISP=(NEW,CATLG),
// UNIT=SYSDA,SPACE=(CYL,(3,1),RLSE)
//SYSPRINT DD SYSOUT=*
SYSPRINT for example 16
The following figure shows the SYSPRINT for example 16:
(C) COPYRIGHT 1991 - 2013 BMC SOFTWARE, INC.
BMC50001I UTILITY EXECUTION STARTING 10/28/2013 13:15:32 ...
BMC50002I UTILITY ID = 'ADUXM16'. DB2 SUBSYSTEM ID = 'DEHJ'. OPTION MODULE = 'ADU$OPTS'.
BMC50471I z/OS 2.1.0,PID=HBB7790,DFSMS FOR Z/OS=2.1.0,DB2=11.1.0
BMC50471I REGION=0M,BELOW 16M=8844K,ABOVE 16M=1415044K,IEFUSI=NO,CPUS=3
BMC50471I MEMLIMIT=17592186040320M,AVAILABLE=17592186040313M,MEMLIMIT SET BY:REGION=0
BMC50471I UNLOAD PLUS FOR DB2--V11.01.00
BMC50471I NO MAINTENANCE TO REPORT
BMC50471I DB2 UTILITIES COMMON CODE--V11.01.00
BMC50471I NO MAINTENANCE TO REPORT
BMC50471I SOLUTION COMMON CODE--V11.01.00
BMC50471I MAINT: BPJ0661 BPJ0667 BPJ0671 BPJ0674 BPJ0675 BPJ0676 BPJ0682 BPJ0686 BPJ0689 BPJ0697
BMC50471I BMCSORT ENGINE--V02.04.01
BMC50471I MAINT: BPJ0691
BMC50471I BMC STATS API--V11.01.00
BMC50471I MAINT: BPU5409 BPU5534 BPU5674
BMC50471I EXTENDED BUFFER MANAGER--V06.01.00
BMC50471I MAINT: BPE0401 BPE0403 BPE0405 BPE0407 BPE0410 BPE0412 BPE0416
BMC50471I ANALYZE=(DB2STATS,NOLIMIT) FORCE_RPT=NO SMAX=16
BMC50471I CENTURY=(1950,2049) FORCE=NONE SMCORE=(0K,0K)
BMC50471I CHANGE_CONSISTENT=NO HISTORY=YES SORTNUM=32
BMC50471I CHANGE_QUIESCE=NO IBUFFS=25 SQLDELAY=3
BMC50471I CMAX=16 INLINE=NO SQLRETRY=100
BMC50471I CMRATIO=50 LOADDECP=NO TAPEDISP=DELETE
BMC50471I CONSTRULES=BMC LOCKROW=YES TASKMAX=200%
BMC50471I CURRENTDEGREE=NONE MAXP=5 UBUFFS=25
BMC50471I DELFILES=YES MSGLEVEL=1 UNLDMAX=200%
BMC50471I DRNDELAY=1 NULLCHAR=X'6F' UNLOADDN_ACTIVE=(YES,NO)
BMC50471I DRNRETRY=255 NULLTYPE=T1 UNLOADDN=(SYSREC,SYSRED)
BMC50471I DRNWAIT=NONE OPNDB2ID=YES USELRECL=NO
BMC50471I DSPLOCKS=DRNFAIL PLAN=ADUQA UXSTATE=SUP
BMC50471I EXCLDUMP=(X37,X22,X06) RECFM=AUTO WORKUNIT=SYSALLDA
BMC50471I FILEREFDN=SYSREF ROWSETSZ=100 ZIIP=ENABLED
BMC50471I FILL=NO SDUMP=YES ZONEDDECOVP=(C,D)
BMC50471I FORCE_AT=(START,3) SHRLEVEL=REFERENCE
BMC50471I TAPES=NONE
BMC50470I OUTPUT = SYSREC SYSRED SYSREF
BMC50470I UNIT = SYSALLDA SYSALLDA SYSALLDA
BMC50470I VOLCNT = 25 25 25
BMC50470I GDGLIMIT = 5 5 5
BMC50470I GDGEMPTY = NO NO NO
BMC50470I GDGSCRAT = NO NO NO
BMC50470I STORCLAS = NONE NONE NONE
BMC50470I DATACLAS = NONE NONE NONE
BMC50470I MGMTCLAS = NONE NONE NONE
BMC50470I UNITCNT = 0 0 0
BMC50470I SPACE = CYL CYL CYL
BMC50470I PCTPRIM = AUTO AUTO AUTO
BMC50470I MAXPRIM = 0 0 0
BMC50470I MAXSECD = 0 0 0
BMC50470I FILESZPCT 100 100 100
BMC50470I NBRSECD = AUTO AUTO AUTO
BMC50470I DISKRETN = NONE NONE NONE
BMC50470I DISKEXPD = NONE NONE NONE
BMC50470I RETPD = NONE NONE NONE
BMC50470I EXPDT = 99000 99000 99000
BMC50470I TRTCH = NONE NONE NONE
BMC50470I DSNTYPE = NONE NONE PDS
BMC50483I SYSREC VOLUMES=NONE
BMC50483I SYSRED VOLUMES=NONE
BMC50483I SYSREF VOLUMES=NONE
BMC50483I SYSREC DSNAME=&USERID.&TYPE.S&SELNUM
BMC50483I SYSRED DSNAME=&USERID.&TYPE.S&SELNUM
BMC50483I SYSREF DSNAME=&USERID.BMC
BMC50471I DB2 DSNHDECP MODULE SETTINGS:
BMC50471I VERSION = 1110
BMC50471I SUBSYSTEM DEFAULT = DEHJ
BMC50471I CHARACTER SET = ALPHANUM
BMC50471I DATE FORMAT = USA
BMC50471I TIME FORMAT = USA
BMC50471I LOCAL DATE LENGTH = 0
BMC50471I LOCAL TIME LENGTH = 0
BMC50471I DECIMAL POINT = PERIOD
BMC50471I DECIMAL ARITHMETIC = 15
BMC50471I DELIMITER = DEFAULT
BMC50471I SQL DELIMITER = DEFAULT
BMC50471I ENCODING SCHEME = EBCDIC
BMC50471I APPL. ENCODING SCHEME = EBCDIC
BMC50471I MIXED = NO
BMC50471I EBCDIC CCSID = (37,65534,65534)
BMC50471I ASCII CCSID = (819,65534,65534)
BMC50471I UNICODE CCSID = (367,1208,1200)
BMC50471I IMPLICIT TIME ZONE = CURRENT (-05:00)
BMC50028I DB2 MODE = NFM
BMC50471I BMC_BMCUTIL ='BMCUTIL.CMN_BMCUTIL'
BMC50471I BMC_BMCSYNC ='BMCUTIL.CMN_BMCSYNC'
BMC50471I BMC_BMCHIST ='BMCUTIL.CMN_BMCHIST'
BMC50471I BMC_BMCXCOPY ='BMCUTIL.CMN_BMCXCOPY'
BMC50102I *
BMC50102I UNLOAD
BMC50102I OUTPUT SYSREC01 UNIT SYSDA
BMC50102I SPACE (5,1)
BMC50102I DSNAME 'ADU.EXAMPL16.SYSREC01'
BMC50102I OUTPUT SYSREC02 UNIT SYSDA
BMC50102I SPACE (5,1)
BMC50102I DSNAME 'ADU.EXAMPL16.SYSREC02'
BMC50102I OUTPUT SYSREC03 UNIT SYSDA
BMC50102I SPACE (3,1)
BMC50102I DSNAME 'ADU.EXAMPL16.SYSREC03'
BMC50102I OUTPUT SYSREC04 UNIT SYSDA
BMC50102I SPACE (3,1)
BMC50102I DSNAME 'ADU.EXAMPL16.SYSREC04'
BMC50102I OUTPUT BACKUP UNIT SYSDA
BMC50102I SPACE (5,1)
BMC50102I DSNAME 'ADU.EXAMPL16.BKUP.P&PART'
BMC50102I *
BMC50102I UNLOADDN SYSREC,BACKUP ACTIVE(YES, YES)
BMC50102I ANALYZE DB2STATS
BMC50102I *
BMC50102I SELECT * INTO
BMC50102I EMPL_ID DECIMAL EXTERNAL (5,0),
BMC50102I ,
BMC50102I ,
BMC50102I ,
BMC50102I JOB_CODE SMALLINT EXTERNAL (2,0),
BMC50102I ,
BMC50102I SALARY DECIMAL EXTERNAL (9,2),
BMC50102I ,
BMC50102I ,
BMC50102I ,
BMC50102I ,
BMC50102I FROM BMC.EMPLS
BMC50102I *
BMC51654I DIRECT YES IN EFFECT
BMC51687I ESTIMATED ROWS FOR TABLE SPACE BMCEXDB.BMCEXATS PART 1 IS 8 FROM DB2STATS
BMC51687I ESTIMATED ROWS FOR TABLE SPACE BMCEXDB.BMCEXATS PART 2 IS 5 FROM DB2STATS
BMC51687I ESTIMATED ROWS FOR TABLE SPACE BMCEXDB.BMCEXATS PART 3 IS 5 FROM DB2STATS
BMC51687I ESTIMATED ROWS FOR TABLE SPACE BMCEXDB.BMCEXATS PART 4 IS 2 FROM DB2STATS
BMC51688I ESTIMATED ROWS FOR TABLE BMC.EMPLS IS 20 FROM DB2STATS
BMC51689I ESTIMATED ROWS FOR SELECT 1 IS 20
BMC50004I UTILINIT PHASE COMPLETE. ELAPSED TIME = 00:00:00
BMC50445I UNLOAD PLUS DYNAMIC FILE ALLOCATION REPORT
BMC50446I UNIT OR KBYTES KBYTES ALOC ALOC
BMC50447I DDNAME DSNAME DATACLAS MGMTCLAS STORCLAS PRI SEC PRI SEC
BMC50448I SYS00002 ADU.EXAMPL16.SYSREC01 SYSDA 0 0 5 1 CYL
BMC50448I SYS00003 ADU.EXAMPL16.SYSREC02 SYSDA 0 0 5 1 CYL
BMC50448I SYS00004 ADU.EXAMPL16.SYSREC03 SYSDA 0 0 3 1 CYL
BMC50448I SYS00005 ADU.EXAMPL16.SYSREC04 SYSDA 0 0 3 1 CYL
BMC50448I SYS00006 ADU.EXAMPL16.BKUP.P001 SYSDA 0 0 5 1 CYL
BMC50448I SYS00007 ADU.EXAMPL16.BKUP.P002 SYSDA 0 0 5 1 CYL
BMC50448I SYS00008 ADU.EXAMPL16.BKUP.P003 SYSDA 0 0 5 1 CYL
BMC50448I SYS00009 ADU.EXAMPL16.BKUP.P004 SYSDA 0 0 5 1 CYL
BMC51639I FOR DDNAME 'SYS00002' DSN=ADU.EXAMPL16.SYSREC01,DCB=(RECFM=VB,BLKSIZE=27993,LRECL=117)
BMC51639I FOR DDNAME 'SYS00006' DSN=ADU.EXAMPL16.BKUP.P001,DCB=(RECFM=VB,BLKSIZE=27993,LRECL=117)
BMC51639I FOR DDNAME 'SYS00003' DSN=ADU.EXAMPL16.SYSREC02,DCB=(RECFM=VB,BLKSIZE=27993,LRECL=117)
BMC51639I FOR DDNAME 'SYS00007' DSN=ADU.EXAMPL16.BKUP.P002,DCB=(RECFM=VB,BLKSIZE=27993,LRECL=117)
BMC51639I FOR DDNAME 'SYS00004' DSN=ADU.EXAMPL16.SYSREC03,DCB=(RECFM=VB,BLKSIZE=27993,LRECL=117)
BMC51639I FOR DDNAME 'SYS00008' DSN=ADU.EXAMPL16.BKUP.P003,DCB=(RECFM=VB,BLKSIZE=27993,LRECL=117)
BMC51639I FOR DDNAME 'SYS00005' DSN=ADU.EXAMPL16.SYSREC04,DCB=(RECFM=VB,BLKSIZE=27993,LRECL=117)
BMC51639I FOR DDNAME 'SYS00009' DSN=ADU.EXAMPL16.BKUP.P004,DCB=(RECFM=VB,BLKSIZE=27993,LRECL=117)
BMC50894I PAGE EXTERNALIZATION PROCESS STARTING AT 10/28/2013 13:15:33
BMC50650I ESTABLISHING A POINT OF CONSISTENCY FOR:
BMC50651I SPACE BMCEXDB.BMCEXATS PART(0) PSID(0002)
BMC50895I PAGE EXTERNALIZATION PROCESS COMPLETE. ELAPSED TIME = 00:00:00
BMC50041I 0: ZIIP ENABLED (0) USING XBM SUBSYSTEM XBMB
BMC50474I BELOW 16M = 8392K, ABOVE 16M = 1405476K, CPUS = 3
BMC51701I MAX TASKS = 4, MAX PARTITIONS PER TASK = 1, SORTWKS PER TASK = 0, MAX OPEN PARTITIONS PER TASK = 1
BMC50477I 1: PARTITION = 1, ROWS/KEYS = 8, I/O WAITS = 2 ,DDNAME = SYS00011
BMC50477I 3: PARTITION = 3, ROWS/KEYS = 5, I/O WAITS = 2 ,DDNAME = SYS00010
BMC50478I 1: RDB LOCK WAITS = 0
BMC50477I 4: PARTITION = 4, ROWS/KEYS = 2, I/O WAITS = 2 ,DDNAME = SYS00013
BMC50478I 4: RDB LOCK WAITS = 0
BMC50478I 3: RDB LOCK WAITS = 0
BMC50477I 2: PARTITION = 2, ROWS/KEYS = 5, I/O WAITS = 2 ,DDNAME = SYS00012
BMC50478I 2: RDB LOCK WAITS = 0
BMC50476I DDNAME = SYS00002+SYS00006, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
BMC50476I DDNAME = SYS00003+SYS00007, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
BMC50476I DDNAME = SYS00004+SYS00008, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
BMC50476I DDNAME = SYS00005+SYS00009, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
BMC51671I UNLOAD STATISTICS: 8 ROWS PROCESSED FROM PARTITION 1
BMC51686I UNLOADING OF DATASET 'DEHJCAT.DSNDBD.BMCEXDB.BMCEXATS.I0001.A001' READ 3 PAGES
BMC51671I UNLOAD STATISTICS: 5 ROWS PROCESSED FROM PARTITION 2
BMC51686I UNLOADING OF DATASET 'DEHJCAT.DSNDBD.BMCEXDB.BMCEXATS.I0001.A002' READ 3 PAGES
BMC51671I UNLOAD STATISTICS: 5 ROWS PROCESSED FROM PARTITION 3
BMC51686I UNLOADING OF DATASET 'DEHJCAT.DSNDBD.BMCEXDB.BMCEXATS.I0001.A003' READ 3 PAGES
BMC51671I UNLOAD STATISTICS: 2 ROWS PROCESSED FROM PARTITION 4
BMC51686I UNLOADING OF DATASET 'DEHJCAT.DSNDBD.BMCEXDB.BMCEXATS.I0001.A004' READ 3 PAGES
BMC51672I UNLOAD STATISTICS: 20 ROWS PROCESSED FROM SPACE 'BMCEXDB.BMCEXATS', 0 NOT SELECTED, 0 DISCARDED
BMC51674I UNLOAD STATISTICS: 8 RECORDS WRITTEN TO DDNAME 'SYS00002'
BMC51674I UNLOAD STATISTICS: 8 RECORDS WRITTEN TO DDNAME 'SYS00006'
BMC51674I UNLOAD STATISTICS: 5 RECORDS WRITTEN TO DDNAME 'SYS00003'
BMC51674I UNLOAD STATISTICS: 5 RECORDS WRITTEN TO DDNAME 'SYS00007'
BMC51674I UNLOAD STATISTICS: 5 RECORDS WRITTEN TO DDNAME 'SYS00004'
BMC51674I UNLOAD STATISTICS: 5 RECORDS WRITTEN TO DDNAME 'SYS00008'
BMC51674I UNLOAD STATISTICS: 2 RECORDS WRITTEN TO DDNAME 'SYS00005'
BMC51674I UNLOAD STATISTICS: 2 RECORDS WRITTEN TO DDNAME 'SYS00009'
BMC51675I UNLOAD STATISTICS: 0 RECORDS DISCARDED DUE TO ERRORS
BMC50041I 0: ZIIP NOT ENABLED (0) USING XBM SUBSYSTEM XBMB
BMC50004I UNLOAD PHASE COMPLETE. ELAPSED TIME = 00:00:00
BMC51639I FOR DDNAME 'SYSCNTL' DSN=ADU.EXAMPL16.SYSCNTL,DCB=(RECFM=FB,BLKSIZE=3120,LRECL=80)
BMC51801I LOAD TABLE STATEMENTS WRITTEN TO DDNAME 'SYSCNTL'
BMC51810I LOAD DATA INDDN SYSREC01
BMC51940I EBCDIC CCSID(37,65534,65534)
BMC51811I INTO TABLE
BMC51809I BMC.EMPLS
BMC51816I (EMPL_ID POSITION(1:5) DECIMAL EXTERNAL(5,0)
BMC51815I ,SSN POSITION(6:14) CHAR (9)
BMC51815I ,HIRE_DATE POSITION(15:24) DATE EXTERNAL(10)
BMC51814I NULLIF BMC_NULL1=X'6F'
BMC51819I , BMC_NULL1 POSITION(25) CHAR(1)
BMC51815I ,DEPT_NO POSITION(26:29) CHAR (4)
BMC51815I ,JOB_CODE POSITION(30:31) INTEGER EXTERNAL(2)
BMC51814I NULLIF BMC_NULL2=X'6F'
BMC51819I , BMC_NULL2 POSITION(32) CHAR(1)
BMC51815I ,SALARY_CODE POSITION(33:33) CHAR (1)
BMC51816I ,SALARY POSITION(34:42) DECIMAL EXTERNAL(9,2)
BMC51814I NULLIF BMC_NULL3=X'6F'
BMC51819I , BMC_NULL3 POSITION(43) CHAR(1)
BMC51815I ,PART_401K POSITION(44:44) CHAR (1)
BMC51814I NULLIF BMC_NULL4=X'6F'
BMC51819I , BMC_NULL4 POSITION(45) CHAR(1)
BMC51813I ,EMPL_LNAME POSITION(46:*) VARCHAR
BMC51813I ,EMPL_FNAME POSITION(*:*) VARCHAR
BMC51813I ,EMPL_MNAME POSITION(*:*) VARCHAR
BMC51814I NULLIF BMC_NULL5=X'6F'
BMC51819I , BMC_NULL5 POSITION(*) CHAR(1)
BMC51815I ,REC_CREATED POSITION(*:*+25) TIMESTAMP EXTERNAL(26)
BMC51809I )
BMC50476I DDNAME = SYSCNTL, I/OS = 1, I/O WAITS = 1, RDB LOCK WAITS = 0
BMC50006I UTILITY EXECUTION COMPLETE, RETURN CODE = 0
Related topic