campuses-aing
一、
配置操作系统核心参数
First
of All
———
设置合理的操作系统核心参数!!
#
用
tmunloadcf >
可以
得出目前配置得
UBB
文件所有得参数值(没有设
置的有缺省值)
#
用
tmloadcf
–
c
或
tmboot
–
p>
c
可以计算出当前
UBB
< br>配置的
Tuxedo
启动最少要
占用的系统
IPC
资源。
Ipc sizing (minimum /T values only) ...
Fixed Minimums Per Processor
SHMMIN: 1
SHMALL:
1
SEMMAP: SEMMNI
Variable Minimums Per Processor
SEMUME, A SHMMAX
SEMMNU, * *
Node SEMMNS SEMMSL SEMMSL SEMMNI MSGMNI
MSGMAP SHMSEG
------ ------ ------
------ ------ ------ ------ ------
KF_FENGM 65 8 60 A + 1 37 74 220K
where 1 <= A <= 8.
二、
BEA
Tuxedo
配置文件
UBBCONFIG
< br>UBB
配置文件分成
*RESOURCES,*GROU
P,*SERVER,*SERVICE,*NETWORK
等若干节。
DEFAULT
表示该节中所有对象共有的缺省属性。
*RESOURCES
#RESO
UCES
节提供整个系统的基本参数。
IPCKEY 55555
(
327
67-262143
)
#
进行
IPC
通讯的
p>
key
值
DOMAINID unicom
#DOMAIN
的
ID
值
MASTER unicom1,unicom2
#
指定
DOMAIN
< br>中的管理主机为
unicom1,
运行过程中
unicom1
若出现问题,管理
主机切换至
p>
unicom2
MAXACCESSERS 1000
#
这里该值表示整个系统中单个机器
上可以访问
TUXEDO
的最多的
Cl
ient
和
Server
的总数
(
可以访问
BBL
的最大进程数
)
,应大于
licens
e
用户数
+server
数(副本应记
入)。该字段会被
MACHINE
部分的
MAXACCESSERS
覆盖。
#
系统核心参数中
SEMAPHORE
的数目
(SEMMNS)
要大于这里的
MAXACCESSERS
数
目,而
i
pc
消息个数(
MSGMAX
)应大于
MAXACCESSERS
数
+
所有带
REPLYQ
的
SERVER
的个数。
MAXSERVERS 80
#<
/p>
最大的
server
数(副本应记入)<
/p>
MAXSERVICES 200
#
最大的
service
数(多个
server
重复记入)
< br>
MAXGTT 20
#
系统最多的并发的全局交易数目
MODEL MP
#
表示
cluster
方式,否则为
< br>SHM
OPTIONS LAN,MIGRATE
#
多机
cluster
方式时必须指定为
LAN
方式,
MIGRATE
表示可以以组为单位进行
机器间
SERVER
的迁移。
LDBAL Y
#
允许负载均衡
SCANUNIT 10
#SCANUNIT
是
BBL
在所有服务请求中定期扫描以寻找超时的交易和被阻塞的调
用的间隔时
间(秒)。这个参数指定
BBL
扫描间隔时间的基本单位,
p>
它会影响
在
tp
begin
中指定的交易超时时间和用
BLOCKTIME
p>
指定的请求阻塞超时时间的
精确程度。
SA
NITYSCAN, BBLQUERY, DBBLWAIT, BLOCKTIME
等参数都是
SCANUNIT
的倍数,而不是实际秒数。而作为
时间单位
SCANUNIT
必须是
5<
/p>
的倍
数,并且满足
0
。
< span>
SANITYSCAN 12
#SA
NITYSCAN
的值指定在每个
MACHINE
上
BBL
自动检测所有进程的时间间隔,
以
SCANUNIT
为单元。缺省值满足(
SCANUNIT*SANITYSCAN
)约为
120
秒。
DBBLWAIT
2
#DBBLWAIT
的值指定
p>
DBBL
扫描
BBL
时等待所有
BBL
应答的最大时间,以
SCANUNIT
为单元,即超过
DBBLWAIT*SCA
NUNIT
(秒)就超时。每一次
DBBL
将请
求转发给它的
BBL
时,
p>
BBL
会在请求返回结果之前先回复一个肯定的应答。这
样可以定时检测死掉或不正常的
BBL
。缺省值满
足(
SCANUNIT*DBBLWAIT
)的值
等于
SCANUNIT
和
2
0
秒两者之间的最大者。
BBLQUERY 30
#BBLQ
UERY
指定
DBBL
对所有
BBL
进行状态检查的时间间隔,它也是以
SC
ANUNIT
为计算单位。如果
DBBL
的状态询问没有回答,该
BBL
就被‘隔离’了。缺省值
p>
满足
(SCANUNIT * BBLQUERY)
约为
300
秒。
BLOCKTIME
6
#BLOCKTIME
指定在阻塞
队列中的被阻塞请求的超时时间
(
包括客户端从
tpinit
到
tpterm
的等待时间
)
,以
SCANUNIT<
/p>
为计算单位。缺省值满足
(SCANUNIT *
BLOCKTIME)
约为
60
秒。
*MACHINES
DEFAULT:
#
该部分
对各主机
进行描述。
p>
unicom2 LMID=unicom2
< br>APPDIR=
tuxedo
/apps/simpap
p
TUXCONFIG=
tuxedo
/apps/simpapp/tuxconfig
TUXDIR=
tuxedo
UID=17
GID=26
MAXACCESSERS=100
unicom1 LMID=unicom1
APPDIR=
tuxedo
/apps/simpapp
TUXCONFIG=
tuxedo
/apps/simp
app/tuxconfig
TUXDIR=
tuxedo
p>
UID=17
GID=26
MAXWSCLIENTS=50
#unicom2, un
icom1
为网络主机名用
hostname
< br>获得。
#LMID
:
Logical
Machines ID
为
tuxedo
对主机的内部逻辑命名。
#APPDIR
要求放置
SERVER
的可执行文件。
#TUXCONFIG
为全路径的二进制配置文件,
要求和环境变量
TUXCONFIG
相同。对
< br>于
master
机
tuxcon
fig
文件是由
tmloadcf
生成
的,而非
master
机则是由
tmb
oot
启动后由
tlisten
从
p>
master
机上拷贝获得。
#TUXDIR
为
tuxedo
< br>安装目录,要求和环境变量
TUXDIR
相同。
#MAXWSCLIENTS
表示可连接
p>
client
的最大个数。
*GROUPS
#GROUP1
为组
名,
LMID
表示该组运行的主机,
G
RPNO
为组号,
OPENINFO
为
该组
通过
XA
打开
RM(
通常指数据库
)
的初始串。
GROUP1 LMID=unicom2 GRPNO=1
OPENINFO=NONE
GROUP2 LMID=unicom3
GRPNO=2 OPENINFO=NONE
*SERVERS
< br>#
这里描述应用服务器。
SRVGRP
< br>的该
SERVER
所属组名,
S
RVID
为服务器
ID
号,
MIN
表示该服务器
CLOPT
< br>提供运行的相关参数,要求是
”
-A --
…
.
”
,
可以在应用
服务器的
srvinit
< br>函数中获得这些参数。
DEFAULT:
CLOPT=
BillServer
SRVGRP=GROUP1 SRVID=1 MIN=2 MAX=4
RQADDR=QNAME REPLYQ=Y
CLOPT=
–
r -e ./ --
-p [L][
low_water
]
[,[
terminate_time
]][:[
high_water
][,
create_tim
e
]]
如果
MAX>1
,并且使用了
MSSQ
(
RQADDR
,
RQPERM
)的<
/p>
Server
可以配置
-
p
来控制进程的增加和减少。控制算法如下:如果请求队列中的请求个数大于<
/p>
high_water
后超过
creat
e_time
秒
,
< br>就增加该服务的一个新进程;
如果请求队列中
的请求个数小于
low_water
后超过
terminate_time
秒
,
就停止该服务的一个进
程。
low_water
缺省是平均每个服务进程有一个请求消息或者
workload
50
;
high_water
缺省是平均每个服务进程有两个请求消息或者
workload
100
。
create_time
<
/p>
缺省最小是
50
秒
, and
terminate_time
缺省最小是
60
秒。
注意:
使用
TUXEDO
的服务进程池时,用户自己在程序中如果用
ala
rm
()等系统调
用来停止进程是不起作用的,但也不会报错。
[L]
标记意味着增减服务进程基
于负载而不是请求队列的长度。仅用于
SHM
模
式下并且
LDBAL=Y
,否则会报错
(LIBTUX_CAT:1542)
,服务进程也不会增
减。
WSL SRVGRP=GROUP2 SRVID=1
CL
OPT=
#WSL
用于和
client
端进行连接。
-n
表示出接入点为<
/p>
IP:PORT
方式,
-m
–
M
表
示最
小和最大启动多少个
WSH
和前端通讯,
-x
则表示一个
WSH
和几个
client
端连接。
-T 10
表示如果
client
端和
server
连接后
10
分钟内没有
交易请求则
关闭连接。
*SERVICES
#
不要求将所有
的
service
在这里描述,当某个
service
有特别参数时才在
SERVICE
节中说明。
TOUPPER
LOAD=60 //
负载,当
LD
BAL=Y
时有用
PRIO=80
//
服务在请求队列中的优先级
TRANSTIME=120 //
交易时间
SVCTIMEOUT=600 //
服务超时时间
*NETWORK <
/p>
#NETWORK
节对多机之间如何进行网络连接进行描述。
p>
#cluster
方式下要求先启动
p>
tlisten
。事实上,对于非
mast
er
机启动应用服务
器是由
tlist
en
完成的。
#tlisten
的启动方式为
#unicom1: tlisten
–
l //130.36.1.101:8891
#unicom2: tlisten
–
l //130.36.0.102:8891
#NADDR
指定网络连接的接入点。
#NLSADDR
则指定
tliste
n
的接入点。
#BRIDGE
则指
TCP
连接所用的设备文件。
三、
BEA
Tuxedo
常见配置错误
BEA
Tuxedo
服务启动时可能遇到的问题:
1
、
服务启动时报错
”No space in Bulletin
Board”
增加
ubb
文件中的
MAXACCESSERS
值和
MAXSERVERS
2
、
Tux
edo
应用程序在初始化时失败:
‖
A
pplication server failed
or dumped core
during initialization”
重新编译连接。
3
、
Tux
edo
应用程序可执行文件没找到或无法运行
:
―
Application server
file not
found or not executable”
4
、
server group
的自动迁移
Automatic migration of server group
5
、
缺省的启动顺序可能不是最佳的
Default boot sequence may not be
optimal
6
、
环境变量没有设置或设置不正确
Environment variable not set or not set
properly
7
、
IPCKEY
以被使用
:”IPCKEY is
already in use”
将
ubb
文件中的
IPCKEY
改成另一
个值。
8
、
无效
NETADDRESSS
。
Invalid network
address
9
、
Met
upper bound limits specified in the UBBCONFIG
file
10
、
Network port
被占用
Network port is in use already
11
、
达到系统资源的限制
Reached limit on
system resources
12
、
Server boot dependency
13
、
没有
建立
TLOG
文件。
TLOG
file is not created
BEA
Tuxedo
服务
shutdown
时可能遇到的问题:
1
、
Clients still
attached
。客户端仍然保持连接
2
、
Dead servers
。应用服务程序
Dead
3
、
Shutdown sequence
四、
BEA
Tuxedo
常用命令
??
buildclient:BEA
Tuxedo
Client
端应用程序编译命令
buildclient [ -C ] [ -v ] [ {-r rmname
| -w } ] [ -o name]
[ -f
firstfiles] [ -l lastfiles]
说明:
-C
specifies COBOL
语言的编译方式
-v
specifies that buildclient should work
in verbose mode.
In particular, it
writes the compilation command to its
standard output.
Buildclient
的编译信息详细的输出到标准输出设备
-w
specifies that the client
is to be built using the workstation
libraries
.
指出
Client
程序编译时连接
< br>Workstation
相应的动态库
-r
rmname
specifies the resource manager
associated with
this client.
-o
输出文件名
-f
输入文件名称,一个或多个,多个以
-f
分离
-l
specifies one or more user files to be
included in the
compilation and link
edit phases of buildclient last,
after
the BEA
Tuxedo
libraries.
需要连接的非
BEA
Tuxedo<
/p>
的动态库,可以为多个,多个时以
-l
分离
buildtms(transaction manager server):
buildserver:
??
tm
boot
—
activates the
application that is referenced in
the
specified configuration file. Depending on the
options used, the entire application or
parts of the
application are
started.
??
tmload
cf
—
parses the UBBCONFIG file
and loads the
binary
TUXCONFIG
configuration
file.
??
tmunloadc
f
—
unloads the TUXCONFIG
configuration file.
??
tmconfig
—
dynamically
updates and retrieves information
about
the
configuration for a
running system.
??
dmadmin
—
updates the
compiled DMCONFIG
(binary domain
configuration file) while the system is
running.
??
tmadmin
—
produces information about
configuration
parameters. Once invoked,
you can enter many
administrative
commands that duplicate the functions of
other commands. For example, the
tmadmin shutdown command
is identical
to the tmshutdown command.
?
?
tmshutdown
—
shuts
down a set of specified BEA WebLogic
Enterprise or BEA
Tuxedo
servers, or removes a
set of BEA
WebLogic Enterprise
interfaces or BEA
Tuxedo
services
listed in a configuration
file.
单个启动或关闭服务器
:
要动态的启动指定的服务器必须先启动
BBL
< br>服务
,JSL
服务
,JREPS
VR
服务
!
具体
做法如下
:
tmloadcf
ubbsimple
tmadmin
>boot -B
simple (simple
为
ubbsimple
中指定的
MASTER,
注意
< br>B
大写
!)
或
>boot -M (
单独启动
BBL
服务
)
>boot -i 11 (11
为
u
bbsimpel
中定义的
JSL
的<
/p>
SRVID)
BBL
服务和
JSL
服务均成功启动后
,
可以启动
wlserver
。
p>
wlserver
启动之后,首先启动
JR
EPSVR
服务
,
如下
:
>boot -i 111 (111
为
ubbsimpel
中定义的
JREPSVR<
/p>
的
SRVID)
再启动用户自己定义的
服务
,
如下
:
>boot -i 1 (1
为
ubb
simpel
中定义的
simpserv
的
SRVID)
关闭指定服务器
:
>shutdown -i 1 (1
为
ubbsimpel
中定义的
simpserv
的
SRVID)
通过以上方法
,
可以动态加载服务器
,
而不需要
把整个
Tuxedo
服务重启
!
五、常用
BEA
Tuxedo
函数:
(
一
)
数据操作函数说明:
在
BEA
Tuxedo
的数据操作过程中(与数据库中数据交互,与客户端数据交
互),由于一般交
互的数据较多,因此一般采用
BEA
Tuxedo
的
FML
数据类型
< br>进行数据传输。
FML(Field Modification
Language )
类似于
Oracle
< br>数据库中的一
个表,它可以象表一样存放一个
Field
的多个值,而且对于同一个
FML
定义
中
的
Field
,
其值的个数是可以不相同的,主要根据用户的输入值而定。
FML
类型有两种大小,通常的
FML
是基于16位数据接口的。对于
FML16
位
接口限制,最多只能有
8192
个不同的字段,每个字段值的最大的
Buffer Size
为
64K
。
第二种是基于
32
位数据接口的,它允
许
30 millions
的
Fields
,每个
Field
允许
20 billions
Bytes
。
FML
Buffers
:一个
Field
Buffer
是由
Field id,name,field
type
,
field length
组成
的,其定义如下所示,其中
*base
10050
是指对于每一个
Field
其
field identifier
的
取值的偏移量,它决定每一个
Fie
ld
在
Buffer
中的相对地址。
定义:
*base 10050
# name number
type flags comments
name
:字段名称
number
:
:
每个字段在
FML
Buffer
中的相对位置,决定各字段的地址指针
type
:字段数据类型
flags
:暂时未用
Comments
:注释
FML16
字段
Numbers
FML32
字段
Numbers
保留
可用
保留
可用
1-100
101-8191
1-10,000,
10,001-30,000,000
30,000,001-33,554,431
在定义字段时,注意
*base value
中
Value
值的定义,首先参照上表定义,
其次注意,在自定义字段时,地址的不可重用性。如果地址重用,将会
出现同
一地址的字段,有的字段的值取不到。
头文件:
#include
#include
主要函数:
函数名称
描述
campuses-aing
campuses-aing
campuses-aing
campuses-aing
campuses-aing
campuses-aing
campuses-aing
campuses-aing
-
上一篇:数据库规范
下一篇:(完整版)人教版八年级下册课内文言文阅读训练(附答案)