システム管理に関わるベーシック情報やトレンドをご案内します!
MVSとJES2コマンドの例
- アプリケーション・ジョブのキャンセル
$C'jobname'$CJnnnnn[,DUMP]C jobname[,DUMP]C U=userid実行中のジョブを強制的に終了させるには、CANCELコマンドが利用できます。バッチジョブであれば、JES2の$Cマンドも使用できます。STCタスク、TSOユーザー空間のキャンセルには、OSのCANCELコマンドを使用します。DUMPオプションを指定すると、キャンセルに伴い、プログラムのメモリーダンプが出力されます。
- 出力ライン数の多いSYSOUTを持つジョブの表示
$DJQ(*),SPOOL=% ← 全ジョブのスプール使用率を表示$DJQ(*),SPOOL=(%>10) ← スプール使用率10%を超えるジョブのみ表示JES2のスプール使用率が上がり、一杯に近づいてしまったような場合、どのジョブがスプールを沢山使っているかを知りたい場合もコマンドが利用できます。SDSFが使えれば、Oパネルなどで「SORT TOT-REC D」コマンドを打てば、SYSOUTのライン数の高い順に表示できます。SDSFが使えない場合、JES2コマンドでも代用できます。ただしライン数ではなく、スプール使用率での表示になります。SORTはできませんので、10%以上使っている、あるいは20%以上使っているなど、使用率の条件指定を使えば、パージさせる候補のジョブを絞りやすくなります。ジョブをスプールからパージさせる場合は$PJnnnnnコマンドを使用できます。
- アドレス空間のダンプ採取
DUMP COMM=(comment text)(ダンプ・パラメーターの入力を促すMSGが出る)nn,JOBNAME=jobname,SDATA=(PSA,RGN,SUM,TRT),SDATA=(PSA,RGN,SUM,TRT,CSA,LPA,SQA,NUC),SDATA=(RGN,TRT,CSA,LPA,SQA) MSPの場合,SDATA=(PSA,RGN,TRT,CSA,LPA,SQA,NUC) VOS3の場合アドレス空間ダンプは、システムダンプあるいはSVCダンプとも呼ばれ、プログラムの異常終了ではなく、オペレーターがコマンドによって採取するダンプです。アドレス空間内の仮想記憶域の内容を、予めシステムに定義したダンプ・データセット(SYS1.DUMPnn)に書き出します。SYSUDUMP、SYSABENDと違ってバイナリー形式のままなので解析には専用のユーティリティを使ってフォーマットします。OSのモジュールも異常を検知した場合などに、自らこの形式のダンプを出力します。一般のプログラムでは通常使われませんが、ミドルウェアやISV製品などでは診断資料としてよく利用されます。特にWAITやLOOPなど、プログラムが正しく動けずに止まってしまっているような状態では、アドレス空間ダンプはエラーの状態のままメモリー内容がダンプされるため、より正確な診断が可能になります。通常はRGNでリージョン全域を採れば十分ですが、必要に応じてCSAやLPA域を追加します。データベースのように複数の空間からのサービスを受けるようなプログラムではCSAやSQAなども必要となる場合があります。メーカーやISVのソフトウェア製品の場合、必要なダンプ範囲を予め確認しておくとよいでしょう。DUMPコマンドを使用する前に、D DUMPコマンドで空きのダンプデータセットがあるかを確認します。必要ならばDD CLEAR,DSN=nnコマンドで使用済みダンプデータセットをクリアーします。(MSPとVOS3ではユーティリティによるクリアーが必要)
- 競合しているデータセットやリソースの表示
D GRS,CONTENTIONジョブを実行したら、「IEF099I JOB jobname WAITING FOR DATA SETS」なんてメッセージが出ることがあります。コンソールにはどのデータセットで競合してるかは表示されますが、誰と競合してるかは表示されません。そんな時は、D GRS,CONTENTION で誰と競合してるか簡単に知ることができます。
- ページデータセットの追加
D ASMPA PAGE=SYS1.PAGE.TEMP1運用中にページデータセットが一杯になり、補助記憶が足りなくなってくると、「IRA200E AUXILIARY STORAGE SHORTAGE」「IRA201E CRITICAL AUXILIARY STORAGE SHORTAGE」のメッセージが出力され、新たなアドレス空間は作成されなくなります。つまりTSOにはLOGONできないし、STARTコマンドでジョブを起動することもできません。アイドル・イニシエーターがあっても、新たなジョブは実行されません。すでに稼働中のジョブは動きますが、ページング・スペース不足の状態なので優先度にもよりますが動きはにぶくなります。本来の手順としては、仮想記憶を大量に消費しているジョブをキャンセルするのがいいのですが、どのジョブが大量にメモリーを消費しているかの判断はコンソールからではむずかしいです。AUXILIARY STORAGE SHORTAGEのメッセージに伴い、補助記憶を大量に使っているトップ5のジョブ名を示す、別メッセージも出されますが、システム空間や、業務システム用のDC/DBジョブなどの場合は、キャンセルに躊躇するでしょう。すでにこのような場合のリカバリー手順が決まっているならそれに従います。そういうものがなければ、AUXILIARY STORAGE SHORTAGEの状態をとにかく解消するため、ローカル・ページデータセットを追加することを試みます。とにかく補助記憶不足の状態を解消して、その後に、SDSFなりRMFなりを使用してメモリー使用量の多いジョブを見つけて対処します。復旧を優先してストレージ不足を解消しなければ、調査もままなりません。D ASMコマンドは現在のページデータセットの使用状況を表示するコマンドです。PAコマンドがページデータセットを追加するコマンドになります。z/OSの場合、PAコマンドを使うには追加するページデータセットを作成しなければなりません。このような状況ではデータセットを作成するジョブを実行することは無理ですから、予め予備のページデータセットを作成しておくことを奨めます。ページデータセットはAMSユーティリティーで簡単に作成することができます。MSPの場合は、PAコマンドで新規ページデータセットがアロケートできるのでコマンドだけで対処できます。VOS3ではMVS同様に、ページデータセットは予め用意しておく必要があります。以下はMSPのコマンド例です。D PAGE,DSPA SYS1.PAGE1.TEMP1,FUNC=ALLOC,VOL=xxxxxx,SPACE=100PA SYS1.PAGE1.TEMP1,FUNC=ADD
メインフレームはあなたの企業を始め、多くの企業の基幹システムを支えています。とりわけ金融、製造、公共など、日本の基幹産業で今日も働いています。新しいニュースは少ないものの、まさに業務を確実に処理するための大きな存在です。世の中にはあまり知られていませんが、オープン系をいまだに超えている技術、ノウハウが生きている分野です。黙って国を支えているITといっても過言ではないと思います。
そんなシステムを品質よく、安定して運用するためには、業務運用マニュアルや先輩・上司からの言い伝えだけでなく、確かな知識が必要です。
ここではメインフレームの代表的OSであるMVS(z/OS)の基本的なしくみについて、運用部門に携わる新人エンジニアに必要なものを解説します。
株式会社アルテシード
代表取締役 神居 俊哉(かみい としや)

未ログイン: ログインする
コメント: ログイン(会員登録)すると、コメントを書き込むことができます。
| 第12回 SMF | [2010年1月6日] |
| 第11回 OSコマンドとコンソール | [2009年12月16日] |
| 第10回 IPLとターミネーション② | [2009年11月18日] |
| 第9回 IPLとターミネーション① | [2009年10月21日] |
| 第8回 データセット編成(データセットの種類) | [2009年9月16日] |
| 第7回 データセットとレコード | [2009年8月19日] |
| 第6回 データセットとボリューム | [2009年8月5日] |
| 第5回 タスクの終了と回復 | [2009年7月22日] |
| 第4回 アドレス空間とタスク | [2009年7月1日] |
| 第3回 ジョブ管理とJES2 | [2009年6月17日] |
| 第2回 JCL | [2009年6月3日] |
| 第1回 ジョブとは何か? | [2009年5月20日] |