LIU V2.1が前提とするIMSとz/OSのバージョンは以下の通りです。
- IMSバージョン9、バージョン10、バージョン11
IMSバージョン11の場合、LIUにPTF UK42768(APAR番号PK74275)を適用してください。
また、IMSバージョン11でBPE-Based DBRCでIntegrity Checkerを実行するためにはLIU のPTF UK52235 (APAR PM00241)とIMSのPTF UK52453 (APAR PK93338)を適用してくだい。BPE-based DBRCの詳細は、参考文献(1)を参照してください。 - z/OS 上記IMSバージョンが稼働するz/OSリリース
- ACBLIB Analyzer utilityのソート機能, Integrity CheckerでLICONファイルの移行を行う場合は、DFSORTもしくはDFSORTと同等の機能を持つ製品が必要です。
LIUのリソースのうち、Integrity CheckerのLICONファイルはLIU V1.1と互換性が無く、LICONの移行作業が必要となります。詳細は本稿の「旧バージョンのIntegrity Checkerからの移行作業」で述べます。
その他の物は互換性があり、従来使用していた物から変更不要です。下記に互換性があるリソースを挙げます。
- LIU V1.1で使用していたJCL, プロシジャー, コントロール・ステートメント, グローバル・オプション・モジュールはLIU V2.1でも使用できます。
- IMS Library Management Utilities(LMU)のDBD/PSB/ACB Compare, DBD/PSB/ACB Mapper, DBD/PSB/ACB Reversalで使用していたJCL, プロシジャー, コントロール・ステートメントはLIU V2.1でも使用できます。
- IMS Advanced Application Control Block Generatorで使用していたJCL, プロシジャー, コントロール・ステートメントはLIU V2.1でも使用できます。
- IMS Message Format Service(MFS) Reversal Utilities V1.1(5655-F45)のMFS ReversalとMFS Compareが、LIU V2.1にパッケージされました。MFS Reversal Utilities V1.1で使用していたJCLとコントロール・ステートメントは、LIU V2.1のMFS ReversalとMFS Compareでも使用できます。
IMS Database Solution Pack for z/OS V1.1とIMS Fast Path Solution Pack for z/OS V1.1
2010年2月10日にアナウンスされたIMS Database Solution Pack for z/OS V1.1とIMS Fast Path Solution Pack for z/OS V1.1は、IMSデータベースの再編成、バックアップ、診断・検証などを行うための複数のツールが1つにパッケージされた製品です。これらのSolution PackにはLIU V2.1もパッケージされています。Solution Packに含まれているLIU V 2.1は単体のLIU V2.1と同じ内容なので、LIU V1.1からの移行ガイドとLIU V2.1の新機能も単体のLIU V2.1と同じです。
LIU V2.1には、下記の8つのユーティリティーが含まれています。
- Integrity Checker
- データベースを更新するアプリケーションやユーティリティーで、誤ったDBDを使うことによって引き起こされるデータベースの破損を防ぐユーティリティーです。IMSシステム内やDL/IバッチJOB, IMSユーティリティーやIMS Tools製品のJOB実行中にIntegrity Checkerがバックグラウンドで稼働し、正しいDBDが使われているかチェックします。
- Consistency Checker
データベースの定義情報が正しく生成されているかチェックします。チェック対象は下記のものです。
- DBD生成ユーティリティーでDBDライブラリーに作成されたデータベース定義(DBD)
- PSB生成ユーティリティーでPSBライブラリーに作成されたプログラム仕様情報(PSB)
- ACB保守ユーティリティーでACBライブラリーに作成されたデータベース定義とプログラム仕様情報(ACB)
- IMSシステム生成でMODBLKSライブラリーに作成されたデータベース定義とアプリケーション・プログラム定義
- RECONに登録されているデータベース情報
- 動的割り振りマクロによってMDAライブラリーに作成されたデータベースの動的割り振り情報(MDA)
DBD, PSB, ACB, MDA, IMSシステム定義はバイナリー形式のモジュールがチェック対象です。ライブラリー内に指定されたデータベースの定義情報のモジュールが存在するかをチェックします。また、異なるタイプのリソースの簡単な相関チェックも行います。たとえば、ACBライブラリとDBDライブラリーに食い違いがないかチェックします。
Integrity Checkerとは異なり、Consistency Checkerは単独のバッチJOBで稼働し、実際にデータベースを更新するJOBを実行する前に、ライブラリー内にデータベース定義情報が正しいかどうかチェックできます。
- DBD/PSB/ACB Compare
- DBD, PSB, ACBを比較して、相違点をレポートするユーティリティーです。
- DBD/PSB/ACB Mapper
- DBD, PSB, ACBのセグメントの階層構造図をレポートするユーティリティーです。
- DBD/PSB/ACB Reversal
- DBD, PSB, ACBをDBD生成ユーティリティーの制御ステートメント、またはPSB生成ユーティリティーの制御ステートメントに変換するユーティリティーです。
- Advanced Application Control Block Generator (Advanced ACB Generator)
- IMS標準のACBGENよりも高速にACBを生成するユーティリティーです。
- MFS Reversal
- MFS言語ユーティリティーによって生成されたバイナリー形式のモジュール(MID, MOD, DIF, DOF)をMFS言語ユーティリティーの制御ステートメントに変換するユーティリティーです。LIU V2.1からLIUのユーティリティーとしてパッケージされました。
- MFS Comapre
- MID, MOD, DIF, DOFを比較して、相違点をレポートするユーティリティーです。LIU V2.1からLIUのユーティリティーとしてパッケージされました。
LIU V2.1では、ユーザビリティー向上のために多くの機能拡張が行われています。主な機能拡張は以下の通りです。
Integrity Checker
- IMS Database Recovery Facilityサポート
- RDE自動作成機能: データベースの再編成中に、RDE(注釈1)を自動作成できるようになりました
- RDE自動復元機能: データベースのリカバリー中に、RDEを自動復元できるようになりました
DBD/PSB/ACB Reversal
- サイト・デフォルト機能: 実行時オプションの省略値を変更できるようになりました
- DBDのRDMVTAB拡張の通知機能: DBDのエリアが拡張されていることを通知できるようになりました
Advanced ACB Generator
- ACB生成再実行の改良: Advanced ACBGENのJOBが異常終了した後、同じJOBを再実行すれば必要なACBの生成ができるようになりました
DBD/PSB/ACB Compare
- DBD/PSB/ACBの比較機能強化: DBDとACB, PSBとACBの比較ができるようになりました
MFS Reversal
- MID, MOD, DIF, DOFをMFS言語ユーティリティー制御ステートメントに変換するユーティリティーが加わりました
- MIDとMODの相互参照関係レポート機能が追加になりました
- MID, MOD, DIF, DOFをコピーする機能が追加されました
ここからは、それぞれの機能拡張について説明します。
IMS Database Recovery Facilityサポート
IMS Database Recovery Facility for z/OS(以下DRF)は、IMSデータベースのリカバリーを行うIMS Tools製品です。LIU V2.1のAPAR PK82286とDRF V3.1のAPAR PK73309で、DRF実行時にIntegrity Checkerが稼働し、誤ったDBDを使って引き起こされるデータベースの破損を防ぐことができるようになりました。
IMS Parallel Reorganization(以下IPR)、またはIMS High Performance Fast Path UtilitiesのFast Path Advanced Tool(以下HPFPUのFPA)でDBD変更を伴うデータベースの再編成をする場合、LIU V1.1のIntegrity Checkerでは、データベースを再編成した後に、ユーザーがLICONユーティリティーを使ってRDEの内容を更新する必要がありました(図1左側)。
LIU V2.1では、IPRまたはFPAでDBD変更を伴うデータベースの再編成をする時、Integrity CheckerがRDEを自動的に更新できるようになりました(図1右側)。これにより、IPRまたはFPAでデータベースを再編成した後のLICONユーティリティーの実行が不要になりました。
図 1. IPRまたはFPAでDBD変更を伴うデータベースの再編成する時の手順の違い
この機能を利用するためには、表1のAPARを適用してください。
表1. RDE自動作成機能を利用するために必要なAPARの一覧
| 製品名 | APAR番号 |
|---|---|
| LIU V2.1 | PK78962 |
| IPR V3.2 | PK69458 |
| HPFPU V3.2 | PK79836 |
データベースをDBD変更前の状態にリカバリーする場合、LIU V1.1のIntegrity Checkerでは、リカバリーJOBを実行する前に、ユーザーがLICONユーティリティーを使ってDBD変更前の内容にRDEを復元する必要がありました(図2左側)。LIU V2.1では、IMS High Performance Image Copy(以下HPIC) V4.1のリカバリー機能、またはDRF V3.1でデータベースをリカバリーする時、Integrity Checkerは適切なRDEを自動的に復元できるようになりました(図2右側)。これにより、HPICまたはDRFを使ってデータベースをリカバリーする前のLICONユーティリティーの実行が不要になりました。
図 2. DBのリカバリーをする時の手順の違い
この機能を利用するためには、表2のAPARを適用してください。
表2. RDE自動復元機能を利用するために必要なAPARの一覧
| 製品名 | APAR番号 |
|---|---|
| LIU V2.1 | PK82286, PK78962, PK72952 |
| IPR V3.2 | PK69458 |
| HPFPU V3.2 | PK79836 |
| HPIC V4.1 | PK69500 |
| DRF V3.1 | PK73309 |
DBD/PSB/ACB Reversalのコントロール・ステートメントで指定可能なパラメーターには省略値(デフォルト値)があります。LIU V2.1 のAPAR PK91313で新しく提供されたサイト・デフォルト生成ユーティリティーを使って、デフォルト値を変更することが可能となりました。これにより、各JOBのコントロール・ステートメントでの指定を減らすことができます(図3)。
図 3. サイト・デフォルト使用時のコントロール・ステートメント
サイト・デフォルト生成ユーティリティーには、実際にDBD/PSB/ACB Reversalで使用していたコントロール・ステートメントをそのまま入力することができ、その指定が導入システム内でのデフォルト値(サイト・デフォルト)になります。また、変更したい値のみをサイト・デフォルト生成ユーティリティーに入力することも可能です。
DBD/PSB/ACB Reversalでは、サイト・デフォルトを生成するためのサンプルJCLをSHPSSAMPライブラリーのFABNDFL1で提供しています。サイト・デフォルトを生成する際にはご活用ください。
DBDに定義するHDAMまたはPHDAMのランダム化パラメーターは、DBDのRDMVTABと呼ばれるエリアに保管されています。ユーザーはこのエリアを拡張して、任意のユーザーデータを保管することができます。DBDのRDMVTAB拡張については、参考文献(2)を参照してください。
従来は、DBD/PSB/ACB ReversalでこのようなDBDをDBD生成ユーティリティー制御ステートメントに変換しても、拡張したエリアの情報は制御ステートメントに反映されませんでした。そのため、ユーザーはRDMVTABを拡張していたことを見落とす可能性がありました。LIU V2.1 のAPAR PK95252によって、エリアが拡張されていることをユーザーにメッセージ(FABN0068W)で通知できるようになりました(図4)。
図 4. DBDのRDMVTABエリアが拡張されている場合の動作
Advanced ACBGEN実行中にACBライブラリーの空きスペース不足等の理由でJOBが異常終了してしまうと、いくつかのACBが生成できていない状態となってしまいます。このような場合、従来はユーザーがどのACB生成が未完了か調査し、未完了のACBのみ指定して再実行しなければなりませんでした(図5左側)。LIU V2.1では、JOBの異常終了によって生成できなかったACBをAdvanced ACBGENが自動的に特定し、そのACBを生成するように改良されました(図5右側)。つまり、ユーザーはACBライブラリーのスペースを拡張した後、前回異常終了したAdvanced ACBGEN JCLを修正せず再実行すればよくなり、手順が簡単になりました。
図 5. 異常終了した時の手順の違い
LIU V1.1のDBD/PSB/ACB Compareは、DBDとDBD, PSBとPSB, ACBとACBの比較しかできませんでした。LIU V2.1のAPAR PK72952で、DBDとACB, PSBとACBの比較も可能になりました。図6と図7は、DBDとACBを比較する時に使用するJCLとレポートの出力例です。
図 6. DBDとACBを比較する時に使用するJCL例
図 7. DBDとACBを比較した時のレポート出力例
MFS Reversalは、MFS言語ユーティリティーによって生成されたバイナリー形式のデータ(MID, MOD, DIF, DOF)をMFS言語ユーティリティーの制御ステートメント、つまりテキスト形式に変換するユーティリティーです。LIU V2.1からLIUのユーティリティーとしてパッケージされました。
さらに、APARで2つの新機能が追加されました。
MFS Reversalが出力する従来のMID/MOD XREFレポートは、MID, MODと DIF, DOFの参照関係を出力していました。LIU V2.1 のAPAR PK84633によって、MID/MOD XREFレポートにMIDとMODの相互参照関係も出力できるようになりました。
当修正適用後は、メッセージ記述子の参照先と参照元を表示する列がレポートに増えます。図8の例では、MID1はMOD1とMOD2を参照してMOD1から参照されています。そのため、MID/MOD XREFレポートのMID1の参照先(NXT=)の列にはMOD1とMOD2が出力されて、参照元(REFERENCED BY)の列にはMOD1が出力されます。
MID, MOD, DIF, DOFに関して、より詳しいことは参考文献(3)を参照してください。
図 8. MIDとMODの相互参照関係の出力例
LIU V2.1 のAPAR PM03227によって、MFS制御ブロック(MID, MOD, DIF, DOF)をコピーする機能が追加されました。SELECTステートメントで指定したメンバーと、そのメンバーと参照関係があるMFS制御ブロックを別データセットにコピーすることができます。図9の例は、SELECTステートメントにMID1を指定してコピー機能を実行しているので、MID1と参照関係があるMFS制御ブロックMOD1,DIF1,DOF1がCOPYFMT DDで指定したデータセットにコピーされます。
図 9. MFS制御ブロックのコピー機能
以上、LIU V2.1での機能拡張をユーティリティー毎に解説しました。
ここからは、話を変えてIntegrity Checkerのセットアップについて解説します。
Integrity Checkerは、IMSオンラインシステムやDL/IバッチJOB, IMSユーティリティーやIMS Tools製品のJOB実行時に、DBDの整合性をチェックします。誤ったDBDを使うことによって引き起こされるデータベースの破損を回避できる強力なツールです。
Integrity CheckerをIMSオンラインシステムやDL/IバッチJOB, IMSユーティリティーやIMS Tools製品のJOB内で動くようにするために、事前セットアップが必要です。ここから、Integrity Checkerを初めて使用する場合の事前セットアップ作業と、旧バージョンのIntegrity Checkerから移行するための作業をそれぞれ解説し、Integrity Checkerが使用するLICONファイルのサイズ見積もり方法について述べます。
Integrity Checkerを初めて使用する際のセットアップ
- グローバル・オプション・モジュールを作成する。
- グローバル・オプション・モジュールの作成方法は、LIU V2.1 User's GuideのCreating global option modulesを参照してください。
- LICONファイルを作成する。
- LICONファイルの作成方法は、LIU V2.1 User's GuideのDefining the LICON data setを参照してください。
- LICONファイルのサイズ見積もり方法は、後述の章「LICONファイルのサイズ見積もり」を参照してください。
- LICONファイルを初期化する。
- LICONファイルの初期化方法は、LIU V2.1 User's GuideのInitializing the LICON data setを参照してください。
- DBRC領域のJCL、DL/IバッチJCL、IMSユーティリティーやIMS Tools製品のJCL変更。STEPLIBの先頭にLIUライブラリーを指定する。
- IMSシステムを停止する。
- IMSシステムを開始する。または、DL/IバッチJOB、IMSユーティリティーやIMS Tools製品のJOBを実行する。
旧バージョンのIntegrity Checkerからの移行作業
LIU V1.1のIntegrity Checkerを使用している場合、LICONファイルの移行とIMSシステムの再起動を行ってください。LIU V2.1の新機能を使用しない場合でも、この作業が必要です。
LICONはLIUのIntegrity Checkerが使用するファイルで、DB定義の履歴を保存します。LIU V2.1ではLICONのレコード形式が変更され、レコード長が拡張されました。LIU V1.1で使用しているLICONファイルはLIU V2.1で使用できません。LIU V2.1のLICONへ移行するか、LICONを新しく作り直して下さい。どちらの場合でも、LICONファイルサイズを大きくする必要があります。LICONファイルのサイズ見積もり方法については、後述の章「LICONファイルのサイズ見積もり」を参照してください。
ここではLICONを移行する場合の手順を解説します。LICONを作り直す場合は、LIU V2.1 User's GuideのDefining and initializing the LICON data setを参照してください。
移行手順は、以下の4ステップです。
- バックアップファイルと移行先のLICONファイルを作成する
- LIU V1.1で使用しているLICONファイルをバックアップする
- LICONの形式を変換する
- LICONファイルを切り替える
移行サンプルJCLはSHPSSAMPライブラリーのFABLCNV2にあります。ここから、サンプルJCLを使ったLICONファイルの移行手順を説明します。
- バックアップファイルと移行先のLICONファイルを作成する
LIU V1.1で使用しているLICONのバックアップファイルと移行先のLICONファイルを作成します。図10は、これらのファイルを作成するためのステップです。まず、JCLの「liuhlq.licondsn」をLIU V1.1で使用しているLICONファイル名で置き換えてください。次に、「vvvvvv」、「p1 s1」、「xx yy」の値には、LIU V1.1で使用しているLICONファイルが十分入る大きさを指定してください。
図 10. ファイルの作成JCL
- LIU V1.1で使用しているLICONファイルをバックアップする
LICONファイルをLIU V2.1の新形式へ移行する前に、LIU V1.1で使用しているLICONファイルのバックアップを取得します。図11は、LICONファイルをバックアップするためのステップです。「liuhlq.licondsn」をLIU V1.1で使用しているLICONファイル名で置き換えてください。
図 11. LICONファイルのバックアップ取得JCL
- LICONの形式を変換する
SORTプログラムを使って、V2.1のレコード形式に変換します(図12)。「liuhlq.licondsn」をLIU V1.1で使用しているLICONファイル名で置き換えてください。
図 12. LICON変換JCL
- LICONファイルを切り替える
最後に、LICONファイルをリネームして、LIU V1.1で使用しているLICONファイルを移行先のLICONファイルに切り替えます。図13は、LICONファイルをリネームするためのステップです。「liuhlq.licondsn」をLIU V1.1で使用しているLICONファイル名で置き換えてください。
図 13. LICONファイルのリネームJCL
Integrity Checkerが稼動しているIMSシステムを全て停止して再起動してください。
- LICONファイルを移行する、または、LICONファイルを新規作成する
- DBRC領域のJCL変更。STEPLIBのLIUライブラリーをLIU V1.1からV2.1に変える
- Integrity Checkerが稼動しているIMSシステムを全て停止する
- IMSシステムを開始する
LICONファイルを作成するとき、どの程度のファイルサイズが必要になるかあらかじめ把握しておく必要があります。この章では、LICONファイルのサイズを見積もる方法について説明します。
図14の式は、LICONファイルのサイズを見積もるための計算式です。LICONファイルのサイズを正確に見積もりたい場合は、図14の見積もり式を使ってください。
図 14. LIU V2.1で使用するLICONに必要なファイルサイズの見積もり式
LICONファイルのサイズをおおまかに見積もりたい場合は、下記の式を使ってください。データベースのセグメント数が20程度までなら、以下の式で計算した値を目安にしてください。
LIU V2.1で使用するLICONのファイルサイズ = ( 32×N FFDB + 32×N PART + 16×N AREA ) Kbytes
- FFDB(HALDBを除くフル・ファンクション・データベース)に必要な総サイズ = 32×N FFDB Kbytes
- N FFDB : 処理したいFFDBの数
- HALDBに必要な総サイズ = 32×N PART Kbytes
- N PART : 処理したいHALDBパーティションの数
- DEDBに必要な総サイズ = 16×N AREA Kbytes
- N AREA : 処理したいDEDBエリアの数
将来、処理したいFFDBやHALDBパーティション, DEDBエリアの数が増えることを考慮して、あらかじめLICONのファイルサイズを大きくしておくことをお勧めします。
LICONファイルのアロケーション時に、例えば、見積もったファイルサイズの1から2割程度の大きさを1次割り振り量に指定し、1次割り振り量の1割程度の大きさを2次割り振り量に指定する、というようにしてください。
本稿では、旧バージョンとの互換性と、LIU V2.1の新機能、Integrity Checkerのセットアップと移行手順、LIU V2.1 User's Guideに記述されていないLICONファイルのサイズ見積もり方法を説明しました。
LIU V2.1を使用する際は、新機能の使用もご検討ください。なお、本稿以降の機能拡張は IMS Tools Libraryサイト の”See Updates to this book!”やAPAR Descriptionをご覧ください。
- (1) BPE-based DBRCについての詳細は、IMS V11 Release Planning, GC19-2442のChapter 11 DBRC enhancement を参照してください。
- (2) DBDのRDMVTAB拡張についての詳細は、IMS V11 Exit Routines, SC19-2437のChapter 11 HDAM and PHDAM randomizing routines (DFSHDC40) を参照してください。
- (3) MFS制御ブロック(MID, MOD, DIF, DOF)の詳細は、IMS V11 Communications and Connections, SC19-2433のChapter 26 Editing and formatting IMS messages を参照してください。