分配 OSAM 数据集
要分配 OSAM (溢出顺序存取方法) 单个或多个卷,请在使用 SPACE 参数装入数据集时使用 JCL。
如果您对 DASD 存储器和卷的安装控制使得必须提前保留 OSAM 数据集,或者如果您决定消息队列数据集需要多个卷,那么可以预分配 OSAM 数据集。
限制:
- 请勿指定 DCB 参数。
- 如果要将数据集扩展至超过预分配空间,那么必须在预分配期间指定辅助数量。 队列数据集仅限于预先分配的空间。
如果要预分配多卷数据集,请在要使用的所有卷上分配扩展数据块。 必须在最后一个卷上的数据集控制块 (DSCB) 中正确指示数据集结束。
建议的方法是对需要空间的每个卷使用一次 IEFBR14 实用程序; 请勿仅使用 IEFBR14 实用程序并为多卷数据集指定 DD 语句。 此操作仅将扩展数据块放在第一个卷上,而不指示哪个卷是数据集的最后一个卷。
您可以分配 OSAM 数据集以利用 z/OS® DFSMS 对大格式连续数据集的支持,这可能会超过每个卷 65 535 个磁道。 这允许将更多数据存储在更少的卷上,从而帮助最大限度地减少连续数据集,这些数据集会增大并跨越许多卷的存储硬件。
要启用对 DFSMS 大型连续数据集的支持,请在用于分配 OSAM 数据集的 JCL 中指定 DSNTYPE=LARGE ,并使数据集联机,如下所示:
- 如果要将新数据集用于 OLDS 或消息队列,请冷启动 IMS。
- 如果要将新数据集用于数据库,请使用数据库重组过程 (卸载和重新装入) 使新数据集联机。
您可以启用 OSAM 数据集以使用 z/OS V1.12 或更高版本中提供的扩展地址卷 (EAVs)。 要使 OSAM 数据集能够使用 EAVs ,请在分配数据集时在 VOLSER 参数上指定 EAV 卷。 此外,您可以指定属性 EATTR 以指示数据集是否支持扩展属性。
样本 OSAM 数据集分配 JCL 显示建议的 OSAM 数据集分配 JCL。 如果要分配大型连续 OSAM 数据集,请参阅 用于分配大型连续 OSAM 数据集的样本 JCL。
如果必须对 OSAM 数据集进行编目,请使用 IEHPROGM 或访问方法服务 (AMS) 来确保所有卷都包含在目录条目中。
样本 OSAM 数据集分配 JCL
//OSAMALL JOB
//S1 EXEC PGM=IEFBR14
//EXTENT1 DD DSNAME=OSAM.SPACE,DISP=(,KEEP),
// UNIT=SYSDA,VOLSER=AAAAAA,
// SPACE=(CYL,(10,5))
//S2 EXEC PGM=IEFBR14
//EXTENT2 DD DSNAME=OSAM.SPACE,DISP=(,KEEP),
// UNIT=SYSDA,VOLSER=BBBBBB,
// SPACE=(CYL,(15,5))
⋮
//LAST EXEC PGM=IEFBR14
//EXTENTL DD DSNAME=OSAM.SPACE,DISP=(,KEEP),
// UNIT=SYSDA,VOLSER=LLLLLL,
// SPACE=(CYL,(15,5))用于分配大型连续 OSAM 数据集的样本 JCL
//OSAMALBG JOB
//S1 EXEC PGM=IEFBR14
//EXTENT1 DD VOL=SER=AAAAAA,SPACE=(CYL,(20,5)),UNIT=3390,
// DSN=OSAM.LARGE.SPACE,DISP=(,KEEP),DSNTYPE=LARGE