システムのターミネーションは、基本的にはIPLと逆の手順で操作をしていきます。
順番の基本は、
①アプリケーション・ジョブの停止
②システム系ソフト(ミドルウェアなど)の停止
③OS系サブシステム類とJES2の終了
となります。
アプリケーション・ジョブの停止
バッチジョブとして動くアプリケーション場合は、プログラムの処理が終了すればジョブも終了します。JESの$DAコマンド等で実行中のジョブがあれば、そのジョブが終了するまで、システムのターミネーションを待つか、実行をキャンセル($Cコマンド、Cコマンド)してターミネーションを優先するか、いずれかを決めます。このような場合のセンター規約があればそれに従いますが、そうでない場合、オペレーターの判断でジョブをキャンセルしていいかどうかは迷うところです。開発系やテスト系のシステムでは問答無用でキャンセルしていいでしょうが、業務系の本番機では難しいところです。例えば業務データの変換ジョブでたまたま時間が掛かっていただけなのに、キャンセルされてしまい、後でデータをリストアし直す羽目になった、などとなりかねません。基本的なルールは決めておくべきでしょう。
例えば、「システムの終了時刻に間に合わない可能性があるジョブについては、ジョブ名、処理概要、実行者、連絡先をオペレーション部門に連絡する。届け出のないジョブはシステムの終了時刻に無条件にキャンセルされる。」のようにです。
システム系ソフトの停止
バッチジョブが終了すれば、次はSTARTコマンドで起動した常駐タスクの終了です。DB/DCシステムに用いられるミドルウェア製品など、IPLの際に STARTコマンドで起動したジョブを、P(STOP)コマンドによって停止します。製品によってはF(MODIFY)コマンドで独自の操作を要求するものや、%、#など独自のコマンド接頭文字で操作するものもあります。基本的に常駐タスクジョブは、バッチジョブと違って、正常に動いている限り、プログラムが自らジョブを終了させることは少なく、オペレーターの操作によって停止することになります。どのようなジョブが起動されているかは、OSのD A,Lコマンド等で知ることができます。
サブシステムとJESの終了
アプリケーションもミドルウェアも終了すれば、残りはOS自身と関連するサブシステムが残ります。これらを順番に止めていきます。先ずは、TSO → TCPIP → VTAM の順序で停止させます。
z/OSでは更にUSS(Unix System Service)も終了させねばなりません。ここまで終わればJES2は「$HASP099 ALL AVAILABLE FUNCTIONS COMPLETE」のMSGを出します。ここでJES2を終了させます。
JES2が終了してもz/OSでは、FFST、RACF、DLF、VLFなど JES2によらずにOSから直接起動されたサブシステムが残っていますので、必要に応じて終了させます(そのままにしてもシステム自体は終了できます)。
HALT処理
JESを止めれば、OS側での処理は終わりですが、センターによっては続いてHALT処理を行います。HALT処理はZ EODコマンドによって行われます。
①ハードエラー統計情報の書き出し
②SMFバッファーの書き出しとSMFデータセットの切り替え
③SYSLOGのクローズ
HALT処理によって、OS内のメモリーに残っているSMF情報を確実に記録できるので、業務系システムではZ EOD操作まで行い、ターミネーション終了とするのがいいでしょう。
システムの終了
OS側での処理が終われば、以降はシステムコンソール(OSのコンソールではなく、IPL時のLOAD操作を行ったコンソール)で、システムの終了操作を行います。これには、CPUストップ、システムリセット、パワーオフなどがあります。
今では24時間止めない運用も一般化しているので、IPLやターミネーションの操作を行う機会はめっきり少なくなりました。
運用部門のオペレーターでさえも詳細を理解する必要性が少なくなってきていますが、IPL同様、テスト系のシステムなどがあれば、機会を見つけてマニュアルでターミネーション操作をしてみて下さい。
次回はコンソールとコマンドについてお話しします。
コメント
投稿にはログインしてください