显示标签为“CICS”的博文。显示所有博文
显示标签为“CICS”的博文。显示所有博文

2007年6月25日星期一

cicsupdate错误处理

cicsupdate时一些错误处理

今天帮客户修改Region应用的并发数发现如下错误
$ cicsupdate -c rd -r RegionName MinServer=nn MaxServer=nn
ERZ034020E/0590: You are not authorized to operate on the permanent database class rd
ERZ046005E/0062: Entry '' not found for permanent database class 'rd'


CICS Message and Codes显示:
ERZ034020E You are not authorized to operate on the permanent database class className Explanation: You attempted to perform an operation on a permanent database class's stanza file that you do not have authority to operate on. The file group access rights of the stanza file do not allow you access. System Action: The operation terminates. The permanent database request has not been performed. User Response: Login as a user with sufficient group access to perform updates to the class in the permanent database. Group access is required because any access to the database class stanza file may require reinstatement of a backup file that was created and thus owned by another administrator.

此问题很好解决,根据意思直接查看/usr/cics_regions/RegionName/database/RD/RD.stanza文件访问权限。发现文件缺少用户组写操作权限。使用chmod 660 RD.stanza修改完毕后继续操作:
$ cicsupdate -c rd -r RegionName MinServer=nn MaxServer=nn
ERZ034026E/0031: Unable to access stanza file '/var/cics_regions/RegionName/database/RD/RD.temp'; error code 13
ERZ046111E/0097: Unsuccessful attempt to update entry '' in permanent database class 'rd'


CICS Message and Codes显示:
ERZ034026E Unable to access stanza file 'filePath'; error code errorNumber Explanation: CICS detected an error when attempting to access the stanza file filePath. The operating system gives the error as errorNumber. System Action: If the error occurs during region startup, CICS terminates the startup procedure. If the error occurs during a Resource Definition Online (RDO) session, CICS terminates the current RDO operation. User Response: As indicated by the operating system in the error code. If the file is a permanent database class's stanza file it can be restored from a backup. If the file is a temporary or backup stanza file used during database operation then the operation can be retried.

此问题有些蹊跷,可以从/usr/lib/errno.h文件中查出13的错误原因:
#define EACCES 13 /* Permission denied */
但是cics并不需要"/var/cics_regions/RegionName/database/RD/RD.temp"文件。因此我估计cicsupdate一定是在修改RD.stanza文件时需要在当前目录下创建RD.temp然后再操作RD.stanza。根据这样的假设,即是无法在RD目录下创建RD.temp文件,所以估计是RD目录权限有问题。检查后发现确实如此:RD目录缺少用户组写操作权限。chmod修改cicsupdate无错误再报出。

2007年6月24日星期日

CICS进程描述

CICS进程
说明
cics CICS 的主要进程
cicsas CICS的应用程序进程(Application server)
cicsam CICS应用程序管理进程(Application server manager)
cicsrm Recovery manager
cicsrs Recovery server
cicsic 间隔控制进程Interval control (heartbeat) process
cicsrl RPC 监听进程
cicsip IP 监听进程
cicssl SNA 监听进程
cicslm 监听管理进程
cicsol Open listener process
cicsnp Named pipe 监听
cicslu LU0 监听进程
cicscb IIOP 监听进程
cicsld
提供日志功能进程

2007年5月31日星期四

cicscp调用时的一些默认属性

cicscp在调用时以以下内容为默认值

  • 创建region的用户ID是cics

  • 默认的Region Definitions (RD) DefaultUserId属性是CICSUSER.

  • 在DCE单元中,DCE主要创建者是cics/regionName(还不太熟悉)

  • SFS Server是跟随着host name来命名。譬如若是host 那么是hostABCD,那么SFS Server命名为:/.:/cics/sfs/hostABCD

  • SFS server还创建了short name;它包括一个字母S并跟随hostname的头七个字母。譬如若是host name是hostABCD,则short name是ShostABC

  • 默认的SFS 用户ID和DCE的负责人(principals )都命名为short name。

  • SFS 逻辑卷命名也是以short name为依据。譬如,若是short name 是ShostABC,用来存放队列和文件数据的逻辑卷命名为sfs_ShostABC,用来存放队列和文件日志的逻辑卷命名为log_ShostABC

    注意:
    当在任何平台中使用cicsdefault或者在AIX中用SMIT工具去创建region时,sfs逻辑卷的默认名称值和cicscp命令影响下的默认值是不相同的,默认值在cicsdefault命令或者SMIT工具中是log_SFS_SERVsfs_SFS_SERV

  • 在AIX 和HP-UX 平台中。当在AIX和HP-UX平台使用cicscp命令时,默认的逻辑卷大小是64MB。在Solaris中因为cicscp命令必须在卷已经创建好后使用,文件卷由操作系统命令创建,所以没有默认值。

若是你想在使用cicscp时不使用默认的一些属性,可以通过修改环境变量的方式来操作(也可以分布操作来实现):
  • CICS_SFS_SIZE--指定SFS 服务的data和log逻辑卷的大小。
  • CICS_SFS_DATA_SIZE--指定SFS服务的数据逻辑卷大小。这个变量覆盖CICS_SFS_SIZE值。
  • CICS_SFS_LOG_SIZE--指定SFS服务的日志逻辑卷大小。这个变量覆盖CICS_SFS_SIZE值。
  • CICS_SFS_VG--指定SFS服务逻辑卷所在的卷组,默认的是rootvg。
  • CICS_SFS_DATA_VG--指定SFS服务的数据逻辑卷所在的卷组。这个变量覆盖CICS_SFS_VG的值。
  • CICS_SFS_LOG_VG--指定SFS服务的日志逻辑卷所在的卷组。这个变量覆盖CICS_SFS_VG的值。

cicscp命令使用时所调用的CICS资源管理命令

cicscp 命令调用以下底层命令来创建和启动region以及文件管理:

  • 在创建新region时使用默认定义,cicscp create region 调用 cicsdefault命令。

  • 在从定义好的region中导入region定义cicscp create region 命令会使用-i

    参数(用来导入)和指定引入包含导出region文件的文件名。在这种条件下,cicscp create region 调用cicsimport命令。

  • 在创建,配置和启动SFS server的时候,cicscp命令调用一下CICS资源管理命令:

    • cicssfscreate

    • cicssfs

    • cicssfsconf



  • 再用DB2数据库来配置文件管理的时候,cicscp

    命令调用cicsdb2conf 命令。(DB2数据库必须在cicsdb2conf或者cicscp命令使用前创建和启动。)

  • 在启动region时,cicscp 命令根据操作系统调用以下的命令:

    • AIX 平台. cicscp 命令调用startsrc命令。

    • HP-UX 或者Sun 的Solaris 平台. cicscp 命令调用 cicsstart命令。



在CICS资源定义中使用简写

CICS提供简短速记的方法来在CICS属性中定义CICS特定的值:



%R or %r

扩展为当前region的名字。譬如,在名为RegionA的域上使用%Rreqtsq#,则%R会自动由CICS解释为RegionA,这个字符串整体解释为regionAreqtsq#。

%H or %h

扩展为当前host name。譬如,当在一台host名为HostABCD的机器上使用%H,则%H自动由CICS解释为HostABCD。

%S or %s

解释为当前SFS服务和PPC Gateway服务。譬如,当%S在PPC服务名为cicsgwy上使用,那么%S自动由CICS解释为cicsgwy。

2007年2月24日星期六

cics 命令 -- cicscp

cicscp

----CICS Control program

语法:

cicscp [-I] [l logFile] [-v] command objectType [options]

描述:

-I 忽略错误.

-l logFile 记录log文件

-v (verbose) 显示cicscp底层命令的输出

command:(常用)

create

destroy

start

stop

objectType:

all

cobol(for Open Systems)

dce

ppcgwy_server(For Open Systems)

region

sfs_server

sna

sna_link(For Open Systems)

telnet_server

2007年1月15日星期一

CICS INSTALL ON AIX

准备安装

设置用于CICS区域和文件管理安装的文件系统

按照顺序(Why?)建立以下JFS,cics安装好后会直接这些目录,建立cics

/var/cics_regions

/var/cics_servers

/var/cics_servers/backups(我未操作)

/var/cics_servers/archives(我未操作)

# smitty crjfs 制作快捷创建,Jae告知:最好先建lv,然后再在上面建立jfs


                        Add a Journaled File System

Move cursor to desired item and press Enter.

Add a Standard Journaled File System
Add a Compressed Journaled File System
Add a Large File Enabled Journaled File System

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

回车后选择需要的卷组再回车


                      Add a Standard Journaled File System

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[Entry Fields]
Volume group name rootvg
SIZE of file system
Unit Size Megabytes +
* Number of units [1] #
* MOUNT POINT [/var/cics_regions]
Mount AUTOMATICALLY at system restart? yes +
PERMISSIONS read/write +
Mount OPTIONS [] +
Start Disk Accounting? no +
Fragment Size (bytes) 4096 +
Number of bytes per inode 4096 +
Allocation Group Size (MBytes) 8 +
Logical Volume for Log +


F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

创建成功后显示


                             COMMAND STATUS

Command: OK stdout: yes stderr: no

Before command completion, additional instructions may appear below.

Based on the parameters chosen, the new /var/cics_regions JFS file system
is limited to a maximum size of 134217728 (512 byte blocks)

New File System size is 32768

F1=Help F2=Refresh F3=Cancel Esc+6=Command
Esc+8=Image Esc+9=Shell Esc+0=Exit /=Find
n=Find Next

cics_servers jfs 创建同上.

# mount /var/cics_regions

# mount /var/cics_regions

创建CICS用户和组

:

> cics

> cicsterm

mkgroup [组名称] or

# smitty mkgroup


                                  Add a Group

Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
* Group NAME [cics]
ADMINISTRATIVE group? false +
Group ID [] #
USER list [root] +
ADMINISTRATOR list [root] +
Projects [] +

F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

创建成功后
:


                                 COMMAND STATUS

Command: OK stdout: no stderr: no

Before command completion, additional instructions may appear below.

F1=Help F2=Refresh F3=Cancel Esc+6=Command
Esc+8=Image Esc+9=Shell Esc+0=Exit /=Find
n=Find Next

cicstem创建同上.

用户:

> cics

> SFS_SERV

mkuser [用户名] or

smitty mkuser

# smitty mkuser


                                   Add a User

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[TOP] [Entry Fields]
* User NAME [cics]
User ID [] #
ADMINISTRATIVE USER? false +
Primary GROUP [cics] +
Group SET [cics,cicsterm] +
ADMINISTRATIVE GROUPS [cics,cicsterm] +
ROLES [] +
Another user can SU TO USER? true +
SU GROUPS [ALL] +
HOME directory []
Initial PROGRAM []
User INFORMATION []
…….
[MORE...38]

F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

成功后:


                                 COMMAND STATUS

Command: OK stdout: no stderr: no

Before command completion, additional instructions may appear below.

F1=Help F2=Refresh F3=Cancel Esc+6=Command
Esc+8=Image Esc+9=Shell Esc+0=Exit /=Find
n=Find Next

SFS_SERV用户创建同上.

root用户指定为CICS系统管理员

root用户添加到cics cicsterm群组中.

# smitty chgroup


                            Change Group Attributes

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[Entry Fields]
Group NAME [cics]
Group ID [215] #
ADMINISTRATIVE group? false +
USER list [cics,SFS_SERV,root] +
ADMINISTRATOR list [SFS_SERV,cics,root] +
Projects [] +
F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

cicsterm修改同上

设置环境变量

/etc/environment

$LANG

> en_US

> 语言环境

$PATH

> /usr/lpp/cics/bin:/usr/lpp/encina/bin

> 添加cicsencinabin目录

$NLSPATH

> usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat:/usr/lib/nls/msg/en_US/%N:/usr/lpp/dce/lib/nls/msg/%L/%N

> 用来确定环境变数NLSPATHLC_MESSAGES ( 如果 LC_MESSAGE 不存在则使用LANG )用来指定讯息的语言种类

$ENCINA_BINDING_FILE

>bind SFS 文件

参考:


# @(#)18        1.25  src/bos/etc/environment/environment, cmdsh, 
# bos53A, a2004_35B6 8/23/04 04:13:11
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
# .....
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#......
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/us
r/java14/bin:/usr/lpp/cics/bin:/usr/lpp/encina/bin
TZ=CST6CDT
LANG=en_US
LOCPATH=/usr/lib/nls/loc
NLSPATH=/usr/lib/nls/msg/%L/%N
RPC_SUPPORTED_PROTSEQS=ncadg_ip_udp
ENCINA_BINDING_FILE=/var/cics_servers/server_bindings
DCE_USE_WCHAR_NAMES=1

安装CICS

smitty install_update or

smitty installp

# smitty installp


                          Install and Update Software

Move cursor to desired item and press Enter.

Install Software
Update Installed Software to Latest Level (Update All)
Install Software Bundle
Update Software by Fix (APAR)
Install and Update from ALL Available Software

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

在提示中输入安装介质目录:cdrom:/dev/cd0.或者指定安装目录.


                                Install Software

Type or select a value for the entry field.
Press Enter AFTER making all desired changes.
[Entry Fields]
* INPUT device / directory for software [] +


F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do


                                Install Software

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[Entry Fields]
* INPUT device / directory for software .
* SOFTWARE to install [cics.base > +
PREVIEW only? (install operation will NOT occur) no +
COMMIT software updates? yes +
SAVE replaced files? no +
AUTOMATICALLY install requisite software? yes +
EXTEND file systems if space needed? yes +
OVERWRITE same or newer versions? no +
VERIFY install and check file sizes? no +
Include corresponding LANGUAGE filesets? yes +
DETAILED output? no +
Process multiple volumes? yes +
ACCEPT new license agreements? yes +
Preview new LICENSE agreements? no +

F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

检验:

lslpp –l “cics.*”

lslpp –l “encina.*”

后期配置

CICS配置DCE(我还未熟悉)

配置仅RPC环境

/usr/lpp/dce/bin/lsdce

正确为:


h50:/ptfs/CICS51/CICSINSTALL# lsdce
Gathering component state information...

Component Summary for Host: [your host]
Component Configuration State
RPC Configured

The component summary is complete.

若有其他服务用以下命令除去

# /usr/lpp/dce/bin/dce.clean
# /usr/lpp/dce/bin/rmdce all

输入下列命令,在机器上配置 DCE RPC 服务:

# /usr/lpp/cics/bin/cicscp -v -l log_file create dce -R

添加环境变量(我还未熟悉)

/etc/environment文件里添加新的参数用来支持些DCE的东东.

CICS_HOSTS=’ hostA hostB hostC’

RPC_SUPPORTED_PROTSEQS=ncadg_ip_udp(好像是要使用的协议)

配置文件管理器和CICS区域

创建log_SFS_SERV & sfs_SFS_SERV 逻辑卷

# smitty mklv


                              Add a Logical Volume

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[TOP] [Entry Fields]
Logical volume NAME [log_SFS_SERV]
* VOLUME GROUP name datavg
* Number of LOGICAL PARTITIONS [1] #
.................................................................
Mirror Write Consistency? active +
Allocate each logical partition copy yes +
[MORE...12]

F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

log_SFS_SERV & sfs_SFS_SERV设置权限:

# chown SFS_SERV:cics *SFS*

检验:


# ls -l /dev/ |grep SFS                           
brw-rw---- 1 SFS_SERV cics 42, 20 Jan 15 11:12 log_SFS_SERV
crw-rw---- 1 SFS_SERV cics 42, 20 Jan 15 11:12 rlog_SFS_SERV
crw-rw---- 1 SFS_SERV cics 42, 21 Jan 15 11:12 rsfs_SFS_SERV
brw-rw---- 1 SFS_SERV cics 42, 21 Jan 15 11:12 sfs_SFS_SERV

运行cicsdefaultservers(我反正老是忘记)

cicsdefaultservers会建立创建 SFS 服务器、DB2 数据库或对等通信(PPC)网关服务器时 CICS 使用的信息:

* /var/cics_servers/SSD/SSD.stanza,它包含结构化文件服务器定义(SSD

* /var/cics_servers/SCD/SCD.stanza,它包含模式文件服务器定义(SCD

* /var/cics_servers/GSD/GSD.stanza,它包含网关服务器定义(GSD

创建并修改server_bindings文件

/.:/cics/sfs/$HOSTNAME ncadg_ip_udp:$host_ip[$sfs_port]

$host_ip可省略,尤其是对多IP的情况下

创建SFS server

cicscp create sfs_server OR

smitty cics

# smitty cics


             Customer Information Control System (CICS) Version 5.0

Move cursor to desired item and press Enter.

Manage CICS Regions
Manage Encina PPC Gateway Servers
Manage Filesystem

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do


                               Manage Filesystem 

Move cursor to desired item and press Enter.

Manage Encina SFS Servers
Manage Schemas

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do


                           Manage Encina SFS Servers

Move cursor to desired item and press Enter.

Change Working Encina SFS Server
Cold Start an Encina SFS Server
Auto Start an Encina SFS Server
Shutdown an Encina SFS Server
Define Encina SFS Servers

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do


                           Define Encina SFS Servers

Move cursor to desired item and press Enter.

Create
Destroy
Show/Change

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

修改一些设置.其中可以见到为什么前面构建SFS_SERV用户和sfs_SFS_SERV & log_SFS_SERVER 逻辑卷回车后即可


                           Create Encina SFS Server 

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[TOP] [Entry Fields]
* SFS Server Identifier [SFS]
* Model SFS Server Identifier ""
Ignore errors on creation? no +
Are you using DCE servers? no +
Resource description [SFS Server Definition]
......
Short name used for SRC [SFS_SERV]
AIX user ID for server [%S]
AIX logical volume for data [sfs_%S]
AIX logical volume for logging [log_%S]
Log File Name [logfile]
Name Service for advertising server NONE +

F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

创建Region

cicscp -v create region region_name OR

smitty cics

# smitty cics


             Customer Information Control System (CICS) Version 5.0

Move cursor to desired item and press Enter.

Manage CICS Regions
Manage Encina PPC Gateway Servers
Manage Filesystem

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do


                              Manage CICS Regions

Move cursor to desired item and press Enter.

Change Working CICS Region
Cold Start a CICS Region
Auto Start a CICS Region
Shutdown a CICS Region
Define Resources for a CICS Region
Configure CICS Resources on a File Server
Create (Import) a CICS Region
Save (Export) a CICS Region
Copy a CICS Region
Destroy a CICS Region

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do


                         Create (Import) a CICS Region

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[Entry Fields]
* Name of Region to be Created [REG]
Action to be Taken for Resolving Links mandatory +
Force redefinition of region? no +
Group Id. for Region Data []
* Input file [/usr/lpp/cics/DEFAULT] /
Force use or non-use of DCE servers? do not use DCE server> +

F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

配置Region 的文件系统:

先选择建立的Region




Manage CICS Regions

Move cursor to desired item and press Enter.

Change Working CICS Region
Cold Start a CICS Region
Auto Start a CICS Region
Shutdown a CICS Region
Define Resources for a CICS Region
Configure CICS Resources on a File Server
.....

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

选择正确后:


                          COMMAND STATUS

Command: OK stdout: yes stderr: no

Before command completion, additional instructions may appear below.

REG

F1=Help F2=Refresh F3=Cancel Esc+6=Command

Esc+8=Image Esc+9=Shell Esc+0=Exit /=Find

n=Find Next


f3 ESC+3回退一步:


                             Manage CICS  Regions

Move cursor to desired item and press Enter.

Change Working CICS Region

Cold Start a CICS Region

Auto Start a CICS Region

Shutdown a CICS Region

Define Resources for a CICS Region

Configure CICS Resources on a File Server

.....

F1=Help F2=Refresh F3=Cancel Esc+8=Image

Esc+9=Shell Esc+0=Exit Enter=Do



                   Configure CICS Resources  on a File Server

Move cursor to desired item and press Enter.

Configure CICS Resources on an Encina SFS Server

Configure DB2 Database resources

F1=Help F2=Refresh F3=Cancel Esc+8=Image

Esc+9=Shell Esc+0=Exit Enter=Do



                Configure CICS Resources on  an Encina SFS Server

Move cursor to desired item and press Enter.

Configure an Encina SFS Server

Configure an Encina SFS Server for Recoverable Auxiliary TSQs

Configure an Encina SFS Server for Non-Recoverable Auxiliary TSQs

Configure an Encina SFS Server for Logically Recoverable TDQs

Configure an Encina SFS Server for Physically Recoverable TDQs

Configure an Encina SFS Server for Non-Recoverable TDQs

Configure an Encina SFS Server for Locally-Queued Protected STARTs

Configure an Encina SFS Server for Locally-Queued Unprotected STARTs

F1=Help F2=Refresh F3=Cancel Esc+8=Image

Esc+9=Shell Esc+0=Exit Enter=Do


修改对应的SFS server,此时此SFS Data要求要启动


                            Configure Encina  Servers

Type or select values in entry fields.

Press Enter AFTER making all desired changes.

[TOP] [Entry Fields]

* Region Name REG

Ignore errors on configuration? no +

Reset File Server to SFS? no +

* Number of updates 2

SFS server or database storing CICS Queue Data [/.:/cics/sfs/SFS]

Recoverable Auxiliary TSQ Volume Name sfs_%S

Number of pages to preallocate for RecTSQFile 5

Maximum number of records for Recoverable Auxiliar 1000000

y TSQs

Non-recoverable TSQ Volume Name sfs_%S

Number of pages to preallocate for NonRecTSQFile 5

Maximum number of records for Non-recoverable TSQs 1000000

Logically Recoverable TDQ Volume Name sfs_%S

[MORE...18]

F1=Help F2=Refresh F3=Cancel F4=List

Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image

Esc+9=Shell Esc+0=Exit Enter=Do


启动SFSRegion

cicscp –v start sfs_server [sfs服务名]

# cicscp –v start sfs_server /.:/cics/sfs/SFS

cicscp –v start region [region name]

# cicscp –v start region REG


查看运行状态
#lssrc -a|grep cics

2007年1月13日星期六

TXSeries 简介

初看CICS Redbook,一头雾水......CICS、Encina、TXSeries,词倒是不同,但是好像一直指向同一事物。没办法只好问Jae。Jae大概这么说(我理解的):CICS是一种信息控制系统,TXSeries是他的产品名,因为以前CICS都是在大型机上的,现在移植到别的系统,起了个名字叫TXSeries,由于以前在AIX上有个模拟CICS的软件叫Encina,延续下来现在很多地方叫Encina……。好似有点明白但是还是有些糊涂....不知道是不是可以理解为CICS是一种技术,而TXSeries是这种技术的一种实现,但是Encina里面的SFS之类又怎么理解?

一份中文的文档里这么解释CICS和Encina:

CICS概述:

CICS 是处理安全性、数据完整性和资源调度的通用联机事务处理软件。CICS 集成了联机事务处理应用程序所必需的基本商务软件服务。一个 CICS 系统的实例称为一个 CICS 区域。一个区域包括多个进程,但它作为一个单独的单位进行配置和管理,并且它控制资源的公共集合。


Encina概述:

Encina 是一系列用于构建和运行大型分布式客户机/服务器系统的软件产品。它是处理安全性、数据完整性和资源调度的通用联机事务处理软件
Encina 提供了一个环境,在其中您可以维护大量状态一致的数据,并可通过定义特定服务器执行某些任务来控制哪些用户和客户机能够访问数据。

难道意思是Encina更底层点?.....

2006年12月7日星期四

CICS FOR NT 安装(转)

转自:http://blog.csdn.net/chaozhiping/archive/2006/05/29/759949.aspx
原创作者:晁智平 (如转贴请保留这行)

由于公司的CICS服务器是AIX的操作系统,不方便回家学习,所以想在2000下安装一下CICS服务程序。

虽然已经开发了近一年的CICS中间层的程序了,但大部分底层的代码都被封装好了,开发时的确很容易,可对真正的CICS的运作机制不是很清楚,于是在安装前阅读了关于CICS的一些文章。其中收益最大的是IBM网站的Txseries NT 中文版及刘睿的easycics相关的文章。结果发现在文章的最近居然有我们技术总监的名字。大概总结一下有以下几点:

1:CICS是基于事务的中间件同Tuexdo相同,而MQ是基于消息的中间件。

2:由于历史上的原因(主要开始不是IBM开发的)CICS用到了Encina的一些代码,而Encina又利用了DCE的代码。所以在安装CICS服务端之前必需要安装DCE,(Encina是和CICS在一起的)。

3: CICS服务器又分两大类:一是普通的连接方式,另外一种是支持XA协议(XA是一种标准,其功能是将本地程序的操作看成一个事务,可以回退本次程序中所以的数据库操作),而支持XA的在启动时会和数据库建立连接。CICS又支持两种XA,一是两阶段提交,即要先prepare,再commit,另外一种是一阶段提交,只做commint。

4:在CICS服务器上运行的程序是内嵌在cicsas进程中的,cicsas是服务器启动时生成的进程。程序动行完之后会让出cicsas以便其它的进程来运行。注意的是cicsas并不会退出,所以在XA的环增中,对数据库运行环境的修改应在退出之前恢复,否则会对后来的程序产生影响。

5:CICS提供的一些API函数供调用,但相对来说比较复杂,而easycics便是对这些复杂的API封装后的结晶。使得CICS现在仍有一小部分的市场。

得知以上几点CICS的性质后,就准备以下的必要的安装软件

1:Txseries Nt 4.3其中包括CICS,和Enina

2:DCE2.2

3:informix client 2.7

4:Txseries和DCE的最新prf(pack)

首先安装DCE2.2 for nt,但在安装的过程中总是报netbios interface must be install,起初以为是杀毒软件的问题。于是卸载了杀毒软件。还是不行,又去IBM网站上查看关于CICS FOR NT 的文档,说在安装前要先安装NETBIOS服务。(这个是NT操作系统下的操作),于是在2000下将所有的协议,服务都安装上去了发理还是不行。历经几天的查找,最后在IBM网站的一个文档中找到了解决的方法。原来是要先设置环境变量先。设置如下 DCEKitDebug=-NoChecks COPYCMD=/Y。搞定后安装Txseries,然后再打上PACK,安装就基本结束。

接下了需要做的是配置CICS。

安装的详细说明
1:安装DCE2.2之后重启。
2:再安装TXSERIES4.3其中在安装过程中后报一个错误不用理会,按OK继续,重启。
3:打补丁顺序依次为DCE,CICS,ENCINA重启N次。
4:创建DCE:
cicscp -v create dce -R

创建SFS_Server:
cicscp -v create sfs_server /.:/cics/sfs/MARS

启动SFS_Server:
cicscp -v start sfs_server /.:/cics/sfs/MARS
注:第一次启动时后报无法访问类 ssd 的运行时数据库节文件没关系。

创建区域(region):
cicsdefault -r Test -S
cicsupdate -c rd -r Test DefaultFileServer=/.:/cics/sfs/MARS
cicscp -v start region Test StartType=cold
请注意大小写,参数是区分大小写的。用cicstail -r Test查看日志,如果有

CICS已成功启动则说明非XA的CICS安装成功。TXSERIES管理界面上的状态有时

候不准确。
5:创建XA连接的CICS。
XA连接的CICS是指在CICS启动子进程时就连接数据并启动一个事务。为编写中间层程序减少

了一定的工作量。CICS是通过开关装入文件(switch load file)按约定好的接口调用以达到连接数

据库的目的。所以如何生成switch load file 是最重要的环节。在CICS目录的scr/example下有db2,

oracle生成开关装入文件的源代码,编译的时候只需注意一下路径就行了。下面举的例子是如何

生成informix的开关装入文件。
a:首先安装informix client和encina的开发包。
b:再查看一下db2的源代码,因为informix和db2都是IBM的产品,想必相似性会非常大。发现源代

码里的内容并不复杂,大体上是提供了几个方法以供CICS调用,于是将db2的源代码拷过来,

然后将框架拷贝过来。根据ESQL的语法将源代码的实现部分替代掉(也可以参数AIX的CICS版本

在CICS目录的src\example\RM_support\Informix下面有inform1pc.ec)。编译的时候需要增加的include

目录为informix/incl/esql,cics/include,encina/include.需要增加的lib目录为informix/lib,cics/lib,encina/lib,

需要增加的引用lib为isqlt09a.lib libcicsrt.lib libEncina.lib regxa_swxa.obj libEncServer.lib。由于开关装入

文件是以DLL形式使用的所以Use run-time library 要选 Multithreaded DLL,即编译选项为/MD。需要注

意的一点是开关装入文件的函数调用方式必须要是__cdecl否则在启动的时候会产生异常。编译的时

候会在struct xa_switch_t noxaswitch 后的那几个函数处报调用类型不匹配的错误。(可能是我的PACK

不够新)这样就要修改encina\include\tmxa\xa.h内的struct xa_switch_t {定义里ENCINA_XA_CALLING的改

为__cdecl。生成成功后将其拷入CICS目录内。

c:在增加的CICS域上增加产品,将开关装入文件加进来,初始化字符串就是在开关装入文件中的

no_xa_open方法的参数,反正能连上数据库就行这里用的是test@ontest。完成后单击永久就OK了,

当然还可以用命令的方式来添加,这里我就不详细描述了。还要配置环增变量,在

var/cics_region/Test/environment下增加两行,INFORMIXSERVER=ontest,INFORMIXDIR=$(INFORMIX)

(客户端的安装路径)。


d:用启动CICS域的命令启动CICS,发现有连接到 'Single Phase Informix',XA OPEN 已完成,并CICS启动

成功则说明已成功建立XA的CICS连接的域了。

欢迎共同学习chaozhiping1亿唐邮箱 晁智平。

CICS概述(转)

转自http://sse0308.blog.sohu.com/9351604.html

1、CICS(Customer Information Control System)客户信息控制系统使IBM公司的联机事务管理系统。 事物包含四个属性,即ACID属性:原子性(Atomicity)、一致性(Consistency)、孤立性(Isolation)、持久性(Durability).

2、CICS家族之所以强大,是因为:

1)它具有商务级事务管理器要求的整合性、可恢复性、安全性和可用性,是个强有力的联机事务处理管理系统;
2)CICS提供跨平台的API,形成可移植的应用和开发技术;
3)它跨平台的广泛的可操作性,即它的跨系统通信ISC(Intersystem Communication)能力。

3、CICS事务处理过程
既然CICS是OLTP系统,它应该是面向终端的系统。那么CICS是如何处理事务的?它应该包含如下三步:
(1) 提交事务交给CICS;
(2) 处理工作;
(3) 当工作完成后终止和清除。

绝大多数事务是从终端进入cIcs的。当一个事务从终端进入门Cs,CIcs初始化一个任
务(Task)来处理该消息,并且创建用于表示该任务的控制块。基于已有的在该clcs区域的资
源定义,clcs确定该事务所用的程序,并将该程序装载于内存。而程序中的EXEc cICs命令
则是要求服务。还可以通过其他途径来初始化任务,但终端输入是最普通的一“种。
clcs是通常作用的事务管理系统,具有终端管理、任务管理、安全管理、程序管理、文件管
理、队列管理、恢复管理和系统服务(如存贮、时间、APl)等管理功能。
CICS任务处理过程如下:
假如用户从终端输入或从菜单选择事务INQY,INQY的事务程序为PROGl终端管理,
则请求创建一个任务(船sk)来处理该事务》
(1)任务管理确定事务的ID是否在CIC5区域中定义,如果否,发出错误信息。
(2)如果事务ID已定义,任务管理请求存贮并且创建表示任务的控制块。
(3)如果事务ID是被安全保护的,cICS验证用户的使用权限。
(4)该任务需要运行应用程序,事务定义中应该包含要执行的第一个程序名PROGI。
(5)在程序定义表中找所要运行的应用程序阳OGl的定义(其定义指明了该程序的实
现语言)。如果程序PROGl不在内存,程序管理则申请内存将其从程序库装入内存。
(6)CICS复制该程序PROGl的工作存储区到与该任务(ta5k)相关的另一存储区。允许
PROGl的单独程序副本被多任务共享。
(7)EU(EXEC Interface Progfam)接受程序请求并且返回异常条件和其他EIB(ExEC
Interface Block)信.富,
(8)如果执行程序prog1发出EXECCIC5READ命令来读文件,文件管理则对VSAM
发出读iZ录的请求。
(9)应用程序常常利用基本映原支持(BM5)来发出已格式化数据到终端。
(10)对V5八M数据集的改变,会被建立日志以便失败时恢复。
(11)当任务结束时,控制返回给clcs。所有与该任务相关的存储被释放
内存,直到无任何任务使用它和该空间要使用为止。

4、编程接口
1) 开发语言
与编写其他程序一样,可用COBOI、C、C十十、Assembler、PL/l来编写CICS的应用程序
其中大部分处理逻辑用标准语句编写,一部分功能要用到CICs的命令。
2) 命令格式
 (1)举例如下: 
EXEC CICS SEND FROM (MSG-AREA) LENGTH (5) END-EXEC
关链字 功能 选项 参数 选项 参数 分隔符
以上命令是向终端发送长度为5的MsG—AREA信息。
 (2)读和修改vsAM文件的命令为:
EXEC CIC5 READ FILE ('FILEA') INTO (CUSTOMER—REC) RIDFLD (CUSTOMzR—NUM)