CICS Abend AD2R

来源:互联网 发布:mac 隐藏dock 快捷键 编辑:程序博客网 时间:2024/04/28 19:55

  今晚登录环境又遇到了Abend AD2R,刚好同事基本下班了,自己可以琢磨琢磨。log如下:

STC00037  ++#AA9999E  ** SCZEXCP-TASK ID   :0011111                          
STC00037  ++#AA9999I  ** SCZEXCP-PGM-ID    :TCOENTR3                         
STC00037  ++#AA9999I  ** SCZEXCP-SYS-DATE  :20161124                         
STC00037  ++#AA9999I  ** SCZEXCP-TIME      :21:49:52                         
STC00037  ++#AA9999I  ** SCZEXCP-TR CODE   :999111                          
STC00037  ++#AA9999I  ** SCZEXCP-ACTION    :                                 
STC00037  ++#AA9999I  ** SCZEXCP-FILE TYPE :OTH                              
STC00037  ++#AA9999I  ** SCZEXCP-FILE ID   :SC6001                           
STC00037  ++#AA9999I  ** SCZEXCP-RET CD/MSG:ABCD=AD2RPGM=ABCTEST1 PSW=      
STC00037  +IBSTRCV8I TASK # 0000052 IN CDCN 11/24/2016 22:10:08_325 Received TIA  455 
           within 0004 MSs, then after 0015 MSs the ACK was sent.            
STC00037  +CBSMSG0E BSC6001E|20150612|22:10:08|001|501020|CICSDCN  456       
           |TCOENTR3|SC6001  |DFHD2EX1|4930   | |ABCD=AD2R PGM=ABCTEST1     
           PSW=                       |    


  场景:执行一个联机交易999111,柜面显示处理中一直到交易超时,对应程序ABCTEST1仅是write table的处理。

  解决方案:万能的度娘 

  最快处理方法:重建表

  表面可能原因:1.表参数有问题或表执行了什么操作。

  实际可能原因:1.有交易的挂死了,导致资源被占用,表从系统内核读取存储出现错误

                                  1). CEMT I TACK,用于查询当前所有线程,每个线程的任务都是相关联的。若任务相关的线程状态为‘S’,则说明在DB2中是活跃的,可能在DB2中允许中。

                                  2).可以退出DFHD2EX1相关的线程即可。


  看了下IBM关于DFHD2EX1任务相关问题的描述,整理如下:

  一、WAITs issued from the CICS DB2 TRUE

Resource type or Hty valueResource name or Hva valueMeaningPurge and forcepurgeDB2LOT_ECBCICS task is waiting for DB2, that is, waiting for the CICS DB2 task to complete the request. Used when CICS is connected to DB2 Version 5 or earlier.Purge: No. Forcepurge: YesCDB2RDYQname of DB2ENTRY or *POOLCICS task is waiting for a thread to become available. The resource name details for which DB2ENTRY or the pool has a shortage of threads.NoCDB2CONN The CICS task has an open TCB but is waiting for a DB2 connection to become available to use with the open TCB. This indicates that TCBLIMIT has been reached, and the maximum permitted number of open TCBs (and hence connections) are being used to access DB2.No

  二、WAITS issued using WAIT_OLDC dispatcher calls

Resource type or Hty valueResource name or Hva valueMeaningPurge and forcepurgeDB2_INIT CICS DB2 initialization program DFHD2IN1 issues the wait to wait for the CICS initialization task running program DFHD2IN2 to complete.YesDB2CDISCname of DB2CONNA SET DB2CONN NOTCONNECTED command has been issued with the WAIT or FORCE option. DFHD2TM waits for the count of tasks using DB2 to reach zero.YesDB2EDISAname of DB2ENTRYA SET DB2ENTRY DISABLED command has been issued with the WAIT or FORCE option. DFHD2TM waits for the count of tasks using the DB2ENTRY to reach zero.Yes

  三、EXEC CICS WAIT EXTERNAL requests issued by the attachment facility

Resource type or Hty valueResource name or Hva valueMeaningPurge and forcepurgeUSERWAITCDB2TIMEThe CICS DB2 service task program DFHD2EX2 is in its timer wait cycle either waiting for the protected thread purge cycle to pop or to be posted for another event.YesUSERWAITDB2STARTThe CICS DB2 service program DFHD2EX2 is waiting for DB2 to post it when it becomes active.Yes

  四、EXEC CICS WAIT EVENT requests

ModuleResource nameMeaningDFHD2EX2PROTTERMA TERM call has been issued for a protected thread during the protected thread purge cycle.可惜这直接就重建表了,未关注线程的相关问题.....DFHD2STRATCHMSUBThe CICS DB2 startup program DFHD2STR has attached the master subtask program DFHD2MSB and is waiting for it to identify to DB2. (Only applies when CICS is connected to DB2 Version 5 or earlier.)DFHD2STRDTCHMSUBThe CICS DB2 startup program is waiting for the master subtask program DFHD2MSB to terminate. (Only applies when CICS is connected to DB2 Version 5 or earlier.)DFHD2STPMSBRETRNThe CICS DB2 shutdown program is waiting for the master subtask program DFHD2MSB to terminate. (Only applies when CICS is connected to DB2 Version 5 or earlier.)DFHD2STPCEX2TERMThe CICS DB2 shutdown program is waiting for the CICS DB2 service task CEX2 running program DFHD2EX2 to terminate all subtasks and terminate itself.

  看了下IBM关于结束线程DFHD2EX1的描述,整理如下:

  1.每个CICS task之间和DB2之间由很多控制块链接;

  2.DFHD2EX1任务的每个线程都运行在DB2CONN和DB2ENTRY的控制中,即每个线程都运行在TCB的线程;

  

  DFHD2EX1会被一下事件调用:

  1.EXEC SQL commands and DB2 IFI commands from application programs

  2.syncpoint

  3.end of task

  4.INQUIRE EXITPROGRAM commands for the DB2 TRUE with the CONNECTST or QUALIFIER keywords (RMI SPI calls)

  5.EDF - when EDFing EXEC SQL commands

  6.CICS shutdown

                                                                

0 0