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
提供日志功能进程