一、常用命令
1.使用buildclient构造client端程序
步骤:
1. client端程序包含atmi.h头文件;
2. 正确设置TUXDIR环境变量;
3. 使用buildclient工具编译程序;
buildclient的语法如下:
buildclient [-v] [-C] -o executable -f first-file \ [-f first-file]... [-l last-file]...
选项含义:
-C:编译COBOL代码;
-o:可执行文件的名字;
-f option:在链接tuxedo库之前处理该文件;
-l option:在链接tuxedo库之后处理该文件;
-v:打印实际的编译命令行。
buildclient在运行中使用下面的环境变量:
CFLAGS:自动在该变量中增加"-I${TUXDIR}/include";
CC:使用该变量指向的编译器。
2.使用tmloadcf
tmloadcf用于将tuxedo文本配置文件转化为运行时需要的二进制文件。
二进制文件的文件名由环境变量TUXCONFIG指定,该文件名必须是绝对路径的。
tmloadcf的语法如下:
tmloadcf [option] text-file;
选项有如下几个:
-c:计算该配置需要的IPC资源而不生成目标文件;
-n:进行语法检查而不生成目标文件;
-b:限制目标文件的大小;
-y:不提示直接覆盖现有的目标文件;
3.使用tmunloadcf
tmunloadcf将tuxedo二进制配置文件以ASCII形式输出。
4.使用tmboot
tmboot启动tuxedo应用服务,创建必要的IPC资源。
有如下选项,无选项时启动所有配置的服务:
-A:只启动所有机器的管理server(BBL、DBBL);
-g grpname:只启动指定group的server;
-i srvid:只启动指定的server ID的所有server;
-S:启动所有应用server;
-s servername:启动指定的server;
-c:只计算最小的IPC资源需求。
5.使用tmshutdown
tmshutdown停止tuxedo服务,必要是删除相关的IPC资源。
有如下选项:
-A、-g、-i、-S、-s:与tmboot相同;
-R:在多机环境下停止除BB外的服务;
强行停止服务可追加-k KILL命令
6.使用buildserver构造server端程序
语法如下:
buildserver [-o executable]... [-v] \ [-s service2, service3:func] \ [-f source/object]...\ [-l object] ... \ [-r resource manager]
选项含义:
-o:生成的可执行程序名;
-v:打印实际的编译命令行;
-s:指定提供的service和对应的处理函数;
-f:在链接tuxedo库之前处理该文件;
-l:在链接tuxedo库之后处理该文件;
-r:要链接相关资源库(在$TUXDIR/udataobj/目录下)。
7.使用tmadmin
启动管理命令(注意执行完其管理命令eg. psr、psc之后要quit一次不然还在tmadmin下面)
psr查看启动进程
psc查看服务
8.使用tmconfig
tmconfig命令,用于动态修改Tuxedo应用系统的配置。它的使用方法如下:
注意:以下环境在Unix服务器中通过,但是在windows中遇到了一些问题
(1) $ tmconfig
Section: 1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS
5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL
10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]: 4
Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE
6) CLEAR BUFFER 7) QUIT [1]: 3
Enter editor to add/modify fields [n]? n
Perform operation [y]? y
Section: 1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS
5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL
10) NETGROUPS 11) NETMAPS 12) INTERFACES [4]: 4
Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE
6) CLEAR BUFFER 7) QUIT [3]: 5
Enter editor to add/modify fields [n]? y
(2)修改TA_SERVERNAME /opt/app/tuxapp/tuxmisc/app/paysrv
注意:其他不需要修改的项全部删除
(3)再次执行
Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE
6) CLEAR BUFFER 7) QUIT [1]: 3
Enter editor to add/modify fields [n]? n
Perform operation [y]? y
将指定路径下的服务的配置load
(4)再次进入修改文件编辑窗口,现在指定服务的配置文件就已经被load进来了,修改指定的项目保存即可
注意:在修改动态配置的时候,需要先将要修改的服务停掉,修改过后再启动
二、windows环境下配置tuxedo
1、在黑屏cmd模式下运行tuxedo
(1)、安装tuxedo9.0(目前我用的是9.0版本的)
(2)、注意需要license文件lic.txt(在官网上下载)放在tuxedo9.0根目录下的udataobj目录下面
(3)、到tuxedo9.0根目录下面进入tuxedo\tuxedo9.0\samples\atmi\simpapp目录,查看README.nt文件,根据说明一步一步的进行操作
操作过程中注意事项:ubbsimple文件中的主机名要大写,并且不能有中线等特殊符号,查看主机名用hostname命令
三、tperrno对照表
当一个ATMI调用发生错误时,全局变量tperrno被设置,它指示发生错误的原因。可选值如下:
|
代码 |
解释 |
1 |
TPEABORT |
Transaction can not commit |
2 |
TPEBADDESC |
Bad descriptor for tpgetrply(3c) |
3 |
TPEBLOCK |
Blocking condition found and no-block specified |
4 |
TPEINVAL |
Invalid arguments given |
5 |
TPELIMIT |
Too many handles outstanding |
6 |
TPENOENT |
No entry found or no room on the Bulletin Board |
7 |
TPEOS |
Operating system error |
8 |
TPEPERM |
Bad permissions or failed authentication |
9 |
TPEPROTO |
Protocol error |
10 |
TPESVCERR |
Server error while handling request |
11 |
TPESVCFAIL |
Application level service failure |
12 |
TPESYSTEM |
Internal BEA TUXEDO error (userlog(3c)) message written) |
13 |
TPETIME |
Time-out occurred and TPNOTIME was not specified |
14 |
TPETRAN |
Caller in transaction mode and transaction aborted |
15 |
TPGOTSIG |
Signal received and TPSIGRSTRT not specified |
16 |
TPERMERR |
Resource Manager failure |
17 |
TPEITYPE |
Type and/or subtype do not match services |
18 |
TPEOTYPE |
Type and/or subtype do not match buffers or unknown |
19 |
TPERELEASE |
Caller has made a 3.0 library call |
20 |
TPEHAZARD |
Hazard exists that transaction heuristically completed |
21 |
TPEHEUR |