準(zhǔn)備bankapp的文件和資源
⑴.設(shè)置環(huán)境變量
將samples\atmi\bankapp\nt下的bankvar文件改名為bankvar.bat,復(fù)制到父目錄,然后對(duì)其進(jìn)行編輯:
@echo off
rem %Tuxedo%為Tuxedo安裝目錄,APPDIR是bankapp所在的目錄
set APPDIR=%TUXDIR%\samples\atmi\bankapp
rem消息所在目錄
set NLSPATH=%TUXDIR%\locale\C
rem邏輯塊大小,數(shù)據(jù)庫管理員必須設(shè)置
set BLKSIZE=512
rem 被缺省使用的數(shù)據(jù)庫名字
set DBNAME=bankdb
rem 指示數(shù)據(jù)庫為共享模式還是私有模式
set DBPRIVATE=no
rem 指示數(shù)據(jù)庫使用的IPC值,必須與ubbconfig中的IPCKEY不同
set DIPCKEY=80953
rem 由tmloadcf使用的環(huán)境文件
set ENVFILE=%APPDIR%\ENVFILE
rem 由mc, viewc, tmloadcf使用的字段表文件
set FIELDTBLS=Usysflds,bankflds,creditflds
rem 查找字段表文件的目錄
set FLDTBLDIR=%TUXDIR%\udataobj;%APPDIR%
rem 數(shù)據(jù)庫使用的通用設(shè)備列表
set FSCONFIG=%APPDIR%\bankdl1
rem MENU中使用的網(wǎng)絡(luò)地址
set NADDR=
rem 網(wǎng)絡(luò)設(shè)備名
set NDEVICE=
rem MENU腳本中使用的網(wǎng)絡(luò)監(jiān)聽器地址
set NLSADDR=
rem 事務(wù)日志設(shè)備,必須和ubbconfig中MACHINES節(jié)
rem LMID站點(diǎn)的TLOGDEVICE參數(shù)相同
set TLOGDEVICE=%APPDIR%\TLOG
rem 為/T提供全部信息的二進(jìn)制配置文件
set TUXCONFIG=%APPDIR%\tuxconfig
rem 用戶日志文件,必須和ubbconfig中的MACHINES節(jié)
rem LMID站點(diǎn)的ULOGPFX參數(shù)相同
set ULOGPFX=%APPDIR%\ULOG
rem 由RUNME.sh使用的系統(tǒng)名
set UNAME=
rem 由viewc, tmloadcf使用的view文件列表
set VIEWFILES=aud.vv
set VIEWFILES32=mib_views,tmib_views
rem 查找view文件的目錄
set VIEWDIR=%TUXDIR%\udataobj;%APPDIR%
set VIEWDIR32=%TUXDIR%\udataobj;%APPDIR%
rem 指定Q設(shè)備
set QMCONFIG=%APPDIR%\qdevice
set PATH=%TUXDIR%\bin;%PATH%
rem 指出Visual C++安裝的目錄
set MSDEV=G:\Program Files\Microsoft Visual Studio\VC98
set PATH=%PATH%;%MSDEV%\bin
set INCLUDE=%INCLUDE%;%MSDEV%\include;%MSDEV%\mfc\include
set LIB=%LIB%;%MSDEV%\lib;%MSDEV%\mfc\lib
⑵.Build
bankapp的應(yīng)用程序
bankapp的5個(gè)服務(wù)器:ACCT、BAL、BTADD、TLR、XFER。用一個(gè)命令就可以完成編譯任務(wù):
G:\Tuxedo\samples\atmi\bankapp\nmake
bankapp.nt
若要手工完成編譯,首先要將EC文件編譯成C文件:
G:\Tuxedo\samples\atmi\bankapp\ESQLC
ACCT.EC
生成FML緩沖區(qū)頭文件:
G:\Tuxedo\samples\atmi\bankapp\mkfldhdr
bankflds eventflds
生成目標(biāo)文件:
G:\Tuxedo\samples\atmi\bankapp\CL
/c ACCT.c appinit.c util.c
生成ACCT.exe文件:
buildserver -r TUXEDO/SQL -s OPEN_ACCT -s
CLOSE_ACCT
-o ACCT.exe
-f ACCT.obj -f
appinit.obj -f util.obj
-r指示哪一個(gè)資源管理器的訪問庫將被編譯到acct.exe文件中,本例為TUXEDO/SQL
⑶.編輯bankapp的make文件
在NT平臺(tái)下,bankapp提供的make文件為bankapp.nt,使用前需要檢查一下環(huán)境變量TUXDIR、APPDIR的設(shè)置。另外一個(gè)要注意的地方就是資源管理器參數(shù)RM,缺省使用TUXEDO/SQL,因?yàn)?/span>Tuxedo為bankapp提供數(shù)據(jù)庫服務(wù)。如果使用了其它數(shù)據(jù)庫產(chǎn)品,需要把RM參數(shù)設(shè)置成%TUXDIR%\udataobj\RM文件列表中的某一個(gè)值。
⑷.創(chuàng)建bankapp的數(shù)據(jù)庫
bankapp使用了TUXEDO/SQL作為資源管理器,它是一個(gè)XA-compliant的資源管理器,XA是事務(wù)管理器和資源管理器之間的接口。在單處理機(jī)SHM模式和多處理機(jī)MP模式下創(chuàng)建數(shù)據(jù)庫的方式是不同的,在SHM模式下,創(chuàng)建步驟如下:
設(shè)置環(huán)境變量: G:\Tuxedo\samples\atmi\bankapp\bankvar
執(zhí)行批處理文件:G:\Tuxedo\samples\atmi\bankapp\crbank
crbank.cmd調(diào)用crbankdb三次,每次調(diào)用前改變一些環(huán)境變量,執(zhí)行完成后,同一臺(tái)機(jī)器上有三個(gè)數(shù)據(jù)文件,這樣,就可以在單機(jī)上模擬網(wǎng)絡(luò)環(huán)境。在MP模式下創(chuàng)建數(shù)據(jù)庫的步驟如下:
設(shè)置環(huán)境變量:G:\Tuxedo\samples\atmi\bankapp\bankvar
在一臺(tái)機(jī)器上創(chuàng)建數(shù)據(jù)庫:G:\Tuxedo\samples\atmi\bankapp\crbankdb
在其它機(jī)器上,修改bankvar.cmd文件中的數(shù)據(jù)庫通用設(shè)備列表FSCONFIG,修改ubbmp配置文件中的相應(yīng)部分,再進(jìn)行創(chuàng)建操作。
⑸.準(zhǔn)備一個(gè)XA-compliant資源管理器
若不使用TUXEDO/SQL作為資源管理器,而使用其它的XA-compliant資源管理器,需要作很多修改:修改bankvar.cmd、修改bankapp服務(wù)、修改bankapp.nt文件、修改crbank和crbankdb文件、修改配置文件。
修改bankvar.cmd文件。下面是TUXEDO/SQL資源管理器的配置,已經(jīng)不能用了,你需要根據(jù)實(shí)際的數(shù)據(jù)庫系統(tǒng)對(duì)這些值進(jìn)行修改:
BLKSIZE=512
DBNAME=bankdb
DBPRIVATE=no
DIPCKEY=80953
FSCONFIG=${APPDIR}/bankdl1
修改bankapp的服務(wù)。bankapp中所有數(shù)據(jù)庫訪問都是通過ESQL來完成的,如果你的新資源管理器支持SQL,這就沒什么問題。appinit.c中包含了打開和關(guān)閉數(shù)據(jù)庫的tpopen()和tpclose()。
修改bankapp.nt。將RM參數(shù)修改為新的資源管理器,確保RM文件中有如下入口:
$TUXDIR/udataobj/RM
如果必要,改變SQL編譯器和它的選項(xiàng),源文件的擴(kuò)展名不一定是EC,你需要指預(yù)編譯的命令及參數(shù),以ORACLE為例,使用PROC將PC文件預(yù)編譯成C文件。
修改crbank和crbankdb。注意crbankdb創(chuàng)建的SQL語句在新資源管理器中是否能接受。修改配置文件。在GROUPS節(jié)中,為TMSNAME和OPENM指定一個(gè)適當(dāng)?shù)闹祬?shù)值,這個(gè)值要讓資源管理器能夠識(shí)別。
⑹.如何將bankapp和Oralce8進(jìn)行集成
Oracle8是XA兼容的資源管理器,要實(shí)現(xiàn)和bankapp的集成,按如下步驟進(jìn)行:
①.編輯bankvar.cmd文件,修改如下環(huán)境變量的值:
ORACLE_HOME:Oracle8的安裝目錄
ORACLE_SID:Oracle的系統(tǒng)ID
BLK_SIZE:邏輯塊的尺寸
DBNAME:缺省數(shù)據(jù)庫
DBPRIVATE:指示數(shù)據(jù)庫是以共享模式還是私有模式打開(yes/no)
FSCONFIG:數(shù)據(jù)庫使用的通用設(shè)置列表
PATH=%PATH%;%ORACLE_HOME%\bin
INCLUDE=%ORACLE_HOME%\rdbms80\xa;
%ORACLE_HOME%\pro80\c\include
PLATFORM=inwnt40
LIB=%TUXDIR%\lib %ORACLE_HOME%\pro80\lib\msvc;
%ORACLE_HOME%\rdbms80\xa;
②.運(yùn)行bankvar.cmd
③.編輯%TUXDIR%\udataobj\RM文件,追加如下行:
Oracle_XA;xaosw;%ORACLE_HOME%\pro80\lib\msvc\sqllib80.lib
%ORACLE_HOME%\RDBMS80\XA\xa80.lib
如果Oracle服務(wù)器在網(wǎng)絡(luò)的另一端,把那臺(tái)機(jī)器映射到驅(qū)動(dòng)器,如F;
把如下行追加到%TUXDIR%\udataobj\RM文件中:
Oracle_XA;xaosw;f:\orant\pro80\lib\msvc\sqllib80.lib
f:\orant\RDBMS80\XA\xa80.lib
刪除RM文件中以前的Oracle_XA入口
④.為Oracle8創(chuàng)建事務(wù)管理服務(wù)器
cd %APPDIR%
buildtms -r Oracle_XA -o TMS_ORA
⑤.編輯nt\bankapp.mak文件
RM=Oracle_XA
ORACLE_LIB=$(ORACLE_HOME)\PRO80\LIB
RMNAME=Oracle_XA
SQLPUBLIC=$(ORACLE_HOME)\PRO80\C\INCLUDE
ORACLE_DIR=$(ORACLE_HOME)\bin
在.ec.c節(jié)中,編輯從EC到C的創(chuàng)建規(guī)則,不再使用ESQLC了,而使用PROC:
set
TUXDIR=$(TUXDIR) & $(ORACLE_DIR)\proc80
mode=ansi
release_cursor=yes
include=$(SQLPUBLIC)
include=$(INCDIR)
$(SQL_PLATFORM_INC)
-c iname=$*.ec
在.c.obj節(jié)中,編輯規(guī)則,作出下設(shè)置:
$(CC)
-c $(CFLAGS) $(SQLPUBLIC) $(INCLUDE) $*.c
⑥.使用Oracle的SQL命令更新EC文件
⑦.將nt\bankapp.mak復(fù)制到%APPDIR%下,然后Make一下:
copy nt\bankapp.mak %APPDIR%
nmake –f bankapp.mak
⑧.編輯nt\ubbshm文件:
USER_ID=0
GROUP_ID=0
UNAME_SITE1=執(zhí)行hostname返回值,用大寫形式
TUXDIR=與bankvar.cmd中的相同
APPDIR=與bankvar.cmd中的相同
⑨.在配置文件的GROUPS節(jié)中,輸入如下改變:
TMSNAME=TMS_ORA
BANKB1 GRPNO=1
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/user1/PaSsWd1+SesTm=0+LogDir=."
[
Oracle_XA + required fields:
Acc=P/oracle_user_id/oracle_password
SesTm=Session_time_limit (maximum time a transaction can be inactive)
optional fields:
LogDir=logdir (where XA library trace file is located)
MaxCur=maximum_#_of_open cursors
SqlNet=connect_string (if Oracle exists over the network)
(eg. SqlNet=hqfin@NEWDB indicates the database with sid=NEWDB accessed at
host hqfin by TCP/IP)
]
BANKB2 GRPNO=2
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/user2/PaSsWd2+SesTm=0+LogDir=."
BANKB3 GRPNO=3
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/user3/PaSsWd3+SesTm=0+LogDir=."
⑩.執(zhí)行其它操作:
創(chuàng)建二進(jìn)制配置文件:tmloadcf –y nt/ubbshm
在Master機(jī)上創(chuàng)建TLOG設(shè)備和設(shè)備列表:crtlog
–m
啟動(dòng)數(shù)據(jù)庫服務(wù)器,啟動(dòng)Tuxedo系統(tǒng):tmboot
–y,確保數(shù)據(jù)庫中存在V%XATRANS%視圖,如果不存在,以系統(tǒng)用戶登錄Oracle,然后執(zhí)行%ORACLE_HOME%\RDBMS80\ADMIN\XAVIEW.SQL,授予使用XA庫的Oracle用戶Select權(quán)限。
在Oracle8中創(chuàng)建bankapp使用的數(shù)據(jù)庫對(duì)象。Oracle8安裝以后,會(huì)創(chuàng)建一個(gè)示例數(shù)據(jù)庫,bankapp可以使用這個(gè)數(shù)據(jù)庫。編輯crbank-ora8.sql文件,內(nèi)容如下:
WHENEVER OSERROR EXIT ;
/* 獲取system用戶的口令 */
PROMPT
PROMPT
PROMPT -- Some of the
operations require "system" user privileges
PROMPT -- Please specify the
Oracle "system" user password
PROMPT
ACCEPT syspw CHAR PROMPT
’system passwd:’ HIDE ;
CONNECT system/&syspw ;
SHOW user ;
PROMPT
/* 在缺省數(shù)據(jù)庫中為bankapp創(chuàng)建一個(gè)新的表空間 */
DROP TABLESPACE bank1
INCLUDING CONTENTS
CASCADE CONSTRAINTS;
PROMPT
PROMPT
PROMPT -- Will create a 3MB
tablespace for bankapp ;
PROMPT -------- Please specify
full pathname below for Datafile ;
PROMPT -------- Ex:
%ORACLE_HOME%/dbs/bankapp.dbf
PROMPT
ACCEPT datafile CHAR PROMPT
’Datafile:’ ;
CREATE TABLESPACE bank1
DATAFILE ’&datafile’ SIZE
3M REUSE
DEFAULT STORAGE (INITIAL 10K
NEXT 50K
MINEXTENTS 1 MAXEXTENTS 120
PCTINCREASE 5)
ONLINE;
/* 創(chuàng)建一個(gè)名叫user1的用戶 */
DROP USER user1 CASCADE;
PROMPT Creating user
"user1"
CREATE USER user1 IDENTIFIED by
PaSsWd1
DEFAULT TABLESPACE bank1
QUOTA UNLIMITED ON bank1 ;
GRANT CREATE SESSION TO user1 ;
GRANT CREATE TABLE TO user1 ;
CONNECT user1/PaSsWd1 ;
SHOW user ;
PROMPT Creating database
objects for user "user1" ;
PROMPT Creating table
"branch" ;
CREATE TABLE branch (
branch_id NUMBER NOT NULL
PRIMARY KEY,
balance NUMBER,
last_acct NUMBER,
last_teller NUMBER,
phoneCHAR(14),
address CHAR(60)
)
STORAGE (INITIAL 5K NEXT 2K
MINEXTENTS 1 MAXEXTENTS 5
PCTINCREASE 5) ;
PROMPT Creating table
"account" ;
CREATE TABLE account (
account_id NUMBER NOT NULL
PRIMARY KEY,
branch_id NUMBER NOT NULL,
ssn CHAR(12) NOT NULL,
balance NUMBER,
acct_type CHAR,
last_name CHAR(20),
first_name CHAR(20),
mid_init CHAR,
phoneCHAR(14),
address CHAR(60)
)
STORAGE (INITIAL 50K NEXT 25K
MINEXTENTS 1 MAXEXTENTS 50
PCTINCREASE 5) ;
PROMPT Creating table
"teller" ;
CREATE TABLE teller (
teller_id NUMBER NOT NULL
PRIMARY KEY,
branch_id NUMBER NOT NULL,
balance NUMBER,
last_name CHAR(20),
first_name CHAR(20),
mid_init CHAR
)
STORAGE (INITIAL 5K NEXT 2K
MINEXTENTS 1 MAXEXTENTS 5
PCTINCREASE 5) ;
PROMPT Creating table
"history" ;
CREATE TABLE history (
account_id NUMBER NOT NULL,
teller_id NUMBER NOT NULL,
branch_id NUMBER NOT NULL,
amount NUMBER
)
STORAGE (INITIAL 400K NEXT 200K
MINEXTENTS 1 MAXEXTENTS 5
PCTINCREASE 5) ;
在SQL
PLUS中執(zhí)行上面這段SQL語句:
SQL*plus>
start $APPDIR/ crbank-ora8.sql
填充數(shù)據(jù)庫:
nt\populate
在Oracle數(shù)據(jù)庫中生成事務(wù)
driver
運(yùn)行bankapp的客戶程序:
run
關(guān)閉Tuxedo應(yīng)用程序:
tmshutdown -y
⑹.如何編輯配置文件
配置文件定義了應(yīng)用程序如何運(yùn)行。bankapp有兩個(gè)配置文件:ubbshm和ubbmp。ubbshm定義了在單機(jī)環(huán)境下如何運(yùn)行bankapp,ubbmp定義了在網(wǎng)絡(luò)環(huán)境下如何運(yùn)行bankapp。
①.打開并編輯ubbmp,將<…>替換成際值。對(duì)于ubbmp,NETWORK節(jié)必須替換
*RESOURCES
IPCKEY 80952
UID
<user id from id(1)>
GID
<group id from id(1)>
PERM 0660
MAXACCESSERS 40
MAXSERVERS 35
MAXSERVICES 75
MAXCONV 10
MAXGTT 20
MASTER SITE1,SITE2
SCANUNIT 10
SANITYSCAN 12
BBLQUERY 180
BLOCKTIME 30
DBBLWAIT 6
OPTIONS LAN,MIGRATE
MODEL MP
LDBAL Y
##SECURITY ACL
#
*MACHINES
<SITE1’s
uname> LMID=SITE1
TUXDIR="<TUXDIR>"
APPDIR="<APPDIR>"
ENVFILE="<APPDIR>/ENVFILE"
TLOGDEVICE="<APPDIR>/TLOG"
TLOGNAME=TLOG
TUXCONFIG="<APPDIR>/tuxconfig"
TYPE="<machine
type>"
ULOGPFX="<APPDIR>/ULOG"
<SITE2’s
uname> LMID=SITE2
TUXDIR="<TUXDIR>"
APPDIR="<APPDIR>"
ENVFILE="<APPDIR>/ENVFILE"
TLOGDEVICE="<APPDIR>/TLOG"
TLOGNAME=TLOG
TUXCONFIG="<APPDIR>/tuxconfig"
TYPE="<machine
type>"
ULOGPFX="<APPDIR>/ULOG"
#
*GROUPS
#
# Group for Authentication
Servers
#
Group for Application Queue
(/Q) Servers
#
##QGRP1 LMID=SITE1 GRP=102
## TMSNAME=TMS_QM TMSCOUNT=2
##
OPENINFO=”TUXEDO/QM:<APPDIR>/qdevice:QSP_BANKAPP”
#
# Group for Event Broker
Servers
#
##EVBGRP1 LMID=SITE1 GRPNO=104
DEFAULT: TMSNAME=TMS_SQL
TMSCOUNT=2
BANKB1 LMID=SITE1 GRPNO=1
OPENINFO="TUXEDO/SQL:<APPDIR>/bankdl1:bankdb:readwrite"
BANKB2 LMID=SITE2 GRPNO=2
OPENINFO="TUXEDO/SQL:<APPDIR>/bankdl2:bankdb:readwrite"
*NETWORK
SITE1
NADDR="<network address of SITE1>"
NLSADDR="<network
listener address of SITE1>"
SITE2
NADDR="<network address of SITE2>"
NLSADDR="<network
listener address of SITE2>"
②.UID:公告欄中IPC結(jié)構(gòu)所有者有效的用戶ID,在ubbmp中,所有機(jī)器上的UID必須相同,為了避免引起混亂,輸入Tuxedo系統(tǒng)的所有者ID。GID與UID類似。SITE1’s name:機(jī)器名,在UNIX下為uname –n的結(jié)果。machine
type:一個(gè)字符串,在網(wǎng)絡(luò)環(huán)境下,用于標(biāo)識(shí)一類計(jì)算機(jī),兩臺(tái)計(jì)算機(jī)通信時(shí),Tuxedo系統(tǒng)檢查它們的機(jī)器類型,如果不同,在它們之間傳遞的數(shù)據(jù)就需要進(jìn)行編碼和解碼操作,以便兩臺(tái)機(jī)器都能夠識(shí)別它們。SITE2 name:第二臺(tái)機(jī)器的機(jī)器名。OPENINFO:一個(gè)只有Tuxedo資源管理器才能識(shí)別的格式化字符串,若使用其它的資源管理器如Oracle,必須對(duì)它進(jìn)行修改,以滿足要求。Network
address of SITE1:SITE1上BRIDGE進(jìn)程網(wǎng)絡(luò)監(jiān)聽器完整地址, BRIDGE是一個(gè)維護(hù)著和其它參與計(jì)算的節(jié)點(diǎn)之間虛電路的系統(tǒng)進(jìn)程,以便這些節(jié)點(diǎn)之間可以進(jìn)行消息傳遞。Network listener address of SITE1:SITE1上tlisten進(jìn)程監(jiān)聽器地址。Network
address of SITE2和Network listener address of SITE2同上。
③.要使應(yīng)用程序具有口令特征,在ubbshm或ubbmp中的RESOURCE節(jié)中加入:
SECURITY APP_PW
⑺.創(chuàng)建二進(jìn)制配置文件和事務(wù)日志文件
如果你在SHM模式下運(yùn)行,你就沒有必要在其它機(jī)器上創(chuàng)建tlisten進(jìn)程和事務(wù)日志。
在%APPDIR%下運(yùn)行bankar.cmd設(shè)置環(huán)境變量;
①.加載配置文件
tmloadcf
–y ubbmp;TUXCONFIG只需要在Master機(jī)上安裝,當(dāng)用tmboot啟動(dòng)應(yīng)用程序時(shí),它就會(huì)自動(dòng)地傳給其它機(jī)器。如果指定了SECURITY,tmloadcf就會(huì)提示你輸入應(yīng)用程序的口令,可以長達(dá)30個(gè)字符。當(dāng)客戶進(jìn)程試圖加入應(yīng)用程序時(shí),就要求提供應(yīng)用程序口令、用戶名、用戶口令。
②.創(chuàng)建事務(wù)日志文件TLOG
TLOG是Tuxedo系統(tǒng)管理全局事務(wù)使用的事務(wù)日志文件,在應(yīng)用程序啟動(dòng)之前,在運(yùn)行應(yīng)用程序的每一臺(tái)機(jī)器上必須創(chuàng)建一個(gè)TLOG入口,TLOG文件本身在Master機(jī)上創(chuàng)建。bankapp提供了一個(gè)叫crtlog的腳本,它創(chuàng)建了一個(gè)設(shè)備列表和一個(gè)TLOG文件,設(shè)備列表使用bankvar.cmd中的TLOGDEVICE變量來創(chuàng)建。要?jiǎng)?chuàng)建TLOG文件和設(shè)備列表,在Master機(jī)上運(yùn)行:
crtlog
–m
在生產(chǎn)環(huán)境中,設(shè)備列表名和數(shù)據(jù)庫中用到的設(shè)備列表名必須相同。
在所有其它機(jī)器上,不要指定-m開關(guān),當(dāng)系統(tǒng)啟動(dòng)時(shí),每一臺(tái)非Master機(jī)上的BBL會(huì)創(chuàng)建日志。如果你使用了一個(gè)non-XA的資源管理器,就沒有必要?jiǎng)?chuàng)建事務(wù)日志。
⑻.在每臺(tái)機(jī)器上創(chuàng)建遠(yuǎn)程服務(wù)連接
tlisten是一個(gè)監(jiān)聽進(jìn)程,它為tmboot之類的進(jìn)程提供了遠(yuǎn)程服務(wù)連接。它必須在網(wǎng)絡(luò)中的每一臺(tái)機(jī)器上安裝,并與配置文件中NETWORK段的描述一致。推薦用如下命令啟動(dòng)另一個(gè)tlisten進(jìn)程:
tlisten –l nlsaddr
nlsaddr值必須和配置文件中NLSADDR參數(shù)值一致,tlisten使用的logfile和Tuxedo系統(tǒng)其它log文件分開了。一個(gè)日志文件可以被多個(gè)tlisten進(jìn)程使用,缺省文件名是:%TUXDIR%\udataobj\tlog。
7.運(yùn)行bankapp
⑴.如何準(zhǔn)備啟動(dòng)應(yīng)用程序
啟動(dòng)bankapp之前,檢查你的機(jī)器是否還有足夠的IPC資源,方法是:
tmloadcf
–c ubbshm
⑵.如何啟動(dòng)bankapp
bankvar
tmboot
–y
你可以只boot配置文件中的一部分服務(wù),如指定-A選項(xiàng)可以只啟動(dòng)管理進(jìn)程。
⑶.如何填充數(shù)據(jù)庫
使用populate腳本創(chuàng)建填充數(shù)據(jù)庫,gendata創(chuàng)建了10個(gè)支行,30個(gè)出納員,200個(gè)賬號(hào),pop.out保存了創(chuàng)建過程。
⑷.如何測試bankapp的服務(wù)
audit
{-t|-a} [branch_id]
auditcon
使用driver程序(UNIX平臺(tái)下使用,NT平臺(tái)下使用gt.cmd),缺省情況下,它生成300個(gè)事務(wù),你可以通過-n指定事務(wù)數(shù):
driver –n1000
⑸.如何關(guān)閉bankapp