DFSDLOC0

DFSDLOC0は、DL/Iデータベース オープン/クローズ モジュールです。データベース データセット全般と基本/副次索引のオープンとクローズを行います。DFSDLOC0は、DL/Iコール アナライザーDFSDLA00、DL/I検索モジュールDFSDLR00、DL/I削除/再配置モジュールDFSDLD00など、複数のモジュールから呼び出されます。

DFSDLOC0はデータセットDCB/ACBのオープンだけでなく、ランダム化モジュール、セグメント編集圧縮ルーチン、副次索引保守ルーチンのロードも行います。制御ブロックはデータベース情報に基づいて評価され、データセットはOSAMまたはVSAMバッファー プールに割り当てられます。その他のモジュールは、DBRC、ロック管理、データセット使用標識(DUI)処理用に呼び出されます。ロード対象としてオープンされたデータセットを対象とする特殊な処理も実行されます。

データベース クローズ処理は実行されません。データセットのクローズ、ランダム化モジュールとルーチンの削除、フィールドの評価が実行されます。また、データセットのクローズ処理に対応するその他のモジュールが呼び出されます。DFSDLOC0は、データセットのすべてのバッファーのパージも開始します。

ヒント

DFSDLOC0のCPU使用率はごくわずかです。データベースのオープン/クローズについて、パフォーマンスに関する考慮事項が1つあります。データベース制御ブロックを保持するプール(DMBプール)が小さすぎる場合、プール内に制御ブロックが存在しない参照目的だけのデータベース用にスペースを確保するため、未使用のデータベースがクローズされる可能性があります。データベースがプール内のスペースを取り合うと、データベースのオープン/クローズが頻発することがあります。IMSログのタイプx'20'(オープン)とx'21'(クローズ)のログ レコードを検証して、データベースのオープン/クローズの履歴を調べてください。

参考資料

詳細については、IMSのDBSOURCEライブラリー データセットを参照してください。IMSシステム プログラマーにお問い合わせください。