はじめに
注:この記事はPARMLIBの個別のメンバーについて説明する記事です。
PARMLIBメンバー記事のindexはこちら
この記事では、z/OSにおいてシステムの初期化や構成に必要なパラメーター情報を持つPARMLIBメンバーについて説明します。私はz/OSの勉強を始めて日が浅いのですが、マニュアルを読む際に以下のように感じることがありました。
- 「どのような状況でどのパラメーターを変更するか」 のユースケースの記載が少ない
-
「パラメーターの設定変更についてどのコマンドで実行、確認するか」 の情報が複数のマニュアルに散在していることがあり、素早く情報にたどり着くことが難しい
そこで今回は、実機検証の結果をもとに、各PARMLIBメンバーの概要とパラメーター変更のユースケース、よく使用するコマンドについてまとめました。私が勉強を進める中で出したエラーや、疑問に思い検証した点なども載せていますので、この記事を読む方の参考になれば幸いです。
この記事では、初学者とはこのような方を想定しています
- z/OS関連のプロジェクト(例:バージョンアップ)に入って日が浅い方
- z/OSのシステム管理を任されて日が浅い方
-
この記事の前提となるz/OSバージョン:z/OS V2R5
※本環境はVM上でz/OSを稼働させています。
-
各メンバーの詳細については、マニュアルの該当箇所をご確認ください
「MVS 初期設定およびチューニング解説書」 概要 SYS1.PARMLIB のメンバー
今後マニュアルリンクが変更になり、リンクにアクセスできなくなる可能性がありますが、ご了承ください。
-
実機検証の項目
- IPL時の指定
- メンバー/パラメーターの動的変更 (ここではIPLを伴わない変更を指します)
- Displayコマンドでの確認
- 補足(そのメンバー特有の追加検証など)
IEASYSxxとは
IPL(Initial Program Load)時のシステム初期化パラメーターを定義するメンバー
IEASYSxxの用途:
- パラメーターを設定したファイル(PARMLIBメンバー)をまとめる目次としての機能
- IPL時にシステム全体のパラメーターを設定する
日々大量の処理を行うメインフレームが問題なく稼働するためには、多くのパラメーターを設定する必要があります。システムがどのように動くかを定義するシステム・パラメーターはそれぞれのPARMLIBメンバーで指定されており、IEASYSxxはIPL時に参照する各PARMLIBメンバーのサフィックスを指定します。 また、IEASYSxx内では、すべてのジョブやタスクが利用する仮想記憶域のサイズなども指定します。
- PARMLIBメンバーのサフィックスとは:PARMLIBメンバー末尾の2文字の英数字
- 例:CLOCKxx
CLOCK01を使用したい場合、サフィックス 01 を指定する
- 例:CLOCKxx
想定される注意点/考慮点
パラメーターの指定によって、IPL実行時にエラーや異常終了となることがある
具体例
-
共通域のサイズ不足によるIPL時のエラー
z/OSには、すべてのジョブやタスクが共有して利用する仮想記憶域 (共通域) が存在します。システムに共通する情報を共通域に置くことで、z/OSの機能やデータを素早く呼び出すことができるため、システム全体の応答時間が改善され、パフォーマンスが向上します。
共通域は複数の領域に分かれていますが、IEASYSxx内で領域のサイズを指定するものもあります。この時にサイズが不足しているとIPL時にエラーが発生するため、導入先の要件に合わせて予め多めに見積もって設定する必要があります。
-
存在しないIEASYSxxを指定してIPLするとどうなる?
システムはLOADxxのPARMLIBステートメントに記入したPARMLIBの中からSYSPARMステートメントで指定したIEASYSxxメンバーを探します。LOADxxに記載のあるPARMLIB内に存在しないメンバーのサフィックスを指定するとどうなるか試してみました。
この環境に存在しないIEASYS10を指定してIPLを実行してみます。

以下のようなメッセージが出ました。このメッセージに対して、正しいサフィックスをReplyで応答することでIPLを続行します。このメッセージに対してEnterを押すと、エラーが出たIEASYSxxのシステム・パラメーターのインプットをそれ以降行いません。つまり、この場合だとLOADxxで指定したIEASYS10の読み込みは中止され、エラーが発生する前までに読み込まれたパラメーター、IEASYS00の情報をもとにIPLが実行されます。

IEA301I:
中核初期設定プログラム (NIP) がエラー条件を検出しました。
「MVSシステム・メッセージ」IEAメッセージ IEA301IIEA324I:
システム初期設定中に、中核初期設定プログラム (NIP) は、エラーが 原因で PARMLIB メンバー IEASYSxx からの入力を終了しました。
「MVSシステム・メッセージ」IEAメッセージ IEA324IIEA336A:
中核初期設定に、次のいずれかに正しくないパラメーターが入っていました。
メッセージ IEA101A に対するオペレーターの応答
アクティブ PARMLIB メンバー IEASYSxx で定義される システム・パラメーター
「MVSシステム・メッセージ」IEAメッセージ IEA336A
実機検証
各パラメーターの詳細についてはリンク先のマニュアルをご参照ください。
IEASYSxxの作成~IPL
IPL時の指定に関わらず、IEASYS00は必ず読み込まれます。 その後IEASYS00以外のIEASYSxxが読み込まれた際に、記載のある各パラメーターの設定が上書きされるようになっています。以下の例では、IEASYS00以外のIEASYSxxメンバーを作成し、IPL時にそのメンバーを参照するように指定しています。
以下の例では、システムの時刻設定に関するCLOCKxxを作成しIPLを実行しています。特殊な事例を除いて、実際の稼働環境でシステム全体の時刻設定を変更するケースはほとんどありません。メンバー作成とIPL時の指定の一例としてご覧ください。
-
D IPLINFOで、システムを構成する情報がどのデバイスにあるかを確認します。下図から、本環境ではアドレス5E9E上のSYS1.IPLPARMのメンバーLOAD10の情報を参照しIPLを実行していることが分かります。

-
LOAD10の
SYSPARMパラメーターに、作成したIEASYS01のサフィックス01を記入します。サフィックスのあとにLを指定することで、そのメンバーを処理した後、オペレーター・コンソールに処理したメンバーの内容を表示するようシステムに指示します。
変更前

変更後

-
IEASYS01が読み込まれた際に参照してほしいPARMLIBメンバーを新規作成し、IEASYS01内にそのメンバーのサフィックスを指定します。今回は新規メンバーCLOCK01を作成し、IPL後にシステムの時刻(タイムゾーン)を変更してみました。
変更前

変更後
システムの時間を国際標準時に合わせるよう指定しています。
(パラメーターについての説明はCLOCKxxをご覧ください。)

IEASYS01にCLOCK01を記入します。

-
IPLを実行後、SYSLOGを確認すると
IEA247I:'USING IEASYSxx FOR ...'IEE252I:'MEMBER xxxx FOUND IN ...'のメッセージが出力されています。


システムの時刻はD Tコマンドで確認できます。

IEA247I:
システム初期設定の場合、システムは、システム・パラメーターについて、メッセージ・テキストに示された PARMLIB メンバー IEASYSxx を使用して います。 複数の PARMLIB メンバー IEASYSxx を使用している場合には、システムは このメッセージの代わりにメッセージ IEA008I を表示します。
「MVSシステム・コード」IEAメッセージ IEA247IIEE252I:
メンバー member がメッセージ・テキストの parmlib データ・セット parmdsname で検出されたときに、ハードコピー・ログでのみ出される通知メッセージです。
「MVSシステム・コード」IEEメッセージ IEE252I
動的変更
IEASYSxxは動的に変更することはできませんが、メンバー内パラメーターの中には動的変更が可能なものもあります。
例:SET 変更したいメンバー = xx(サフィックス)
- 動的に変更できるもの:MVS System Commands:SETコマンドに記載のあるメンバー
- 動的に変更できないもの:上記マニュアルに記載のないメンバー、システム名、共通域のサイズなど
以下はBPXPRMxxのメンバーを動的に変更した例です。


Displayコマンドでの確認
D IPLINFO,確認したいPARMLIBメンバー でIPL時に使用されたIEASYSxx内の各PARMLIBメンバーのサフィックスやステータスを確認できます。


IEE255I:
DISPLAY IPLINFO,sysparm コマンドに対する応答として、このメッセージにシステム・パラメーターの値が表示されます
「MVSシステム・コード」IEEメッセージ IEE255I
終わりに
ここまでお読みいただきありがとうございました。他のPARMLIBメンバーについてもぜひご覧ください。
PARMLIBメンバー記事indexページはこちら



