2013-02-12 62 views
0

我想檢查大型機CICS區域的狀態,無論它是使用JCL處於活動狀態還是非活動狀態,或者如果使用JCL可以爲我提供一種通過shell腳本檢查CICS區域狀態的方法。該腳本/ JCL將用於向組發送郵件,表示該地區在預定時間處於活動狀態或非活動狀態。如何通過JCL/Shell腳本(unix框)檢查CICS區域的狀態

請幫我PROC/UTILITY櫃面一個JCL的使用或幫助我的shell腳本的例子來實現它

解決方案:

我在執行下面的命令主屏幕

TSO STATUS <job-name> 

它給了我這個工作是否在運行。我在我的作業中執行了相同的TSO命令,並將輸出轉換爲數據集。

回答

1

其他幾個選項:

  • 您也可以運行狀態(ST)命令 - 只要運行TSO背景(IKJEFT01)併發出status命令看到Status command適當的作業名。
  • 您可以嘗試從批處理作業運行Cics命令,請參閱Batch Cemt New copy。如果它起作用CICS已啓動,CICS未能啓動,我會建議進行一次查詢,而不是新副本。
+0

謝謝,我發現這很有用,即時嘗試寫這個 – ghosts 2013-02-27 07:14:45

3

只是簡單地想一想,我看到了三種選擇,都涉及使用SDSF(系統顯示和搜索工具)。

請注意,並非所有的大型機商店許可證SDSF,這是IBM產品。存在ISV替代品;我知道這些但不熟悉它們。

如果這是在我工作的商店中完成的,我將與大型機建立一個SSH會話並提交批處理作業以執行鏈接中描述的Rexx代碼。批處理作業可以檢查CICS區域的狀態併發送電子郵件。我的偏好來自以前完成所有這些事情,我只是沒有像這樣把它們放在一起。

您的大型機可能禁止使用Rexx,或者不允許SSH連接到他們的機器,或者不願意設置Rexx接口到SDSF。他們可能對Java有同樣的感受。

可能存在安全隱患,logonID和密碼將在您的腳本中,是嗎?那個ID將被授權做什麼?劇本將如何獲得保證?是否需要定期過期的ID的密碼?

所有這些都是說您必須與(可能多個)大型機員工一起工作才能使此過程正常工作。這些問題都不是爲了阻止你完成你的目標;您的目標必須在不損害系統安全性和完整性的情況下完成。

一些其他的事情要考慮...

你爲什麼要檢查是否CICS區域是嗎?如果這是因爲(例如)你會開始一個批處理過程來向該區域發送消息(如果該消息已啓動並通知某人已關閉),那麼最好將錯誤處理構建到批處理過程中。

大型機商店通常會安裝一些自動化軟件,以在發生重大事件時通知用戶 - 鈴聲響起,指示燈閃爍,傳呼機停止響應,發送電子郵件等等。也許您正在處理的事情正在處理中以不同的方式。

+0

有沒有像寫一個JCL來檢查CICS區域狀態那樣簡單的方法? – ghosts 2013-02-13 10:54:29

+1

這就是我所描述的。 「批量執行」程序通過JCL執行。除執行其他程序外,JCL除了執行其他任何操作外沒有任何其他功能您需要一個程序來檢查CICS區域是否正在運行。其中一個程序是SDSF,其他人可以用Rexx或Java編寫自己的程序。如果我提供Rexx代碼來檢查給定的區域是否啓動並且JCL運行它,那麼這將不會幫助您從Unix shell腳本執行它 - 因爲您需要身份驗證和授權,這是大部分答案我提供了更困難的部分,因爲它涉及到人。 – cschneid 2013-02-13 12:43:27

+0

業務需要知道它是否已經啓動?關鍵是在那個時刻需要知道誰或什麼。正如cschneid所說,大多數企業大型機安裝已經有了明確的通知和響應監控。 – zarchasmpgmr 2013-02-14 01:43:36

0

一種方法是將作業步驟添加到CICS區域。定義此作業步驟以始終運行,或者甚至可以更好地將其定義爲僅在CICS作業步驟失敗時才運行。

在此工作步驟中,調用向感興趣的團體組中的每個人發送電子郵件的程序。

這樣,當CICS區域異常終止時,所有人都會收到通知,但如果將作業作爲常規操作的一部分乾淨地放下,則沒有人會收到電子郵件。

或者,您可能希望在區域降低時始終發送電子郵件,無論原因如何。

該解決方案避免了必須輪詢區域以查看它是否已啓動。例如,如果區域名稱更改會發生什麼?腳本必須改變!或者如果添加了第二個或第三個生產區域會怎樣?同樣,所有的腳本都必須改變。

最後,您可以向該地區添加步驟零,以便在該地區出現時通知所有人!

+0

有趣的角度JCL代碼,但不幸的是S122和S222將阻止最後一步運行。電子郵件沒有保證交貨時間,但如果S122和S222可以使用,則可以選擇其他方法。 – 2013-09-05 14:34:08

相關問題