[英]Do batch jobs share the same QTEMP library on AS400?
假設有一個程序,它將文件復制到temp,對數據進行一些處理,然后將其復制回去。 現在,如果我提交兩次要批量運行,則將有兩個批處理作業,它們可能同時執行相同的文件技巧。 由於文件位於同一個庫中,一個文件是否會給另一個文件帶來麻煩,例如使另一個文件的數據失真? 會發生什么? 讓我們說對象鎖定在這里不是問題。
QTEMP
對於系統上的每個單獨作業都是唯一的,並且在作業結束時,將刪除在作業QTEMP
庫中創建的所有對象。
因此,在您的示例中,每個批處理作業將具有自己的唯一QTEMP
庫,並且不會相互干擾。
在這種情況下,我認為您總是會遇到數據失真的問題:職位1更新了生日; 職位2更新郵政編碼
Job 1 cpyf prod/x qtemp/x
Job 2 cpyf prod/x qtemp/x
Job 1 call updbirth
Job 2 call updpostal
此時,文件X具有三個單獨的副本:
1)生產。 郵政編碼和出生日期均未更新,但其他一些工作可能已更新名稱和地址。 對此副本所做的更新不會反映在文件X的作業1或作業2的副本中
2)作業1。此副本已更新了出生日期,但是自作業1開始以來未更新郵政編碼或生產中的更改。
3)作業2。此副本已更新郵政編碼,但自出生2起沒有更新出生日期或生產中的更改。
無論將哪個文件復制回生產環境,生產環境中的所有更改都將丟失。 然后,當另一個工作文件被復制回生產環境時,所有這些更改也將丟失。 生成的生產文件將僅包含最后一個批處理程序所做的更改,以更新工作文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.