是否可以强制删除其他作业/用户使用的VSAM文件?

时间:2013-01-26 06:34:11

标签: mainframe jcl vsam

我们有一个Job,它备份VSAM文件,然后是相同VSAM文件的标准Delete-Define-Repro。为了处理尝试删除不存在的文件的情况,我们遵循标准做法,如果Delete返回非零返回码,则将MAXCC / LASTCC设置为0,然后继续该过程,就像没有错误一样。

但有时候我们遇到的情况是Delete无法正常工作,因为某些用户打开了文件或者在其他某个Job中读取了该文件。在这种情况下,作业失败是因为定义新的VSAM文件,因为文件已经存在(删除无法清除它)。

针对这种情况的任何解决方法?或者我们可以强制删除文件,即使它被其他进程/用户持有吗?

感谢阅读!

1 个答案:

答案 0 :(得分:2)

你应该能够知道在“其他东西”使用它时删除VSAM文件(或任何其他文件)不是一个好主意。

为什么不测试DELETE中的特定值?

如果你正在进行备份,然后删除/定义,那么获得对文件的独占控制将是一个非常非常好的主意,否则会出现混乱。

您可以将带有DSN的DD作为VSP = OLD的VSAM文件,这样只有在没有使用该文件时才会选择您的作业。

你是如何进行备份的?为什么其他作业同时访问该文件?这是在“测试”环境中吗?它是什么类型的VSAM文件?你为什么要做REPRO,你觉得这是最好的方法吗?

如果不了解所有这一切,实际答案很难实现。