TDEPLOCK

タスクが、資源タイプがTDEPLOCKで資源名が一時データ待ち行列名の資源を待機して一時停止状態の場合、そのタスクは直前に区画外の一時データ待ち行列に対して要求を発行しました。すでに他のタスクがその待ち行列にアクセスしているため、その活動が完了するまでは、待機中のタスクは再開されません。

待機が長引く場合は、以下のいずれかの理由が考えられます。

  • データセットをオープンまたはクローズするために、タスクはTCBモードを変更する必要があります。この間、タスクは制御を解放する必要があります。システムの作業負荷によって、これには数秒を要することがあります。その結果、2番めのタスクが待機状態になり、その際、資源タイプはTDEPLOCKになります。

  • CICSがQSAMを使用して、区画外の一時データ宛先にデータを書き込んでいます。QSAMは、QSAMサービスを要求するタスクと同期実行されます。つまり、QSAMサービスを必要とするすべてのタスクが、QSAMの処理が完了するまで待機する必要があります。何らかの理由により、QSAMが長時間待機状態になった場合は、要求元のタスクも長時間待機することになります。

QSAMが区画外データセットにアクセスしようとする場合は、待機が長引く可能性があります。QSAMは、ボリュームへのアクセス時に、MVS RESERVEボリューム ロック方式を使用して、そのボリュームの排他制御を取得します。このため、同じボリュームにデータを書き込もうとする他のすべてのリージョンが強制的に待機させられることになります。

タスクが資源タイプTDEPLOCKを頻繁に待機する場合は、同じ区画外宛先にデータを書き込む他のトランザクションを調べてください。その結果、区画外宛先の再定義を検討する必要が生じることもあります。