当シリーズを始めた経緯や、検証環境の情報についてはこちらのindexページをご覧ください。
LOADxxとは
IPL時に必要なシステム情報を識別するパラメーターを記載したメンバー
LOADxxとIEASYSxxの違い
- LOADxx は「どのIEASYSxxを使うか」などのIPL時に使用する構成情報を指定
- IEASYSxx は z/OS の初期パラメーターを定義
当初、LOADxxとIEASYSxxの持つ情報の違いが分かりづらかったので整理。
LOADxxは、IPL時に最初に読み込まれるシステム構成データセットで、使用するIEASYSxxのサフィックスや、マスターカタログ、IODFファイルやPARMLIBデータセットの名前といった情報を定義します。
IPLの早い段階で読み込まれ、その後のIPLプロセスに必要な構成ファイルをシステムに指示する設定ファイルです。
実機検証
各パラメーターの詳細についてはリンク先のマニュアルをご参照ください。
静的変更
HMCから、IPLを実行したいLPARを指定し、ロードアドレスとロードパラメーターを記入します。

IPLを実行すると、IEA246I:'LOAD ID xx SELECTED' というメッセージが出力されます。

IEA246I:
システム初期設定で、システムは PARMLIB メンバー memname を 選択しました。
「MVSシステム・コード」IEAメッセージ IEE246I
想定される注意点/考慮点
LOADxxのパラメーター指定を誤ると、システム全体の起動に関わる問題へつながる
例: パラメーターの指定ミスにより待ち状態に入る
HMC上でのIPL実行時の例です。システムを立ち上げるLPARを選択し、画面下部のRecoveryからLOADをクリックすると、先の画面でロードアドレスとロードパラメーターを指定します。

ここで本来LOAD00を指定するつもりが、間違えてサフィックスを10と指定して実行してしまいました。(実行前にちゃんと確認しましょう...)

通常、LOADxxが読み取られそのメンバー内の情報に基づいてIPLが実行される流れであるため、存在しないLOADxxを指定するとIPLは実行されません。
通常はNIPコンソールまたは"Integrated 3270 Console"をクリックして立ち上げたコンソールにNIPフェーズのメッセージが表示されますが、今回は正常でないLOADxxを使用したためメッセージが表示されません。
"Operating System Messages"は、NIPが完了してシステムコンソールが使用可能になってからメッセージが表示される場所なので、まだこのコンソールが使用できず、OSM0002というメッセージが表示されています。

何もメッセージが出ないので、どうすればよいか分からずHMC内をうろうろ。。。
HMCのHOME画面に戻り、Hardware MessagesからHardwareの情報を見ることができました。

Disabled Waitというメッセージが表示されています。
チェックを入れDetailを押すと中身を確認できます。

DISABLED WAITとは?
→ z/OSにおけるCPUが一時的に処理を中断し、I/Oなどのイベントが発生するのを待つ状態のことです。

-
PSW:Program Status Word
メインフレーム・アーキテクチャにおいてCPUの状態を記録・制御するためのデータ構造を指します。この例の場合、PSWの下3桁は待ち状態コードを表しています。PSWにはエラーの理由を示すreason codeも含まれています。088:
初期プログラム・ロード (IPL) 時に、システムが、SYS1.PARMLIB の メンバー LOADxx または NUCLSTxx の処理でエラーを検出しました。
「MVSシステム・コード」待ち状態コード 088今回、IPL時にSYSn.IPLPARM、SYS1.PARMLIB内で、指定したLOADxxを検出できず、このようなメッセージが出されました。
-
今回のように、LOADxx指定を誤り待ち状態になったらどうする?
再度LOADを行います。
実績のあるLOADアドレスとLOADパラメーターを正しく指定しIPLを実行します。

Operating System Messageを確認すると通常通りメッセージが流れています。

-
LOADxx内パラメーター指定に誤りがある時
LOADxxのサフィックス指定が正しくても、そのメンバー内パラメーターで何か誤りがあってIPLが中断、待ち状態になることもあります。(経験談)
IODFは01~03までしかありませんが、LOADxxのIODFステートメントでサフィックスを誤って変更したことに気づかず、このLOADxxを使用してIPLを実行してしまいました。

こんなことにしないように、修正したい時以外はBrowseかViewモードでメンバーを参照する癖をつけましょう。。。

ロード・パラメーターに正しくLOADxxのサフィックスを指定しても、その中身に問題があるので結局エラーになりました。
こんなときどうする??
-
ロード・パラメーターに、その環境で過去使用していた実績のあるLOADxxのサフィックスを指定する
今回、現行で使用していたLOADxxを編集してしまい、IPLが実行できませんでした。過去に使用していた実績のあるLOADxxメンバーを用いてIPLを再実行し、ログオン後にLOADxxを修正します。
また、通常の業務でIODFなどパラメーターを変更してIPLする際は、エラーが起きても変更前の状態に戻せるように変更前のIODFやLOADxxを残しておくことが一般的です。
-
別環境からログオンし、問題のあるLOADxxを修正した後にIPLを実行する
IPL実績のある代替LOADxxが存在しない場合、別環境にログオンし、LOADxxを直接修正した後にIPLを実行することも可能です。この方法は、別環境から問題のLOADxxが存在するDASDにアクセスできることが前提となります。

-
ロード・パラメーターに、その環境で過去使用していた実績のあるLOADxxのサフィックスを指定する
動的変更
LOADxxはメンバーの動的変更はできませんが、メンバー内パラメーターの中には動的変更が可能なものもあります。
例:SETLOAD xx,PARMLIB
IEASYSxxで指定された各メンバーは、LOADxxのPARMLIBステートメントに記入されたPARMLIBから探索されます。この SETLOAD コマンドにより、探索するPARMLIBリスト(論理PARMLIB連結)の記述を他のLOADxxに記載された論理PARMLIB連結に変更することができます。
D PARMLIB で現在のPARMLIBリストを確認します。

このPARMLIBリストを異なるLOADxxのPARMLIBリストへと動的に変更します。

SETLOAD xx,PARMLIB,DSN=PARMLIBデータセット名 のコマンドを実行します。

再度 D PARMLIB を実行すると、PARMLIBのリストが更新されたことを確認します。

IEF107I:
SETLOAD PARMLIB コマンドが正常に処理されました。
loadxx:parmlib 連結の動的変更に使用される LOADxx parmlib メンバーの名前
「MVSシステム・コード」IEFメッセージ IEF107I
Displayコマンドでの確認
D IPLINFO で、IPLに使用されたLOADxxやIODFファイルの格納場所などの情報を確認できます。

D IOS,CONFIG で、IPLに使用されたIODFファイルを確認できます。

終わりに
ここまでお読みいただきありがとうございました。
他のPARMLIBメンバーについてもぜひご覧ください。
PARMLIBメンバー記事indexページはこちら
