Tuxedo常用的命令
中間件系統檢查
1.日志檢查清理。檢查Tuxedo日志,用vi命令查看日志文件內容,檢查有無Tuxedo系統出錯記錄;檢查有無服務異常錯誤記錄;檢查有無服務被重起記錄;對發現的異常記錄進行分析;若無異常情況清除無用的歷史日志。
2. 服務器運行情況。檢查Tuxedo系統和應用的服務器的運行情況,用“ps -elf|grepserver名”查看進程相關信息,如運行時間、占用內存大小等;用tmadmin命令檢查看服務器運行情況,執行psr監控服務器運 行情況,查看處理的請求數目、忙閑程度。
3. service運行情況。檢查service運行情況,用tmadmin命令中的psc命令查看Tuxedo各service的運行情況和處理的交易數。
4. 隊列使用情況。檢查Tuxedo隊列的使用情況,用tmadmin命令中的pq命令查看Tuxedo各server隊列的使用情況,主要查看交易高峰期隊列中消息的增加情況,確定是否存在阻塞現象,是否需要對服務數進行調整。
5. 客戶機連接情況。檢查TuxedoClient的連接情況,用tmadmin命令中的pclt命令查看Tuxedo各客戶機的連接情況,檢查MAXCLIENT參數是否足夠,Licence數是否滿足並發要求。
6 .配置參數配置。檢查Tuxedo ubbconfig文件和dmconfig文件,根據以上各項檢查結果,查看Tuxedo配置文件是否需要調整優化,以使中間件平台良好運行,保存配置文件並歸檔備案。
7. 系統核心參數配置。檢查操作系統核心參數配置是否滿足目前應用系統規模要求,是否需要調整,根據具體使用的操作系統提供的命令查看核心參數。
8. tmunloadcf 可以導出 ubb 文件, tmloadcf 加載ubb 文件
9. tmboot 啟動, tmshutdown 關閉, 當然還有很多參數 比如 -y -i -s 等
=======================
1.服務程序的入口參數--- TPSVCINFO
2.服務程序返回結果--- tpreturn()
3.編寫客戶端進程buildclient -w -o simpcl -f simpcl.c
4.編寫服務端進程buildserver -o simpserv -f simpserv.c -s ADD_A -s ADD_B
5.作成系統配置文件 Ubbconfig
10.154.32.1上面的配置文件在/u1/tmn/newtmn/bin/ubbapserver
10.154.32.51上面的配置文件在/u1/tmn/bin/ubbapserver
6.系統配置的生成
tmloadcf -y ubbconfig
生成tuxconfig
如果要導出當前使用的UBB
tmunloadcf > tuxconfig
dmloadcf -y dmconfig
生成dmconfig
如果要導出當前使用的DM
dmunloadcf > dmconfig
administration-configuration file
*RESOURCES
*MACHINES
*GROUPS
*SERVERS
*SERVICES
*NETWORKS
*ROUTING
*NETGROUPS
對ubb文件只做語法檢查(不真正的load成TUXCONFIG)
tmloadcf -n ubb
對dm文件只做語法檢查(不真正的load成DMXCONFIG)
dmloadcf -n dm
7.基於TUXEDO 的程序設計與運行管理---起動、監控、停止
tmadmin
psr 查看大的服務名
psc 查看具體的服務名
pq
pclt
quit
tmboot
-y
-s 服務名
tmshutdown
-y
-s 服務名
8.通訊緩沖區類型概述
CARRAY
STRING
VIEW
FML
9.Transaction Managing
tpbegin
tpabort
tpcommit
10.七種通訊方式編程
同步調用
tpcall()
TxRPC
異步調用
tpacall()
tpgetrply()
tpcancel()
管道
tpforward()
會話
tpconnect()
tpsend()
tprecv()
tpdisconnect()
廣播、通知
tpsetunsol(),tpchkunsol(),SIGNAL/DIPIN
tpnotify( ), tpbroadcast( )
隊列
tpenqueue( )
tpdequeue( )
發布訂閱
tppost( )
tpsubscribe( )
11.總結,ATMI分類
連接
tpinit,tpterm;
緩沖區處理
tpalloc,tprealloc,
tptypes
tpfree
通訊
tpcall,
tpsvrinit,tpsvrdone
tpreturn,tpforward (,tpservice[TPSVCINFO])
tpacall,tpgetreply,tpcancel
tpconnect,tpsend,tprecv,tpdisconnect
tpsetunsol, tpunsetunsol,tpchkunsol,tpnotify,tpbroadcast,
tpenqueue,tpdequeue
tpsubscribe,tppost,tpunsubscribe
事務控制
tpopen,tpclose
tpbegin,tpcommit,tpabort
tpsuspend,tpresume,tpscmt,tpgetlev
優先級
tpsprio,tpgprio
安全性處理
tpchkauth,tpcriptpw,tpgetadminkey,tpgetaclinfo
應用管理
tpadvertise,tpunadvrtise,tpadmcall,tpcall
錯誤處理
tpstrerror,tpstrerrordetail [tperrno,tpusrcode]
其它
tpconvert,userlog,tuxgetenv,tuxputenv,tuxreadenv,...
12.TPSVCINFO *rqst
從客戶端收到的數據放在TPSVCINFO結構中,是唯一的入參
13.psc命令集
【強制殺ipc進程方法】
一、unix
ipcs|grep nmgobapp|awk '{print "ipcrm -"$1 " "$2}' > 2.sh
輸出到2.sh,然后運行這個sh就行了
二、linux下
ipcs -m|grep nmgobapp|awk '{print "ipcrm -m "$2}' > 1.sh
ipcs -s|grep nmgobapp|awk '{print "ipcrm -s "$2}' > 2.sh
ipcs -q|grep nmgobapp|awk '{print "ipcrm -q "$2}' > 3.sh
ipcs -m|grep scnbapp|awk '{print "ipcrm -m "$2}' > 1.sh
ipcs -s|grep scnbapp|awk '{print "ipcrm -s "$2}' > 2.sh
ipcs -q|grep scnbapp|awk '{print "ipcrm -q "$2}' > 3.sh
輸出,然后運行這個sh就行了
【查看ubb配置和系統參數】
tmloadcf -c ubb.ini查看UBB配置信息
[nmgobapp@nbobapp01 UBB]$ tmloadcf -c *ini
Ipc sizing (minimum /T values only) ...
Fixed Minimums Per Node
SHMMIN: 1
SHMALL: 1
SEMMAP: SEMMNI
Variable Minimums Per Node
SEMUME, A SHMMAX
SEMMNU, * *
Node SEMMNS SEMMSL SEMMSL SEMMNI MSGMNI MSGMAP SHMSEG
------ ------ ------ ------ ------ ------ ------ ------
nbobapp01 225 28 220 A + 1 1419 2838 9717K
where 1 <= A <= 8.
The number of expected application clients per node should
be added to each MSGMNI value.
sysctl -a 查看系統信息
kernel.msgmnb = 16384
kernel.msgmni = 16 #too small
kernel.msgmax = 8192
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 33554432
修改系統參數
/etc/sysctl.conf
增加下面解決
kernel.msgmni = 4000
kernel.msgmap = 100
kernel.msgmax = 65536
kernel.msgmnb = 65536
kernel.sem = 1000 32000 500 512
要檢查/proc/sys/kernel/sem文件中的參數設置,推薦不小於
1000 32000 500 512
proc/sys/kernel/msgmnb文件中的參數設置,推薦不小於 65536
proc/sys/kernel/msgmni文件中的參數設置,推薦不小於 2000
proc/sys/kernel/msgmax文件中的參數設置,推薦不小於 65536
第一列,表示每個信號集中的最大信號量數目。
第二列,表示系統范圍內的最大信號量總數目。
第三列,表示每個信號發生時的最大系統操作數目。
第四列,表示系統范圍內的最大信號集總數目。
sysctl生效
#sysctl -p
這個錯誤經常遇到,我在liunux安裝oracle 后經常遇到。其實最簡單的辦法
用tmloadcf -c 來獲得tuxedo的建議參數設置。
【重建TLOG】
使用tmadmin登錄到tuxedo系統中重新建一個日志設備,方法如下:
$tmadmin
>crdl -b 4096 -z "/appfs/nmg/obapp/Server/dev/TLOG" --- 用4096很大了
>crlog -m OLBPSNMG1
>q
$tmboot -y
【強殺信號量】
ipcs|grep jxobapp|awk '{print "ipcrm -"$1 " "$2}' > 2.sh
---jxobapp改名字
【只停啟多域,不影響應用服務的方法】
停止:
tmshutdown -s DMADM
tmshutdown -s GWADM
tmshutdown -s GWTDOMAIN
啟動:
tmboot -s DMADM
tmboot -s GWADM
tmboot -s GWTDOMAIN