IMSDBU は、様々な操作制御機能を備えたデータベース管理ツールです。これを使用して、データベースの初期化、ロード、アンロード、および再編成を実行できます。IMSDBU の操作を調整することで、ファイル命名規則、進捗レポート、統計、監査レポートなどを制御できます。
IMSDBU はスタンドアロン ユーティリティとして動作するため、IMSDBU を使用する際に PSB は必要ありません。IMSDBU は、DBDGEN 機能を使用して定義した物理データベースに対して作用します。また、アプリケーション リージョンの外部で動作するため、操作が効率的です。
以下のような IMSDBU 機能を使用して、IMS データベースを管理できます。
圧縮出口は、Load への入力ファイルおよび Unload の出力ファイルに使用されます。圧縮出口により、入力ファイルまたは出力ファイルのセグメント圧縮または暗号化 (あるいはその両方) が可能になります。圧縮出口は、MFIMS データベースに格納されたデータには使用されません。入力ファイルの圧縮解除および出力ファイルの圧縮を行うために、CBLDCIMS という標準ルーチンが用意されています。ユーザー記述プログラムでは、別のセグメント エンコーディングを実行できます。この出口を有効にするには、COMPRESS 指令を使用します。
IMS/ESA データベースをアンロードするための IMSDBUV サンプル プログラムは、IMSDBUV Load への入力用の圧縮ファイルを作成し、CBLDCIMS ルーチンを使用して解凍できます。
これらの出口の詳細は、%PUBLIC%\Documents\Micro Focus\Enterprise Developer\Samples\Mainframe\IMS\Classic\Examples (Windows) または $COBDIR/demo/Mainframe/IMS/Classic/Examples (UNIX) にあるサンプル ファイル DBUPARMS.CPY に記載されています。
論理データベースのロードは、Makelist 関数を使用することでさらに簡略化できます。Makelist は、論理的に関連したデータベースの全セットをロードするために必要なステップをすべて生成します。ユーザーが DBD 名を指定すると、Makelist はその関係に従ってセットを作成します。また、そのセットから、ステップを実行する Runlist 関数への入力用のファイルを生成します。
この専用レイアウトにより、データベースのロードが簡略化されます。ファイルおよびデータの物理特性は、ファイル内のヘッダーおよびトレーラーのレコードに格納されます。これには、セグメント名の配置、セグメント データ、圧縮オプションなどの項目が含まれます。この形式でのデータベースのロードは、入力ファイルを指定して LAYOUT(D) 指令を使用する場合と同様に簡単です。参考までに、IMSDBU レイアウト ファイルは、必要な記憶域および転送時間を削減するために可変長ファイルになっています。
IMSDBU は、専用の IBM レイアウトもサポートしています。これは、LAYOUT(I) 指令を使用して指定され、DFSURGU0 などの IMS/ESA DB アンロード ユーティリティを使用して作成された入力ファイルをサポートします。このレイアウトは、指令値 SEGM(7)、DATA(36)、RECFM(V)、および NOCOMPRESS を設定します。このレイアウトは、入力ファイル内の削除バイト設定に従い、削除済みとしてマークされたセグメントをスキップするように IMSDBU に指示します。
IMSDBU は、LAYOUT(S) 指令を使用して順編成入力ファイルをサポートします。これにより、COBOL プログラムから生成された入力ファイル、または (Windows プラットフォームのみ) Drag and Drop を使用してメインフレームから順編成ファイルとしてダウンロードした入力ファイルから IMS データベースをロードできます。
IMSDBU は、LAYOUT(G) 指令を使用して入力ロード ファイルの汎用レイアウトをサポートします。汎用レイアウトには、セグメント名およびセグメント データを各レコードの同じ位置に含める必要があります。このセグメントは、固定長または可変長として指定できます。SEGM 指令は、レコード領域内のセグメント名の位置を示します。DATA 指令は、セグメント データの開始位置を示します。ファイル内のセグメントは階層順になっている必要がありますが、キー順になっている必要はありません。