Ibm midrange 如何阻止spool文件被删除?

Ibm midrange 如何阻止spool文件被删除?,ibm-midrange,spool,Ibm Midrange,Spool,我被指派学习一系列的CL课程。这些程序共同执行一些期望的任务。其中一些以批处理方式运行,另一些以交互方式运行。如果其中任何一个出现错误,则执行DMPCLPGM语句以生成QPPGMDMP假脱机文件。现在,由于一些设计缺陷,当程序在失败后重新运行时,QPPGMDMP以某种方式被删除。此假脱机文件旨在保留,以便人们以后可以研究错误的原因。因为有太多的程序要检查,所以简单地扫描所有源成员是不可行的。我的计划是以某种方式锁定spool文件,这样当程序即将删除它时,它将导致特定程序崩溃。这个方法有多实用?或

我被指派学习一系列的CL课程。这些程序共同执行一些期望的任务。其中一些以批处理方式运行,另一些以交互方式运行。如果其中任何一个出现错误,则执行DMPCLPGM语句以生成QPPGMDMP假脱机文件。现在,由于一些设计缺陷,当程序在失败后重新运行时,QPPGMDMP以某种方式被删除。此假脱机文件旨在保留,以便人们以后可以研究错误的原因。因为有太多的程序要检查,所以简单地扫描所有源成员是不可行的。我的计划是以某种方式锁定spool文件,这样当程序即将删除它时,它将导致特定程序崩溃。这个方法有多实用?或者有没有其他更好的方法来回溯负责删除QPPGMDMP的程序?非常感谢

你应该弄清楚是什么在删除它们。正在印刷什么?一个
保存(*YES)
可以解决这个问题。它正在被删除吗?那你就不能阻止它。你需要解决这个问题。我假设另一个选项是将spool文件的权限更改为运行该文件的用户无权删除的权限

虽然有其他方法可以删除spool文件,但通常罪魁祸首是
DLTSPLF

您可以使用来了解有关更改权限的信息


您确定它们正在被删除并且从未创建过吗?

确定假脱机文件发生了什么最简单的方法是使用命令启用安全审核,并确保已为
*splftd
启用审核

然后可以使用命令监视假脱机文件活动

更多信息:


毫无疑问,线轴不会打印。那么如何更改spool文件的权限呢?有多少种不同的方法可以删除spool文件(假设它不需要打印)?我知道如何更改普通对象的对象权限。对于spool文件,它也会以同样的方式工作吗?我以前从未试过这个。最初,spool文件处于RDY状态。然后在重新运行程序后,它会变成FIN。由于它从未打印过,我只能假设它在某个时候被删除了。还有其他的可能性吗?我想是的。它只是一个对象。如果spool文件是由批处理作业(在当前用户下)生成的,是否也可以更改其权限?那么我需要指定库名称吗?不,spool文件不是操作系统级别的一级对象。它不是库的成员,不能与常规对象命令一起使用,例如
DSPOBJD
RNMOBJ
MOVOBJ
等。它是在作业中创建的,也不是一级对象,并且完成的作业将继续存在于系统上,直到其所有spool文件都消失。人们有时会混淆spool文件和打印文件,打印文件可能被认为是创建spool文件的模板。有关于安全审计的具体例子吗?IBM网站上的描述过于抽象,无法理解。这只是我在回答中描述的两个步骤。使用
CHGSECAUD
命令启用假脱机文件审核;等待文件被删除;使用
dspaudjarne
命令检查审核日志。使用CHGSECAUD时要格外小心。我建议只在最初设置系统审计行为时使用它。安全/审核属性很容易在无意中更改。在这方面,最好使用工作会计期刊(QACGJRN)。将系统值QACGLVL设置为(*作业*打印),可以看到比审核日志更好的信息。