专栏首页吉吉在这里CICS配置管理TIPS

CICS配置管理TIPS

配置CICS

Forked from http://gejoin.com/2016/01/02/CICS-management-tips.html

配置 CICS REGION:

cicscp -v start sfs_server SFS_NAME	
cicscp -v create region REGION_NAME DefaultFileServer=

配置 RD:

cicsupdate -c rd -r REGION_NAME XPRecvTimeout=300 
cicsupdate -c rd -r REGION_NAME MinServer=30 
cicsupdate -c rd -r REGION_NAME MaxServer=80 
cicsupdate -c rd -r REGION_NAME MaxRegionPool=62914560 
cicsupdate -c rd -r REGION_NAME MaxTaskPrivatePool=20971520 
cicsupdate -c rd -r REGION_NAME MaxTSHPool=41943040
cicsupdate -c rd -r REGION_NAME TraceFlagMaster=on 
cicsupdate -c rd -r REGION_NAME TraceFlagSystem=on 
cicsupdate -c rd -r REGION_NAME TraceFlagUser=on AllowDebugging=yes

其中 REGION_NAME 需更改为您的 CICS REGION 名称。

配置 LD:

cicsadd -c ld -r REGION_NAME LD1 TCPAddress="backend_server" TCPService="tran-host" SNAServerTransport=TCP

其中 backend_server 是后端服务器的 IP 地址。 添加以下行以编辑 /etc/services 文件:

tran-host port_number/tcp

其中 port_number 是端口号。请确保此端口号与 /etc/services 文件中的其他端口号不冲突。

配置环境变量:

添加以下行,编辑/var/cics_regions/REGION_NAME/environment

COBPATH=/user/bin:/usr/lpp/cobol/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11
CICS_PROGRAM_PATH=/home/cbod/cbodload/load:/usr/lpp/cics/lib:.
DB2INSTANCE=db2inst1
COB_CPM_SIZE_MAX=0
EXTSHM=ON
DB2NOEXITLIST=ON

配置 WD:

cicsupdate -c wd -r REGION_NAME MDCL Permanent=no RecoverTerminal=no
cicsupdate -c wd -r REGION_NAME MDCI Permanent=no RecoverTerminal=no 配置WD

配置 TD:

cicsadd -c td -r REGION_NAME TCCZ ProgName="DFHMIRS" Timeout=5 TWASize=32767
cicsadd -c td -r REGION_NAME INQY ProgName="GCCBINQY" Timeout=5 TWASize=32767
cicsadd -c td -r REGION_NAME TCCA ProgName="GCCBMMN" Timeout=5 TWASize=32767 TWASize 大小不能忽略。

配置 PD:

cicsadd -c pd -r REGION_NAME GCCBMMN PathName="GCCBMMN" RSLKey=public
cicsadd -c pd -r REGION_NAME GCCBINQY PathName="GCCBINQY" RSLKey=public
cicsadd -c pd -r REGION_NAME GCCBCOP PathName="GCCBCOP" RSLKey=public 添加PD 查看和删除PD方法类似。

配置 XAD

cicsadd -c xad -r REGION_NAME cicsdb2 SwitchLoadFile="/usr/lpp/cics/bin/db21pc" XAOpen="DBNAME,USER_ID,PASSWORD"

其中 REGION_NAME、DBNAME、USER_ID 和 PASSWORD 需相应地替换为您环境中的信息。

配置 CTG:

要配置 ctg.ini 文件,请在 /opt/IBM/cicstg/bin/ctg.ini 文件中添加以下行:

SECTION SERVER = REGION_name
            UPPERCASESECURITY=N
            PROTOCOL=TCPIP
            NETNAME=IP_address
            PORT=port_number
            CONNECTTIMEOUT=0
            TCPKEEPALIVE=N
ENDSECTION
  • 其中 REGION_name、IP_address 和 port_number 需相应地替换为您环境中的信息。
  • 使用 root 用户帐户完成以下步骤以重新启动 CTG:
    • 运行 cicscli -s 命令以启动 CTG。
    • 可选: 要验证是否已成功启动 CTG,请运行 cicscli -l 命令。

停启CICS

cicscp -v stop region REGION_name
cicscp -v start region REGION_name StartType=cold

——– IPC支持 EXTSHM=ON

DB2NOEXITLIST=ON

Db2中出现的超时产生core : Transaction ‘CPMI’, Abend ‘A147’, at ‘???’. 以及对于一些莫名产生core信息只能看到数据库断开信息如:

 IOT/Abort trap in pthread_kill at 0xd0540a14
 0xd0540a14 (pthread_kill+0xb4) 80410014            lwz   r2,0x14(r1)
 pthread_kill(??, ??) at 0xd0540a14
 _p_raise(??) at 0xd053fe64
 raise.raise(??) at 0xd0120c20
 SupOS_CicsCOREDump() at 0xdc9eedb4
 SupOS_TurnSignalToException(??, ??, ??) at 0xdc9ed5dc
 sqleUCdisconnect(??) at 0xd86743b0
 sqleUCtermAllCtx(??, ??) at 0xd8673ef0
 sqleterm(char,sqlca*)(??, ??) at 0xd8cec01c
 sqle_ctx_exit_function()() at 0xd88f1e7c
 sqle_myexitlist_function()() at 0xd88f1cf0
 sqleExitApplicationEnvironment(unsigned int)(??) at 0xd88f12d0
 sqloipdc.sqlo_execute_list@AF34_4(??) at 0xd8804858
 sqlo_execute_list() at 0xd88047ac
 exit(??) at 0xd017cf70
 bde_thread_TaskExit(??) at 0xdc323b18
 bde_Exit(??) at 0xdc333dc4
 SupOS_Exit(??) at 0xdc9ed494
 ....

可以尝试添加环境变量 DB2NOEXITLIST=ON 有两种方法可以达到这个目的: 1. Set the environment variable DB2NOEXITLIST=ON for the DB2 client environment on the system with the TXSeries region. a) db2set DB2NOEXITLIST=ON b) db2 terminate c) re-start CICS region 2. Set DB2NOEXITLIST=ON in the region's environment and re-start the region. Refer to DB2 manual for more information on the DB2NOEXITLIST environment variable. 设置成yes似乎也可以,未验证... Set the environment variable DB2NOEXITLIST=yes in DB2 client env. 1.Set db2set DB2NOEXITLIST=yes. 2.Terminate DB2 and restart the region. Set DB2NOEXITLIST=yes in region's environment

一些错误分析: LINK和START调用的主要返回值解释如下: 1、LINK错误码分析 INVREQ(请求非法) 交易状态不对(有无SYNCONRETURN混用) TRANSID全空 LENGERR DATALENGTH选项为负值 DATALENGTH选项比LENGTH选项长 NOTAUTH 权限问题 使用了SYSID选项,但是RSLCheck没有设置为NONE PGMIDERR PD不存在 PD被disabled. ROLLEDBACK 被LINK的程序无法执行syncpoint SYSIDERR CD不存在或错误 对方域不存在或已经宕机 网络不通 在本地TD:timeout时,远端交易还在队列 通信错误码:15a00002/15a00102 TERMERR 会话失败,TRANSID不存在 在本地TD:timeout时,远端交易还在运行。通信错误码:15a00007/a0000100 RD:MaxTClassLim引起的Reject。通信错误码:15a00007/84b6031 2、START错误码分析 INVREQ(请求非法) Hours超范围 Minutes超范围 Seconds超范围 指定REQID但是该TSQ已经存在(在Pool不足时可能出现) IOERR SFS满 ISCINVREQ ISC失败 LENGERR 使用LENGTH(0). NOTAUTH 权限不足 使用了SYSID选项,但是RSLCheck没有设置为NONE SYSIDERR CD不存在或错误 对方域不存在或已经宕机 网络不通 通信错误码:15a00002/15a00102 TERMIDERR TERMID选项非法 TRANSIDERR TRANSID选项非法

 when ('NORMAL')       return ('0');
    when ('ERROR')        return ('1');
    when ('RDATT')        return ('2');
    when ('WRBRK')        return ('3');
    when ('EOF')          return ('4');
    when ('EODS')         return ('5');
    when ('EOC')          return ('6');
    when ('INBFMH')       return ('7');
    when ('ENDINPT')      return ('8');
    when ('NONVAL')       return ('9');
    when ('NOSTART')      return ('10');
    when ('TERMIDERR')    return ('11');
    when ('DSIDERR')      return ('12');
    when ('FILENOTFOUND') return ('12');
    when ('NOTFND')       return ('13');
    when ('DUPREC')       return ('14');
    when ('DUPKEY')       return ('15');
    when ('INVREQ')       return ('16');
    when ('IOERR')        return ('17');
    when ('NOSPACE')      return ('18');
    when ('NOTOPEN')      return ('19');
    when ('ENDFILE')      return ('20');
    when ('ILLOGIC')      return ('21');
    when ('LENGERR')      return ('22');
    when ('QZERO')        return ('23');
    when ('SIGNAL')       return ('24');
    when ('QBUSY')        return ('25');
    when ('ITEMERR')      return ('26');
    when ('PGMIDERR')     return ('27');
    when ('TRANSIDERR')   return ('28');
    when ('ENDDATA')      return ('29');
    when ('INVTSREQ')     return ('30');
    when ('EXPIRED')      return ('31');
    when ('RETPAGE')      return ('32');
    when ('RTEFAIL')      return ('33');
    when ('RTESOME')      return ('34');
    when ('TSIOERR')      return ('35');
    when ('MAPFAIL')      return ('36');
    when ('INVERRTERM')   return ('37');
    when ('INVMPSZ')      return ('38');
    when ('IGREQID')      return ('39');
    when ('OVERFLOW')     return ('40');
    when ('INVLDC')       return ('41');
    when ('NOSTG')        return ('42');
    when ('JIDERR')       return ('43');
    when ('QIDERR')       return ('44');
    when ('NOJBUFSP')     return ('45');
    when ('DSSTAT')       return ('46');
    when ('SELNERR')      return ('47');
    when ('FUNCERR')      return ('48');
    when ('UNEXPIN')      return ('49');
    when ('NOPASSBKRD')   return ('50');
    when ('NOPASSBKWR')   return ('51');
    when ('SYSIDERR')     return ('53');
    when ('ISCINVREQ')    return ('54');
    when ('ENQBUSY')      return ('55');
    when ('ENVDEFERR')    return ('56');
    when ('IGREQCD')      return ('57');
    when ('SESSIONERR')   return ('58');
    when ('SYSBUSY')      return ('59');
    when ('SESSBUSY')     return ('60');
    when ('NOTALLOC')     return ('61');
    when ('CBIDERR')      return ('62');
    when ('INVEXITREQ')   return ('63');
    when ('INVPARTNSET')  return ('64');
    when ('INVPARTN')     return ('65');
    when ('PARTNFAIL')    return ('66');
    when ('USERIDERR')    return ('69');
    when ('NOTAUTH')      return ('70');
    when ('VOLIDERR')     return ('71');
    when ('SUPPRESSED')   return ('72');
    when ('WRONGSTAT')    return ('73');
    when ('NAMEERROR')    return ('74');
    when ('CCERROR')      return ('76');
    when ('NOSPOOL')      return ('80');
    when ('TERMERR')      return ('81');
    when ('ROLLEDBACK')   return ('82');
    when ('END')          return ('83');
    when ('DISABLED')     return ('84');
    when ('ALLOCERR')     return ('85');
    when ('STRELERR')     return ('86');
    when ('OPENERR')      return ('87');
    when ('SPOLBUSY')     return ('88');
    when ('SPOLERR')      return ('89');
    when ('NODEIDERR')    return ('90');
    when ('TASKIDERR')    return ('91');
    when ('CONTAINERERR') return ('110');
    when ('TOKENERR')     return ('112');
    when ('CHANNELERR')   return ('122');
    when ('CCSIDERR')     return ('123');

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Install Scrapy on OSX|mac OSX 上安装Scrapy[SYN:gejoin.com]

    顺利的话,一句命令搞定: sudo pip install Scrapy OSX还是需要额外一些包或升级的,包括:

    gigiwangs
  • 虚拟机中安装Chrome OS(cloudready)

    CloudReady 是基于Chromium OS 编译版本,硬盘安装非常简便,支持非常多的老机器,个人用户可以免费从其网站上下载获取。一些其它特性自行搜索了解...

    gigiwangs
  • Install ExpressCache for SSD Caching

    如果你拥有一个安装SSD的电脑,而且已经安装了Windows操作系统。如果这台电脑在出厂OEM 系统分区但都已经被你改变了或者是全新的硬盘,那么这篇文章可能适合...

    gigiwangs
  • zephyr 开发环境的遇到一些问题

    官网描述参考: https://docs.zephyrproject.org/latest/guides/west/troubleshooting.html

    无限之生
  • LAMP=Linux+Apache+Mysql+Php

    一、当前互联网主流web服务 静态服务: 1.apache---中小型静态web服务的主流,web服务器中的老大哥 2.nginx---大型新型网络静态web服...

    用户1173509
  • autoconf/automake最快速使用

    automake工具会根据config.in中的参量把Makefile.am转换成Makefile.in文件。在使用Automake之前,要先手动建立Makef...

    十毛
  • Golang 正则表达式(regexp)

    Go内置了(regexp包)对正则表达式的支持,这里是一般的正则表达式常规用法的例子。

    孤烟
  • Eclipse中快捷键的使用

    用户5166556
  • cpp实现一个轻量json库

    github地址:https://github.com/HuangHongkai/SimpleJson

    ___
  • 100% 展示 MySQL 语句执行的神器-Optimizer Trace

    在上一篇文章《用Explain 命令分析 MySQL 的 SQL 执行》中,我们讲解了 Explain 命令的详细使用。但是它只能展示 SQL 语句的执行计划,...

    程序员历小冰

扫码关注云+社区

领取腾讯云代金券