再上一篇:3.3.1 UNIT
上一篇:3.3.2 VOLUME
主页
下一篇:3.3.4 DSNAME
再下一篇:3.3.5 DISP
文章列表

3.3.3 SPACE

IBM S390 系统管理基础(zSeries,IBMSystemz, z/VM,zOS等操作系统使用,命令的参数与用法等)

SPACE 参数用于为新建数据集分配磁盘空间,对于磁带卷不起作用。请求空间分配一 般有两种方法:一是告知系统所需空间大小,由系统来分配合适的空间;二是请求系统分配 某个特定的空间,如:从某个特定磁道到另一个特定磁道。

通常用第一种情况。用此种方法,用户告诉系统所要分配空间的存贮单位及存贮空间单 位的数量。空间存贮单位可以是磁道(TRK)、柱面(CYL)、块长及记录长。不同类型的磁盘 设备磁道、柱面容量也不同,所以为数据集分配空间时,要清楚用户所用的设备类型及磁道、 柱面的容量。以 3380 为例,共有 885 个柱面,每个柱面有 15 个磁道,每个磁道的容量为

47476 字节。

1.格式
由系统分配空间: SPACE=({TRK,}(初次分配数量[,再次分配数量][,目录空间])[,RLSE][,CONTIG][,ROUND])
({CYL,} [, ][,索引 ] [, ][,MXIG ] ({块长度, } [,ALX ]
({记录长度,} [, ] 请求特定的磁道:
SPACE= (ABSTR,(初次分配数量,地址[,目录空间]) [,索引 ]
仅请求目录空间: SPACE=(,(,,目录空间))
2.说明
由系统分配空间: TRK:表示系统以磁道为单位分配空间。 CYL:表示系统以柱面为单位分配空间。
块长度:用来指定数据的平均块长度(字节),块长度是 0~65535 的一个十进制数。这里 指定的块长度用来作为空间分配的单位。(仅在 AVGREC 没有指定的情况下使用)
记录长度:在 SMS 环境下用来指定数据的平均记录长度(字节),记录长度是 0~65535
的一个十进制数。这里指定的块长度用来作为空间分配的单位。(仅在指定 AVGREC 和 SMS
激活的情况下使用)
初次分配数量:初次为数据集分配的空间的大小,单位为磁道、柱面等。如果使用 TRK
或 CYL 作为单位为一个分区数据集分配空间,则初次分配的空间包含了目录空间;如果使 用块长度或记录长度作为单位为一个分区数据集分配空间,则初次分配的空间不包含目录空
间,系统另外分配目录空间。所要求的卷必须有足够的空间用于分配,否则作业将失败。 再次分配数量:当为数据集所分配的空间用完时,指定再次为数据集分配空间的数量。
目录空间:指定在一个分区数据集中用来作为目录的长度为 256 字节的记录的数量。 索引:对于一个索引顺序数据集的索引来说,用来指定所需的磁道或柱面,所需的磁道
数应该等于一个或多个柱面。

RLSE:表示在数据集关闭时,那些分配给数据集但没有被使用的空间将会被释放。前 提条件是数据集必须为了输出被打开并且最后一个操作为写操作。

CONTIG:指定分配给数据集的空间必须是连续的,这个子参数仅仅影响初次分配。

MXIG:要求为数据集分配的空间必须 1、是卷上最大的连续空间 2、大于或等于初次 分配的空间大小。这个子参数仅仅影响初次分配。
ALX:作业在分配空间是将获得卷上最多 5 个最大的连续空间,并且每一个空间都应
大于或等于初次分配的空间大小。这个子参数仅仅影响初次分配。

ROUND:只有在第一个子参数指定为块长度时表示分配的空间必须等于整数柱面,其 它情况下忽略这个子参数。

申请特定的磁道:
ABSTR:表示将在卷上特定的位置为数据集分配空间。 初次分配数量:指定为数据集分配的磁道数,要求卷上必须有足够的空间。 地址:指定分配的第一个磁道的磁道号,第一个柱面上第一个磁道的磁道号为 0。
3.实例
例 1

//DD1 DD DSNAME=&&TEMP,UNIT=MIXED,SPACE=(CYL,10)

在这个 DD 语句中定义了一个临时数据集。UNIT 参数为数据集申请任何有效的磁带或
直接访问设备卷,其中 MIXED 是一组磁带和直接访问设备的安装名。如果获得的是磁带卷 的话,SPACE 参数被忽略;如果获得的是直接访问设备卷的话,SPACE 参数被用来为数据
集分配空间。在本例中 SPACE 参数通过子参数指定了分配的单位和初次分配的数量:10 个 柱面。
例 2

//DD2 DD DSNAME=PDS12,DISP=(,KEEP),UNIT=3350,

// VOLUME=SER=25143,SPACE=(CYL,(10,,10),,CONTIG)

在 DD 语句中定义了一个新的分区数据集,系统将为这个数据集分配 10 个柱面,其中
创建 10 个 256 字节的记录作为目录。由于指定了 CONTIG 子参数,系统将在卷上为数据集 分配 10 个连续的柱面。
例 3

//REQUEST1 DD DSNAME=EXM,DISP=NEW,UNIT=3330,VOLUME=SER=606674,

// SPACE=(1024,75),DCB=KEYLEN=8

//REQUESTA DD DSNAME=EXQ,DISP=NEW,UNIT=3380,

// SPACE=(1024,75),DCB=KEYLEN=8

在本例的 DD 语句中根据块长分配空间。数据的平均块长为 1024 字节,需要申请 75 个
数据块,每一个数据块前都需要有一个 8 个字节长的键,系统将会根据 UNIT 参数指定的设 备计算需要多少个磁道。
例 4

//REQUEST2 DD DSNAME=PET,DISP=NEW,UNIT=3330,VOLUME=SER=606674,

// SPACE=(ABSTR,(5,1))

在本例中,SPACE 参数指定系统从卷上的第 2 个磁道起为数据集分配 5 个磁道。
例 5

//DD3 DD DSNAME=MULTIVOL,UNIT=3350,DISP=(,CATLG),

// VOLUME=SER=(223344,223345),SPACE=(CYL,(554,554))

这是一个在两个完整的卷上创建一个多卷数据集的例子,在这两个卷上不包含任何其它
的数据集。一个 3350 设备上的卷包含 555 个柱面,未非配的柱面用来存放 VTOC。