630 likes | 1.3k Views
TXSeries CICS 和 CTG 的安装与迁移. 刘睿. 概要. 安装 TXSeries 安装 CTG/CUC 迁移到 TXSeries v6.1. 安装 TXSeries. 在 Solaris 上安装的准备工作. TXSeries 需要的系统参数 ( 修改 /etc/system 文件,需要重新启动 ) :设置单进程的共享内存最大为 50M set shmsys:shminfo_shmmax=52428800 设置单进程句柄硬限制为 1024 ,然后再使用“ ulimit -n 1024” set rlim_fd_cur=0x400
E N D
概要 • 安装TXSeries • 安装CTG/CUC • 迁移到TXSeries v6.1
在Solaris上安装的准备工作 • TXSeries需要的系统参数(修改/etc/system文件,需要重新启动):设置单进程的共享内存最大为50Mset shmsys:shminfo_shmmax=52428800 • 设置单进程句柄硬限制为1024,然后再使用“ulimit -n 1024”set rlim_fd_cur=0x400 • CTG需要的系统参数:set msgsys:msginfo_msgmax = 65535Maximum size of System V message. • set msgsys:msginfo_msgmnb = 65535Maximum number of bytes that can be on any one message queue.set msgsys:msginfo_msgssz = 32Specifies size of chunks system uses to manage space for message buffers. Obsolete since the Solaris 8 release. set msgsys:msginfo_msgseg = 16384Number of msginfo_msgssz segments the system uses as a pool for available message memory. Total memory available for messages is msginfo_msgseg * msginfo_msgssz. Obsolete since the Solaris 8 release. set semsys:seminfo_semmni = 4096Maximum number of semaphore identifiers. set msgsys:msginfo_msgtql = 10000The maximum number of queue entries that can be in the system at the same time. A low value can adversely affect system performance, or cause the client to freeze. IBM recommends that you set this value to the maximum (10000), or at least double the maximum number of concurrent requests. Stress load your system, and then use the ipcs -qa command to determine the setting.
在HP-UX上安装的准备工作 use “sam” maxfiles=1024 maxswapchunks=512 max_thread_proc=1024 //即max_thread_proc=8 + (10 x MaxServers)。此参数不足时系统报ccreatethread失败 maxuprc=256 maxusers=256 nflocks=256 ninode=8192 nkthread=((nproc*7/4)+16) //nproc=(20 + 8 * maxusers)即nkthread= 64 + 33 x MaxServers。可用4096 npty=128 semmnu=64 semume=32 shmmax=0x10000000 //256 MB shmmni=200 shmseg=120 #CTG需要的系统参数: msgssz=32 msgmnb=65535 msgmax=65535 msgseg=16384 msgmni=500
在AIX上的准备工作 • 修改“Maximum number of PROCESSES allowed per user”(默认128)chdev -l sys0 -a maxuproc=‘2048‘观察lsattr -El sys0 -a maxuproc • 激活异步IOmkdev -l aio0 • 修改AIX的cics用户的限制数值(在/etc/security/limits文件) fsize = -1 fsize_hard = -1 core = -1 cpu = -1 data = -1 rss = -1 stack = -1 nofiles = -1 • 安装C编译器之前,注意安装bos.adt。
V6.x/7.x:安装TXSeries步骤 (1) • 准备工作: • 安装C或COBOL编译器,数据库开发环境等 • 检查网络情况(hostname, /etc/hosts, smitty tcpip, ifconfig, netstat –in…) • 如果有必要,准备文件系统(/var/cics_regions, /var/cics_servers…) • 执行安装程序 • Windows: setup.exe • UNIX: TXSeries##-<platform>.bin –console
V6.1:安装TXSeries步骤(2) 创建SFS前,如果有必要,酌情设置如下的环境变量: • CICS_SFS_SERVERSets the default working SFS. This overrides the environment variable ENCINA_SFS_SERVER. #例:CICS_SFS_SERVER=/.:/cics/sfs/LR1PC • CICS_SFS_SIZESpecifies the size (in MB) of both the data and the log logical volumes for the SFS. 在AIX上是CICS_SFS_SIZE/4*<块大小>。#例:CICS_SFS_SIZE=68 • CICS_SFS_VGFor Open Systems this specifies the logical volume group for and for Windows NT this specifies the location of both the data and the log logical volumes for the SFS. • CICS_SFS_DATA_SIZESpecifies the size (in MB) of the data logical volume for the SFS. This overrides the environment variable CICS_SFS_SIZE. • CICS_SFS_DATA_VGFor Open systems this specifies the logical volume group for and for Windows NT this specifies the location of the data logical volume for the SFS. This overrides the environment variable CICS_SFS_VG. • CICS_SFS_LOG_SIZESpecifies the size (in MB) of the log logical volume for the SFS. This overrides the environment variable CICS_SFS_SIZE. • CICS_SFS_LOG_VGFor Open Systems the specifies the logical volume group for and for Windows NT this specifies the location of the log logical volume for the SFS. This overrides the environment variable CICS_SFS_VG.
V6.1:安装TXSeries步骤(3) • 执行创建SFS命令:cicscp -v create sfs_server <SSD名> [ShortName=...] [UserID=...]#即:cicscp -v create sfs_server /.:/cics/sfs/<sfs_server_name>#注:By default, sfs_server_name is the first seven characters of the name of the machine on which you are creating the SFS server. • 冷启动SFScicscp -v start sfs_server <SSD名> StartType=cold • 执行创建region命令:cicscp -v create region <域名> DefaultFileServer=<SSD名>#例:cicscp -v create region CICS01 DefaultFileServer=/.:/cics/sfs/LR1PC • 冷启动Regioncicscp -v start region <域名> StartType=cold#例:cicscp -v start region CICS01 StartType=cold
V6.1:安装TXSeries步骤(4) 配置Web Admin Console: • 更新默认的端口(80端口经常与其它系统冲突)修改“%CICSPATH%/wui/conf/config.properties”文件,例如:com.ibm.pvc.webcontainer.port=9853 • 停止/启动lwi • UNIXcd $CICSPATH/wui/bin./lwistop.shnohup ./lwistart.sh & • 在Windows上有TXSeries LWI服务。更新启动用户;将其加入cicsgroup。 • 访问主页“http://localhost:9853/txseries/admin”
v5.x/v4.x:在Windows上安装TXSeries • 执行setup.exe • 执行cicscp destroy dcecicscp create dce –R • 安装DCE的补丁安装Encina/CICS的补丁 • 可选:设置环境变量 • 新建Region去掉“使用DCE来定位服务器”选项
v5.x/v4.x:设置用户、组(1) [AIX] smitty mkgroup Group NAME cics USER list root ADMINISTRATOR list root Group NAME cicsterm USER list root ADMINISTRATOR list root [HP]: ln -s /etc/group /etc/logingroup [nonAIX]: groupadd cics groupadd cicsterm
v5.x/v4.x:设置用户、组(2) [AIX] smitty mkuser User NAME cics Primary GROUP cics Group SET cicsterm User NAME SFS_SERV Home Dir /var/cics_servers/SSD/cics/sfs/$ServerId Primary GROUP cics Group SET cicsterm [nonAIX]: useradd -g cics -s /bin/ksh -d /opt/cics cics useradd -g cics -s /bin/ksh -d /var/cics_servers/SSD/cics/sfs/serverId SFS_SERV 检查/etc/passwd和/etc/group文件,root,cics,SFS_SERV(还有数据库用户)属于cics和cicsterm组。 注意:将root, cics和db加入cics, cicsterm和DB组。
创建日志文件系统和逻辑卷(1) [AIX] smitty crjfs 选择'Add a Standard Journaled File System'和相应得卷组(vg): SIZE of file system 200000 //100 mega bytes(单位:0.5K) MOUNT POINT /var/cics_servers Mount AUTOMATICALLY at system restart? Yes SIZE of file system 800000 //400 mega bytes,根据实际交易量 MOUNT POINT /var/cics_regions Mount AUTOMATICALLY at system restart? Yes 注:在/usr/lpp/cics(AIX)或/opt/cics(nonAIX)需要150M [Solaris]: use “format” [HP]: use “sam” mount /var/cics_servers mount /var/cics_regions 如果仅在/var下建立目录,请考虑安全属性。例:chmod 755 cics_* mkdir /var/cics_regions mkdir /var/cics_servers chown -R cics:cics /var/cics*
v5.x/v4.x:创建日志文件系统和逻辑卷(2) [AIX] smitty mklv 用F4键选择相应的卷组(vg)。(用smit删除重名卷组,删不掉重启动) Logical volume NAME sfs_SFS_SERV Number of LOGICAL PARTITIONS 2 //512M(单位:256M) Logical volume NAME log_SFS_SERV Number of LOGICAL PARTITIONS 1 //256M(单位:256M) [Solaris]: use “format” [HP]: use “sam”
v5.x/v4.x:创建日志文件系统和逻辑卷(3) [AIX] 假设SFS短名(%S)为SFS_SERV cd /dev //log_SFS_SERV, sfs_SFS_SERV, rlog_SFS_SERV, rsfs_SFS_SERV chown SFS_SERV:cics *SFS* //有四个设备会被授权SFS_SERV用户 chmod 640 *SFS* //有四个设备会被授权SFS_SERV用户 [Solaris]: (假设SFS短名(%S)为SFS_SERV,假设硬盘c0t2d0的第0/1分区分别用于逻辑卷log_SFS_SERV/sfs_SFS_SERV) cd /dev/dsk ln -s c0t2d0s0 log_SFS_SERV ln -s c0t2d0s1 sfs_SFS_SERV cd /dev/rdsk ln -s c0t2d0s0 log_SFS_SERV ln -s c0t2d0s1 sfs_SFS_SERV chown SFS_SERV:cics /dev/dsk/*SFS* chown SFS_SERV:cics /dev/rdsk/*SFS* chmod 640 /dev/dsk/*SFS* chmod 640 /dev/rdsk/*SFS* [HP]: (假设SFS短名(%S)为SFS_SERV,假设逻辑卷log_SFS_SERV/sfs_SFS_SERV在卷组VG00) chown SFS_SERV:cics /dev/VG00/*SFS* chmod 640 /dev/VG00/*SFS* 注意:SFS用户名缺省为SFS_SERV,广义的说,卷名为:sfs_$SFS_USER_NAME和log_$SFS_USER_NAME。
设置环境变量并初始化(1) • HP, Solaris使用/etc/profile需要export, • AIX使用/etc/environment文件,某些可以加入文件:“/var/cics_regions/$CICSREGION/environment”,注意在environment文件中不能用宏($)。某些环境变量(如XA使用的)在AIX系统必须加入environment文件 • AIX常用的环境变量设置EXTSHM=ONLDR_CNTRL=MAXDATA=0x10000000
v5.x/v4.x:设置环境变量并初始化(2) PATH中加入"/usr/lpp/cics/bin:/usr/lpp/encina/bin:/usr/lpp/dce/bin:/usr/lpp/encina/etc",同时检查数据库"bin"路径是否设置 PATH=$PATH:/usr/ibmcxx/bin:/usr/lpp/cics/bin:/usr/lpp/encina/bin:/usr/lpp/dce/bin:/usr/lpp/encina/etc PATH=$PATH:/opt/cics/bin:/opt/encina/bin:/opt/dcelocal/bin:/opt/dcelocal/etc //HP PATH=$PATH:/usr/local/bin:/usr/ucb:/opt/cics/bin:/opt/dcelocal/bin:/opt/encina/bin //Solaris LANG=en_US (environment文件) LANG=en_US.iso88591 (HP) LANG=C (nonAIX) CICSPATH=/usr/lpp/cics CICSPATH=/opt/cics (non AIX) ENCINA_BINDING_FILE=/var/cics_servers/server_bindings RPC_SUPPORTED_PROTSEQS=ncadg_ip_udp (HP:不能设置此,妨害swinstall命令)(影响各种RPC应用,限制其协议类型)(可设置在region的environment文件中) RPC_UNSUPPORTED_NETIFS=if_0:if_1 //en0|en1|tr0|fddi0,注意HP DCE使用RPC_SUPPORTED_NETIFS RPC_UNSUPPORTED_NETADDRS=ip1:ip2 //注意HP DCE使用RPC_SUPPORTED_NETADDRS (把不在"server_bindings"文件中用到的网卡加入,冒号间隔,可用"netstat -in"观察) CICSREGION=defaul_region_name CICS_SFS_SERVER=/.:/cics/sfs/$HOSTNAME ENCINA_SFS_SERVER=/.:/cics/sfs/$HOSTNAME
v5.x/v4.x:设置环境变量并初始化(3) NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/en_US/%N:/usr/lpp/dce/lib/nls/msg/%L/%N NLSPATH=/opt/cics/msg/%L/%N:/opt/cics/msg/C/%N:/opt/dcelocal/nls/msg/%L/%N:/opt/encina/msg/%L/%N:/opt/encina/msg/C/%N //Solaris NLSPATH=/opt/cics/msg/%L/%N:/opt/cics/msg/C/%N:/opt/dcelocal/nls/msg/%L/%N:/opt/dcelocal/nls/msg/en_US.ASCII/%N:/opt/encina/msg/%L/%N:/opt/encina/msg/C/%N //HP NLSPATH=C:\IBMDebug\msg\%%L\%%N;C:\IFOR\LS\MSG\%%L\%%N;c:\DCE\dcelocal\nls\msg\%%L\%%N;c:\DCE\dcelocal\nls\msg\enus437\%%N;C:\opt\encina\MSG\zh_CN\@N;C:\opt\encina\cborb\msg\%%N;C:\opt\cics\MSG\zh_CN\@N; //Windows CICS_HOSTS=’$HOSTNAME1 $HOSTNAME2 $HOSTNAME3’ CICS_SFS_VG=rootvg //卷组名 CICS_SFS_VG=VG00 //HP: 卷组名 CICS_SFS_SIZE=1024 //cicscp使用,缺省为64,单位:MB CICS_SFS_DATA_SIZE=1024 CICS_SFS_LOG_SIZE=256 CICS_PPCGWY_SERVER=/.:/cics/ppc/gateway/GWYT01 CICS_PPCGWY_VG=rootvg CICS_PPCGWY_SIZE=4 CLASSPATH=.:/usr/lpp/cics/classes/dfjcics.jar:/usr/lpp/cics/lib/somojor.zip:/usr/lpp/cics/lib/somojij.zip:/usr/lpp/cics/lib/somshcl.zip:/usr/lpp/cics/lib/somshor.zip:/usr/lpp/cics/classes:/var/cics_regions/$CICSREGION/classes:/home/db2inst1/sqllib/java/db2java.zip LIBPATH=/usr/lib:/lib:/usr/lpp/cics/lib:/usr/lpp/ctg/bin:/home/db2inst1/sqllib/lib LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cics/lib:/opt/dcelocal/lib:/opt/encina/lib //Solaris SHLIB_PATH=$SHLIB_PATH:/opt/cics/lib:/opt/dcelocal/lib:/opt/encina/lib //HP CICS_XP_RECV_TIMEOUT=300 //对应CICS 4.3 RD/XPRecvTimeout export … //non AIX
v5.x/v4.x:创建“/var/cics_servers/server_bindings”文件v5.x/v4.x:创建“/var/cics_servers/server_bindings”文件 例如输入: /.:/cics/sfs/ServerId ncadg_ip_udp:[8888] chmod 777 /var/cics_servers/server_bindings
v5.x/v4.x:安装DCE [AIX] smitty install rmdce -F -o local all [Solaris] 安装DCE及相关补丁(不装DCE SERVER) cd /cdrom/cdrom0 ./dcesetup install /etc/init.d/dce stop /opt/dce/etc/dcesetup unconfig -force [HP] /opt/dce/bin/dce_config //选择remove 安装DCE的补丁
v5.x/v4.x:安装Encina & CICS (1) [AIX] smitty install 选择:cics.base, cics.client, cics.server, cics.msg.locale, encina.client, encina.server, encina.PPCexec, encina.SFS, encina.msg.locale 注意:1、首先安装GSK(v5.x);2、ACCEPT new license agreements [Solaris] 使用”admintool” [HP] mount cdrom 使用”swinstall”,分别安装/cdrom/Encina.depot和/cdrom/CICS.depot。
v5.x/v4.x:安装Encina & CICS (2) 执行”umask 022”"cicsdefaultservers" (产生各种模板,创建sfs定义文件) 执行"cicssetupclients -m -v" (设置CICS Client环境,被cicsterm组成员使用) 安装Encina/CICS的补丁 先安装Encina补丁,再安装CICS补丁。在AIX上注意使用slibclean。
v5.x/v4.x:配置DCE 执行cicscp create dce –Rcicscp start dce
v5.x/v4.x:配置SFS • 执行cicssfscreate -S /.:/cics/sfs/ServerId ShortName=SFS_SERV • Cold start: cicssfs /.:/cics/sfsServerId StartType=cold
v5.x/v4.x:创建CICS Region • 创建CICS Region - CICS01 • cicsdefault -r CICS01 -S • 配置CICS资源到SFS: • cicsupdate -c rd -r CICS01 DefaultFileServer=/.:/cics/sfs/$HOSTNAME • cicssfsconf -I -R wc CICS01 DefaultFileServer=/.:/cics/sfs/$HOSTNAME
配置DB2 XA (1/4) 1. 安装产品 1) 安装DB2 v9,创建实例(假定db2inst1),数据库(假定mydb) #注:不要使用db2ln,使用下面的命令取消链接:/opt/IBM/db2/V9.5/cfg/db2rmln /usr/lib下不要有DB2的库文件(ls -l /usr/lib | grep db2),如果有的话,要删除 2) 安装TXSERIES v6/7,创建域(假定CICS01) #注:如果是TXSERIES v6.1,至少要打补丁2 3) 把cics用户加入到DB2实例用户所在的组。
配置DB2 XA (2/4) 2. 配置XA 2.1 编译Switch Load File 1) 用root用户登陆 执行:chmod -R 777 /usr/lpp/cics/examples/RM_support 2) 用db2inst1用户登陆(su - db2inst1) 执行:export PATH=/usr/vac/bin:$PATH cd /usr/lpp/cics/examples/RM_support/DB2 修改db2xa.mk或db21pc.mk,增加如下内容: “DB2DIR=/opt/IBM/db2/V9.5”(对于db21pc.mk,还需要增加“DBNAME=<数据库名>”) 编译:make -f db2xa.mk或make -f db21pc.mk #注:如果使用了超过8个字符的用户名或数据库名,应该修改“db21pc.sqc”源文件。修改user定义和sscanf代码。 3) 用root用户登陆 slibclean cp /usr/lpp/cics/examples/RM_support/DB2/db2xa /var/cics_regions/CICS01/bin 或者 cp /usr/lpp/cics/examples/RM_support/DB2/db21pc /var/cics_regions/CICS01/bin
配置DB2 XA (3/4) 2.2 增加XA定义(假设DB2实例的用户/口令是:db2inst1/db2pass) cicsadd -c xad -r CICS01 DB2XA SwitchLoadFile="db2xa" XAOpen="tpm=cics,db=mydb,uid=db2inst1,pwd=db2pass,toc=p" 或: cicsadd -c xad -r CICS01 DB21PC SwitchLoadFile="db21pc" XAOpen="mydb,db2inst1,db2pass" #注:db2inst1必须能用该用户/口令登陆 2.3 修改/var/cics_regions/CICS01/environment文件,增加: DB2DIR=/opt/IBM/db2/V9.5 DB2COMM=tcpip DB2INSTANCE=db2inst1 LIBPATH=/usr/lpp/cics/lib:/usr/lpp/cicssm/lib:/opt/IBM/db2/V9.5/lib32 #注:对Solaris DB2DIR=/opt/IBM/db2/V9.5 DB2COMM=tcpip DB2INSTANCE=db2inst1 LD_LIBRARY_PATH=/opt/cics/lib:/opt/IBM/db2/V9.5/lib32 #注:如果有必要的话,还要设置DB2CODEPAGE,典型值包括1208,1386。
配置DB2 XA (4/4) 2.4 授权 要给root, cics, XAOpen字符串使用的DB2实例用户授权 GRANT DBADM ON DATABASE TO USER root GRANT DBADM ON DATABASE TO USER cics GRANT DBADM ON DATABASE TO USER <XAOpen字符串使用的DB2实例用户> 3. 冷启动region cicscp -v start region CICS01 StartType=cold
配置Oracle XA (1/3) 1. 设置环境: 1.1 设置环境变量: 观察oracle用户的环境变量(su - oracle) 设置以下环境变量到/etc/environment文件以及/var/cics_regions/CICS01/environment文件(假如CICS域名为CICS01): #注意:ORACLE_SID,ORACLE_HOME和LIBPATH都要根据实际情况酌情设置,即使不需要也要设置一个ORACLE_SID环境变量,库路径要使用32位的(lib32) #例: LANG=en_US ORACLE_SID=ORCL ORACLE_HOME=/sw/oracle/product/10.2 NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss' NLS_LANG=AMERICAN_AMERICA.ZHS16GBK LIBPATH=/sw/oracle/product/10.2/lib32 退出系统重新登陆。 #注:如果在Windows上没有发现上述的环境变量,可以在注册表的HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE中查找,并设置到操作系统。CICS必须的环境变量是ORACLE_SID和ORACLE_HOME。
配置Oracle XA (2/3) 1.2 数据库设置: sqlplus "/ as sysdba" GRANT SELECT ON DBA_PENDING_TRANSACTIONS TO scott; //scott是cics要使用的用户 2. 编译Oracle XA Switch Load File 2.1 编译静态的Oracle 1 Phase XA文件 make -f oracle1pc.mk 2.2 编译静态的Oracle 2 Phase XA文件 make -f oraclexa_sta.mk oracle #注:如果使用动态的2PC XA Switch Load File,要重新编译Oracle的库libclnsh.so。
配置Oracle XA (3/3) 3. 定义XAD cicsadd -c xad -r CICS01 OraXA SwitchLoadFile="oracle1pc" XAOpen="OraXA+Acc=P/scott/tiger" 或: cicsadd -c xad -r CICS01 OraXA SwitchLoadFile="oracle1pc" XAOpen="OraXA+Acc=P/scott@connstr/tiger" 或: cicsadd -c xad -r CICSNT01 OraXA SwitchLoadFile="oracle1pc.dll" XAOpen="OraXA+Acc=P/system/manager" 或: cicsadd -c xad -r CICSNT01 OraXA SwitchLoadFile="oracle1pc.dll" XAOpen="OraXA+Acc=P/system/manager+SqlNet=connstr" # 1 Phase XAOpen例: OraXA+Acc=P/system/password OraXA+Acc=P/scott/tiger # 2 Phase XAOpen例: Oracle_XA+Acc=P/scott/tiger+SesTm=90+LogDir=/tmp+DbgFl=1 OraXA+Acc=P/system/password+SesTm=90+LogDir=c:\temp+DbgFl=1+MaxCur=100+SqlNet=connstr # 2 Phase XAOpen例: Oracle_XA+Acc=P/scott/tiger+SesTm=90+LogDir=/tmp+DbgFl=1+SqlNet=ozw2a This string causes a CICS application server process (cicsas) to connect to the database, as follows: - As user scott with password tiger (Acc=P/scott/tiger) - With inactive transactions aborted after 90 seconds (SesTm=90) - With log files created in the /tmp directory (LogDir=/tmp) - With XA procedure calls and returns logged in the log file (DbgFl=1) #注:DbgFl是位屏蔽码,可选1、2、4等,最详尽的日志是DbgFl=15
配置Informix 1 Phase XA 0. 数据库的日志方式必须要设成unbuffered log,不可用其它方式或者关闭,否则CICS启动失败 1. 配置环境使得root和cics用户可以存取Informix 1.1 vi /etc/profile, 加入 "PATH=$PATH:/informix/informix/bin" 1.2 vi /var/cics_regions/$CICSREGION/environment 加入 INFORMIXDIR=/home/informix //安装路径,其下之etc目录有sqlhosts文件 INFORMIXSERVER=host1 //Informix服务器名,用于通信,相当于在XAOpen的库名称后添加“@<Informix服务器>”。 ONCONFIG=onconfig.host1 中文环境需要很多环境变量(诸如DBLANG, CLIENT_LOCALE, DB_LOCALE)。 #注:环境变量“INFORMIXSERVER”的作用相当于在XAD/OpenString后加上“@<连接串>”。 1.3 如果跨机器,要做系统用户信任,对Windows的访问,使用SYSTEM用户。 1.4 授权 grant resource to cics; 2. 生成Switch Load File 2.1进入Switch Load File编译程序所在的目录 2.2 修改make文件中相应的环境变量 例:"INFORMIXDIR=/informix/informix" 2.3 编译生成Switch Load File make -f informix1pc.mk //UNIX nmake -f informix1pc.mk //WIN 把生成的Switch Load File复制到region的bin目录下。 3. 定义XA cicsadd -c xad -r CICS01 InformXa SwitchLoadFile="inform1pc" XAOpen="dbname" //UNIX
配置Informix 2 Phase XA 0. 数据库的日志方式必须要设成unbuffered log,不可用其它方式或者关闭,否则CICS启动失败 1. 配置环境使得root和cics用户可以存取Informix 1.1 vi /etc/profile, 加入 "PATH=$PATH:/informix/informix/bin" 1.2 vi /var/cics_regions/$CICSREGION/environment 加入 INFORMIXDIR=/home/informix //安装路径,其下之etc目录有sqlhosts文件 INFORMIXSERVER=host1 //Informix服务器名,用于通信,相当于在XAOpen的库名称后添加“@<Informix服务器>”。 ONCONFIG=onconfig.host1 中文环境需要很多环境变量(诸如DBLANG, CLIENT_LOCALE, DB_LOCALE)。 #注:环境变量“INFORMIXSERVER”的作用相当于在XAD/OpenString后加上“@<连接串>”。 1.3 如果跨机器,要做系统用户信任,对Windows的访问,使用SYSTEM用户。 1.4 授权 grant resource to cics; 2. 生成Switch Load File 2.1进入Switch Load File编译程序所在的目录 2.2 修改make文件中相应的环境变量 例:"INFORMIXDIR=/informix/informix" 2.3 编译生成Switch Load File make -f informix_xa.mk //UNIX nmake -f informix_xa.mk //WIN 把生成的Switch Load File复制到region的bin目录下。 3. 定义XA cicsadd -c xad -r CICS01 InformXa SwitchLoadFile="informxa" XAOpen="dbname" //UNIX
配置Sybase 1 Phase XA 1. 配置环境 1.1 修改环境变量 在"/var/cics_regions/$CICSREGION/environment"加入(使用su - sybase观察) DSQUERY=SYBASE //Sybase Server名 SYBASE=/home/Sybase //Sybase home路径 1.2 将sybase用户加入cics组中 1.3 Sybase解库: su - sybase cd lib ar -x libcomn_dce.so.a ar -x libcs_r.so.a ar -x libct_r.so.a ar -x libintl_r.so.a 2. 生成Switch Load File "cd syb1pc" "cpre -V CS_VERSION_120 sybase1pc.cpre" "vi sybase1pc.c"加入网络包配置(参照packetsize) "make" 生成 sybase1pc
配置WebSphere MQ 2 Phase XA 1. 设置环境 CICS服务器与WMQ服务器必须在同一台机器上。 CICS的用户cics要加入到mqm组中。 2. 编译MQ Switch Load File (参照amqzscin.c的说明): 针对Windows平台: cl -c -Ic:\opt\encina\include -Ic:\mq\include -Gz -LD amqzscin.c lib -def:mqmc4swi.def -out:mqmc4swi.lib link -dll -nod -out:mqmc4swi.dll amqzscin.obj c:\opt\cics\lib\regxa_swxa.obj mqmc4swi.exp mqmcics4.lib c:\opt\cics\lib\libcicsrt.lib c:\DCE\dcelocal\lib\libdce.lib c:\DCE\dcelocal\lib\pthreads.lib c:\opt\encina\lib\libEncina.lib c:\opt\encina\lib\libEncServer.lib msvcrt.lib kernel32.lib 针对UNIX平台: export MQM_HOME=/usr/mqm echo "amqzscix" > tmp.exp xlc_r4 $MQM_HOME/samp/amqzscix.c -I/usr/lpp/encina/include \ -e amqzscix -bE:tmp.exp -bM:SRE -o amqzscix /usr/lpp/cics/lib/regxa_swxa.o \ -L$MQM_HOME/lib -L/usr/lpp/cics/lib -L/usr/lpp/encina/lib \ -lcicsrt -lEncina -lEncServer -lpthreads -lc_r \ -lmqmcics_r -lmqmxa_r -lmqz_r -lmqmcs_r -lmqmzse 3. 定义XAD: UNIX平台: cicsadd -c xad -r CICS01 MQXA SwitchLoadFile="<mqmtop>/lib/amqzsc" XAOpen=QM1 其中<mqmtop>为MQSeries 软件的安装目录,如AIX 上的/usr/lpp/mqm。 Windows NT平台: cicsadd -c xad -r CICS01 MQXA SwitchLoadFile="<mqmtop>\bin\mqmc4swi.dll" XAOpen=QM1 其中<mqmtop>为MQSeries 软件的安装目录,如C:\mqm。
其它XA配置(请参考TXSeries红皮书) • Oracle 2 Phase 动态XA • Sybase 2 Phase XA • Microsoft SQL Server 2 Phase XA • 编译MF COBOL Runtime • 其它注意事项
配置Listener • cicsadd -c ld -r CICS01 LI1 Protocol=TCP TCPAddress="88.2.11.101" TCPService="cics1435" • 注意多域必须采用不同的Listener,且要使用不同的TCP服务名。即在/etc/services文件设置对应的端口号:cics1435 1435/tcp
定义User • cicsadd -c ud -r CICS01 TEST CICSPassword=TEST
定义Program • cicsadd -c pd -r CICS01 TELECOM PathName=… RSLKey=public
启动 启动DCE (V6以后DCE已经淘汰): cicscp -v start dce 或: rc.dce 或: /sbin/init.d/Rpcd start 启动SFS: cicscp –v start sfs_server /.:/cics/sfs/serverId 或: cicscp –v start sfs_server serverId 或: cicssfslock -u /.:/cics/sfs/serverId; cicssfs /.:/cics/sfs/serverId 或: cicssfs serverId 或: cicscp –v start sfs_server /.:/cics/sfs/serverId StartType=cold 或: cicssfscold /.:/cics/sfs/serverId 启动Region: cicscp -v start region $CICSREGION StartType=cold 或: startsrc -s cics.$CICSREGION -a StartType=cold 或: cicsrlck –r $CICSREGION; cicsstart –c $CICSREGION //nonAIX
停止 停止Region: cicscp -v stop region $CICSREGION –f 或: cicsstop –k $CICSREGION) 或: stopsrc -s cics.$CICSREGION 或: stopsrc -fs cics.$CICSREGION 注:释放Region资源(在region异常停止后): cicsnotify -s cics.$CICSREGION 停止SFS: cicscp -v stop sfs_server serverId 或: cicscp -v stop sfs_server serverId -f 或: cicssfsshut /.:/cics/sfs/sfsServerName 停止DCE (V6以后DCE已经淘汰): cicscp -v stop dce 或: dce.clean 或: /sbin/init.d/Rpcd stop
观察CICS运行状态 • cicstail -r <域名>
安装CICS TG 6.0.2 • Windows • 执行installer.exe • Unix • 执行installer • 注:设置CTG/CUC配置工具使用的JREctgjava –s=<java程序全路经>
CTG.ini配置文件的内容 SECTION GATEWAY closetimeout=10000 ecigenericreplies=off uowvalidation=on msgqualvalidation=on connectionlogging=off initconnect=1 initworker=1 maxconnect=100 maxworker=100 noinput=off nonames=on notime=off trace=off workertimeout=10000 adminport=2810 protocol@tcp.handler=com.ibm.ctg.server.TCPHandler protocol@tcp.parameters=connecttimeout=2000;idletimeout=600000;pingfrequency=60000;port=2006;solinger=0;sotimeout=1000; log@info.dest=console log@error.dest=console ENDSECTION ... … SECTION SERVER = CICSNT01 UPPERCASESECURITY=N PROTOCOL=TCPIP NETNAME=localhost PORT=1435 CONNECTTIMEOUT=0 TCPKEEPALIVE=N ENDSECTION
启动/终止CICS TG • 启动客户机守护程序和CICS服务器连接cicscli /s=<CICS域别名> • 停止CICS服务器连接cicscli /x=<CICS域别名> • 停止客户机守护程序cicscli /i • 启动Gateway守护程序ctgstart • To run the Gateway daemon as a background task, take the following steps: • 1) Create a valid <install_path>/bin/ctgd.conf file. The recommended way is to copy <install_path>/bin/ctgdsamp.conf and edit the copy. You are advised to specify the user and group which will run the Gateway daemon. The sample file contains instructions on how to produce a valid configuration file. • 2) If you need to change the location of ctgd.conf, export environment variable $CTGDCONF by issuing a command like the following:export CTGDCONF=/opt/IBM/cicstg/bin/ctgd.conf • 3) To start the Gateway daemon as a background process, issue this command: ctgd start • 4) To stop a Gateway daemon that is running as a background process, issue this command: ctgd stop