如何通过SPACE参数计算空间总数
JCL中使用SPACE参数指定在磁盘上创建新数据集时,为新数据集分配空间的大小,由系统指定磁道,语法如下。
SPACE=(磁道,( 首次分配数量, 次级分配数量, 目录))
磁道 —-> 以磁道为单位分配空间。
首次分配数量 —-> 分配数据空间时,首次分配是以以前指定的单位分配多少数目的磁道,柱面,块数或记录数。
次级分配数量—–> 向数据集写入数据时,如果已分配的空间使用完了系统会自动按照次级非配数量再分配出一定数量的空间给数据集使用。次级空间的分配次数是有限的,比如15次。如果已经分配了15个次级空间,数据集仍然写满,再写是会出错停止。
目录 —–> 指明目录空间要分配的大小,只在创建分区数据集(PDS)时需要指定,每个目录是一个256字节的记录。
计算式:
空间总数 = (1 *首次分配数量) + (15 *次级分配数量)
如果SPACE= (900,300),所需要的空间为 ( 900*1 + 15 *300) TRKS. = 5400 TRKS.
1 TRK = 47476 BYTES.
分配的总空间数 = ( 900*1*47476+ 15*300*47476) = 5400 * 47476 BYTES = 256370400 BYTES
因此,你需要的空间数应为:
一个数据有61000条记录,长度为1541
需要空间=61000 *1541 = 94001000
浪费的空间 = 256370400 - 94001000 = 162369400 bytes..!!!! 通常我们保留一些额外空间(50%-100%)。


















newcoin 回复:
五月 7th, 2009 at 11:48 上午
@避风塘,
@simaopig,
呵呵,这是大型机里面的东西,你们应该看不懂
[回复]