言語環境プログラムを実動状態に移行するための一般的方法としては、言語環境プログラムを LNKLST/LPALST に
追加する方法と、STEPLIB アプローチを使用する方法の 2 種類
があります。
LNKLST/LPALST
言語環境プログラムを LNKLST/LPALST に追加すると、言語環境プログラムは
すべてのアプリケーションから使用可能になります。言語環境プログラムを LNKLST/LPALST に
追加する前に、すべてのアプリケーションが言語環境プログラムで正しく機能するように
するためには、言語環境プログラムを LNKLST/LPALST に一時的にインストールするか、
または STEPLIB を使用します。
アプリケーションがランタイムに使用できる PL/I ランタイム・ライブラリーは、1 つだけ
である必要があります。例えば LNKLST には、言語環境プログラム用の SCEERUN などの PL/I ランタイム・
ライブラリーが 1 つだけ含まれるようにする必要があります。
複数のライブラリーが存在すると、ライブラリーが見つからないというエラーや、
連結内に使用されないロード・ライブラリーが含まれるという事態が発生します。言語環境プログラムを LNKLST/LPALST に
追加する場合は、他のすべての PL/I ランタイム・ライブラリーを除去してください。
LNKLST/LPALST への一時的インストールまたは STEPLIB の使用
言語環境プログラムの LNKLST/LPALST への一時的インストールに関する
提案としては、次のものがあります。
- 言語環境プログラムを、最初にテスト用または開発用マシンの LNKLST/LPALST に
インストールする。
- SETPROG MVS システム・コマンドを使用することにより、システムに対して IPL を
実行する必要なしに、LNKLST または LPA を一時的に変更する。SETPROG コマンドの
使用については、「z/OS MVS システム・コマンド」(SA88-8593-02) または
「OS/390 MVS システム・コマンド」(GC88-6592-09) を参照してください。
- 週末の間に IPL を実行し、言語環境プログラムを LNKLST/LPALST にインストールする。
週末の間に、アプリケーションが言語環境プログラムで実行できることを検証する。
注:
z/OS および OS/390 の数多くのエレメントが言語環境プログラム・ランタイム・
ライブラリーに依存していますが、z/OS と OS/390 のどちらの場合でも言語環境プログラムを LNKLST に
インストールする必要はありません。(ただし、言語環境プログラムは z/OS および OS/390 と
同じゾーンにインストールする必要があります。)
言語環境プログラムを LNKLST に配置しない
場合は、言語環境プログラムを必要とする個々の z/OS または OS/390 PROC で、言語環境プログラムに対して STEPLIB を
使用する必要があります。どのエレメントが言語環境プログラムを
必要とするかについては、下記を参照してください。
- 「z/OS プログラム・ディレクトリー z/OS バージョン 1 リリース 1」または
「OS/390 プログラム・ディレクトリー OS/390 バージョン 2 リリース 10」
STEPLIB
STEPLIB アプローチを使用することにより、言語環境プログラムを段階的に
導入できます。STEPLIB に言語環境プログラム・ランタイムを指定する場合
には、1 つの領域 (CICS または IMS)、バッチ (アプリケーションのグループ)、または
ユーザー (TSO) を同時に導入します。
STEPLIB を使用すると、JCL を変更することになりますが、段階的に移行するほうが、
すべてのアプリケーションを一度に移行するよりも簡単になる可能性があります。なお、STEPLIB を
使用した場合、プログラムは LNKLST/LPALST を通じてランタイム・ライブラリーに
アクセスする場合よりも動作が遅くなり、より多くの仮想記憶域を使用することに注意してください。
注:
複数のプロセッサーがチャネル間接続で相互にリンクされている
場合は、システム全体を 1 つのプロセッサーとして扱い、サブシステムごとに
移行する必要があります。CEEDUMP のデフォルトの割り振りがユーザーのショップのニーズに
合わない場合は、初期セットアップ時に JCL を変更して STEPLIB に言語環境プログラム・ランタイム
を指定することに加えて、CEEDUMP DD も指定する必要が生じる場合が
あります。(CEEDUMP は、言語環境プログラムがダンプ出力を
書き込む DD 名です。)
STEPLIB と IMS プログラムに関する問題
STEPLIB を IMS/DC オンライン上で使用して言語環境プログラム・ランタイム
にアクセスすると、プリロードし言語環境プログラム・ライブラリー・ルーチンは、
読み取り専用ストレージにはロードされません。アプリケーションにエラーがあり、
アプリケーション以外のストレージを上書きした場合、プリロードしたランタイム・
ルーチンは破壊され、使用すると異常終了を発生させる可能性があります。再入可能としてマーク
されたこれらのプリロード済みルーチンは、LPA または LNKLST/LPALST からロードされた
場合を除き、リフレッシュ時にリフレッシュされません。そのため、異常終了は繰り返し発生します。
注:
これは、MVS (OS/390)、IMS、および STEPLIB に関して 20 年前から存在する
問題ですが、言語環境プログラムに段階的に移行するために提案した STEPLIB アプローチに関連して、
ここで説明しました。
この問題を回避するには、次のいずれかの方法を使用します。
- 言語環境プログラムを LNKLST/LPALST にインストールする。
- ランタイム・ルーチンをプリロードしない。(これによりパフォーマンスが低下します。)
影響を最小限にとどめる方法
- 言語環境プログラムの証明を可能な限り短くする。(証明を
早く受けるほど、LNKLST/LPALST に早くインストールできます。)
- 複数の異なるアプリケーションが同じ領域で異常終了するかどうかを監視する。これにより、
リカバリー手順を行う必要があるかどうかがわかります。
リカバリーの方法
複数の異なるアプリケーションが同じ領域で実際に異常終了していたら、
下に示す IMS コマンドを使用し、その領域を停止して再始動します。
- 次のコマンドを発行して、領域の番号を判別します。’/DISPLAY
ACTIVE’
- 次のコマンドを発行して、領域を停止します。’/STOP REGION
region#’
- 次のコマンドを発行して、領域を再始動します。’/START REGION
region-name’
STEPLIB の例
次に、STEPLIB を用いて言語環境プログラムを段階的に導入する方法の例を
示します。この例では、中央の開発センター (すべてのコンパイル作業と
リンク作業を 1 箇所で行う) と、それとは独立した複数の実動場所を持つ
組織を想定しています。これは非常に無難なアプローチですが、
実動アプリケーションが絶対に停止しないことを要求する多くのお客様によって
使用されています。
- 中央の開発センターで言語環境プログラムと Enterprise PL/I を証明する。
- 現在のランタイム上でキャプチャーしたデータを使用してテストを実行し、すべての結果を
保存する。
- 言語環境プログラムを STEPLIB 環境にインストールする。これにより、
変更されていないジョブは現在のランタイムで実行されますが、一部のユーザーは、STEPLIB JCL を
使用して言語環境プログラム・ランタイム・ ライブラリーにアクセスする
ことにより、言語環境プログラム・ランタイムを使用できます。
- STEPLIB 環境を使用し、言語環境プログラム・ランタイム上でキャプチャーしたデータを使用して
テストを実行し、その結果を現在のランタイムの場合と比較する。証明
サイクルの全体を通じて並列テストを実行し、アプリケーションを言語環境プログラムで
実行した場合に、現在のランタイムで実行した場合と同じ結果が出る
ようにします。
- 最後に、Enterprise PL/I を使用してテスト・アプリケーションをコンパイルする。STEPLIB に言語環境プログラム・ランタイム
・ライブラリーを指定し、証明テストを再び実行する。
- 言語環境プログラムを中央の開発センターのシステムにインストールし、テストを実行する。
- 既存アプリケーションの移行されていないバージョンについて、STEPLIB を使用して
現在のランタイムにアクセスして、並列テストを実行する。
- すべての新規アプリケーションを、実動運転にリリースする前に、言語環境プログラム・ランタイム
環境で実行する。
- バックアウト戦略を準備する。
- 言語環境プログラム・ランタイムをバックアウトする必要が生じた場合に備えて、現在の
ランタイムのインストール手順を保管しておく。
- 言語環境プログラム・ランタイムを 1 箇所の実動場所にインストールする。
- 既存アプリケーションの移行されていないバージョンについて、STEPLIB 環境で
現在のランタイムを使用して、並列テストを継続する。
- この実動場所で言語環境プログラム・ランタイムを 1 か月間
実行する。
- 言語環境プログラム・ランタイムをすべての実動場所にインストールする。
- オプション: 既存アプリケーションの移行されていないバージョンに
ついて、STEPLIB 環境で現在のランタイムを使用して、並列テストを
継続する。
- すべての実動場所で言語環境プログラム・ランタイムを 1 か月間
実行する。
- 1 か月経過したら、現在のランタイム・ライブラリーの内容をすべて
削除する。
可能な範囲で、最も大きな作業単位の移行を試行してください。オンライン領域、
アプリケーション、あるいは実行単位の全体を一度に移行することで、1 つのアプリケーション
や実行単位に含まれるプログラム間の相互作用を確実にテストできます。
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)