删除Z/OS USS中的PDS成员



有没有办法在z/os uss中删除PDS成员而不在整个PDS上获得ENQ?我尝试了" TSO Delete",但它抱怨数据集争议。

一种方法是使用ISPF删除服务...通常将数据集分配为共享,使用其自己的内部ENQ序列化删除。看这里。在Unix Services中,您可以创建一个REXX脚本,USS Shell可以运行,并且可以像您在链接中看到的那样称呼ISPEXEC。

您也可以使用IDCAM。首先分配PDS数据集 - 类似于alloc fi(pds) dataset(dsn) shr。然后,带有DELETE 'pds(member)' FILE(pds)的IDCAM也将完成您想要的。

还有很多其他方法 - 密钥通常是在disp = shr上分配PD,打开PDS以进行输出,然后使用删除选项调用Stow以删除所需的成员。

序列化很重要 - 请记住,在共享分配下为输出打开PD会导致损坏,具体取决于您的工作。ISPF服务使用ENQ(SPFEDIT)序列化,该ENQ(SPFEDIT)为您提供更细粒度的序列化,而不是分配disp = old ... Disp = old Plast Persist,只要分配数据集,而SPFEDIT ENQ仅在那里仅用于a的分数第二需要执行删除。

最新更新