How To
Summary
Users need a procedure for examining the contents of the volume and where the allocated and free space is on the volume. Running DFSMSdss DEFRAG with TYPRUN=NORUN dumps the contents of the volume without performing the DEFRAG job on the volume.
Environment
Provided sample JCL can be used as an example for mapping the contents of the volume using DSS DEFRAG with TYPRUN=NORUN.
//NORUN EXEC PGM=ADRDSSU,PARM='TYPRUN=NORUN'
//SYSPRINT DD SYSOUT=*
//DISKIN DD DISP=OLD,UNIT=SYSDA,VOL=SER=volser
//SYSIN DD *
DEFRAG DDNAME(DISKIN) -
DEBUG(TRACE)
/*
Steps
Use the DFSMSdss DEFRAG job with TYPRUN=NORUN to map out allocated and free space. This job can also be used to find the location of the VTOC or VTOCIX and their size in tracks.
VTOC & VTOCIX Location in Volume:
ADR234I (001)-DFANL(01), SEQUENCE C:H 1 - C:H 2 EXTENT DESCRIPTION
ADR235I (001)-DFANL(01), 00000001 00000000:0 00000000:0 0000 VOLUME LABEL
ADR235I (001)-DFANL(01), 00000002 00000000:1 00000078:0 0000 VOLUME TABLE OF CONTENTS
ADR235I (001)-DFANL(01), 00000003 00000078:1 00000078:A 0001 SYS1.VVDS.COLORS99
ADR235I (001)-DFANL(01), 00000004 00000078:B 00000078:B 0001 BLUE.ISP04716.BLUECLR.CNTL
ADR235I (001)-DFANL(01), 00000005 00000078:C 00000078:C 0001 YELLOW.ISRFIND.INPUT
ADR235I (001)-DFANL(01), 00000006 00000078:D 00000078:D 0001 GREEN.ISP05254.BLUECLR.CNTL
ADR235I (001)-DFANL(01), 00000007 00000078:E 00000078:E 0001 ORANGE.NETRC
ADR235I (001)-DFANL(01), 00000008 00000079:0 000000B4:E 0001 SYS1.VTOCIX.COLORS99
In the DSS DEFRAG job output, each ADR235I represents the Cylinder-Track Start and End for each data set on the volume.
For sequence 1, "C:H 1 - C:H 2" ("00000000:0 00000000:0) represents Cylinder 0, Track 0 for one track that is always the volume label.
For sequence 2, the VTOC is at Cylinder 0, Track 1 and ends at Cylinder 78, Track 0 for 1800 tracks.
See additional information for the calculation method used.
For sequence 2, the VTOC is at Cylinder 0, Track 1 and ends at Cylinder 78, Track 0 for 1800 tracks.
See additional information for the calculation method used.
The output of the job also maps the free space and is indicated by the line with text "FREE SPACE".
0ADR235I (001)-DFANL(01), 00000004 000000AB:0 000000AB:0 0000 FREE SPACE.
If the intention is to grow the VTOC or VTOCIX, we need to locate free space large enough to accommodate the new size.
If there is no free space after the VTOC, moving the data sets following the VTOC allows you to expand the VTOC. To determine the considerations for expanding either the VTOC and VTOCIX refer to the following guide: How do I increase the size of my VTOC and/or VTOCIX?
If there is no free space after the VTOC, moving the data sets following the VTOC allows you to expand the VTOC. To determine the considerations for expanding either the VTOC and VTOCIX refer to the following guide: How do I increase the size of my VTOC and/or VTOCIX?
Additional Information
How to calculate the number of tracks occupied by a data set on a volume using DSS DEFRAG:
Sample DSS DEFRAG output:
ADR234I (001)-DFANL(01), SEQUENCE C:H 1 - C:H 2 EXTENT DESCRIPTION
ADR235I (001)-DFANL(01), 00000001 00000000:0 00000000:0 0000 VOLUME LABEL
ADR235I (001)-DFANL(01), 00000002 00000000:1 00000078:0 0000 VOLUME TABLE OF CONTENTS
ADR235I (001)-DFANL(01), 00000003 00000078:1 00000078:A 0001 SYS1.VVDS.COLORS99
ADR235I (001)-DFANL(01), 00000004 00000078:B 00000078:B 0001 BLUE.ISP04716.BLUECLR.CNTL
ADR235I (001)-DFANL(01), 00000005 00000078:C 00000078:C 0001 YELLOW.ISRFIND.INPUT
ADR235I (001)-DFANL(01), 00000006 00000078:D 00000078:D 0001 GREEN.ISP05254.BLUECLR.CNTL
ADR235I (001)-DFANL(01), 00000007 00000078:E 00000078:E 0001 ORANGE.NETRC
ADR235I (001)-DFANL(01), 00000008 00000079:0 000000B4:E 0001 SYS1.VTOCIX.COLORS99
Note: Cylinders and Tracks are written in HEX in the output.
For the example volume, there is a total of 15 tracks per cylinder.
Visual Demonstration:
This diagram represents a single cylinder with 15 tracks from x'0' - x'E' that is 15 tracks total.
Example 1:
ADR235I (001)-DFANL(01), 00000001 00000000:0 00000000:0 0000 VOLUME LABEL
Starts at Cylinder x'0' track x'0' and ends at Cylinder x'0' track x'0'. Subtracting the difference of tracks we get a total of (x'0' -x'0' + 1 = 1) 1 track.
Visual Example:


Example 2:
ADR235I (001)-DFANL(01), 00000006 00000078:2 00000078:D 0001 GREEN.ISP05254.BLUECLR.CNTL
Starts at Cylinder x'78' track x'2' to Cylinder x'78' track x'D'. Subtracting the difference of tracks we get a total of (x'D'-x'2' + 1 = 12) 12 tracks.
Visual Example:

Example 3:
ADR235I (001)-DFANL(01), 00000002 00000000:1 00000078:0 0000 VOLUME TABLE OF CONTENTS
Starts at Cylinder x'0' track x'1' to Cylinder x'78' track x'0' . When dealing with more than one cylinder, calculate the number of total tracks for the first cylinder first.Visual Example:

Subtracting the difference of tracks we get a total of (x'E'-x'1' + 1 = 14) 14 tracks.

Subtracting the difference of tracks we get a total of (x'E'-x'1' + 1 = 14) 14 tracks.
Now we calculate the number of total tracks for the second cylinder.
Visual Example:
Subtracting the difference of tracks we get a total of (x'0'-x'0' + 1 = 1) 1 track.
Between Cylinders x'0' to Cylinder x'78', there are (x'78' - x'0' - 1 = x'77') x'77' cylinders that are full.
Converting the number of cylinders for x'77' we have a total of 119 cylinders.
As noted, each Cylinder has 15 tracks that calculates to 119 x 15 = 1,785 tracks.
Lastly, we combine all the tracks from the first cylinder (x'0') to the last cylinder (x'77').
As noted, each Cylinder has 15 tracks that calculates to 119 x 15 = 1,785 tracks.
Lastly, we combine all the tracks from the first cylinder (x'0') to the last cylinder (x'77').
14 + 1785 + 1 = 1800 total tracks.
Example 4:
Subtracting the difference we get a total of x'B' -x'0' +1 = 12 tracks.
Lastly, we combine all the tracks from the first cylinder (x'CD4') to the last cylinder (x'CD9').
Example 4:
ADR235I (001)-DFANL(01), 00005728 00000CD4:2 00000CD9:B 0005 GREEN.EXAMPLE.FOUR
Starts at Cylinder x'CD4' track x'2' to Cylinder x'CD9' track x'B'. When dealing with more than one cylinder, calculate the number of total tracks for the first cylinder first.
Visual Example:

Subtracting the difference we get a total of x'E' - x'2' +1 = 13 tracks.
Now we calculate the number of total tracks for the second cylinder.

Subtracting the difference we get a total of x'B' -x'0' +1 = 12 tracks.
Between Cylinders x'CD4' to Cylinder x'CD9', there are (x'CD9' - x'CD4' - 1 = x'4') x'4' cylinders that are full.
As noted, each cylinder has 15 tracks that calculate to 4 x 15 = 60 tracks.
Lastly, we combine all the tracks from the first cylinder (x'CD4') to the last cylinder (x'CD9').
13 + 12 + 60 = 85 total tracks.
Document Location
Worldwide
[{"Type":"MASTER","Line of Business":{"code":"LOB56","label":"Z HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG90","label":"z\/OS"},"ARM Category":[{"code":"a8m0z0000000ALKAA2","label":"DFSMS-\u003EDSS-\u003EDEFRAG processing"}],"ARM Case Number":"","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"All Versions"}]
Was this topic helpful?
Document Information
Modified date:
08 November 2024
UID
ibm16999541