簡體   English   中英

批處理作業在AS400上共享相同的QTEMP庫嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM