Tuxedo常見應用配置關注事項

自己工作中曾經犯過錯或者是覺得容易弄錯的地方,整理了部分與大家交流,還有些正在整理中。
1. ubbconfig配置中機器名配置:windows環境中一定要大寫,unix中可用uname -n查看。
2. tmboot 起不來常與這幾個參數相關,並容易混淆,建議關注。
MAXACCESSERS,MAXSERVERS,MAXSERVICES:這三個參數控制該TUXEDO應用系統對IPC資源的使用情況。
MAXACCESSERS: 在本系統的一個節點(一臺服務器)上,同時可以有多少個進程可以訪問該TUXEDO系統的公告板,默認值爲50,它包括本地客戶端進程,SERVER進程,但不包括管理進程如:BBL,DBBL等。
MAXSERVERS: 在本系統中,總共可以有多少個SERVER存在,包括進行管理的SERVER,如:BBL,TMS等。默認值爲50。
MAXSERVICES: 在本系統中,總共可以有多少個SEVICE存在, 默認值爲100。
MAXCONV: 在一臺服務器上最多可以有多少個會話同時存在。範圍:0-32768,默認爲10
3. 不同版本的tuxedo互連問題:如果是WSL模式:低聯高版本在WSL中加入-t參數,如CLOPT=”-A -t ??n//機器名:端口號,高聯低版本應在環境變量中設置WSINTOPPRE71=yes;如果是域模式:低聯高版本應該在ubbconfig中的 SERVERS配置GWADM的CLOPT中加入-t參數,例如GWADM SRVGRP=LGWGRP SRVID=3 REPLYQ=N CLOPT="-A -t -- "
4. 在dmconfig中如果配置了多個域,並且指定遠端域服務時應該指定域服務路由(即遠端服務的本地域是什麼,遠端域是什麼),否則報協議錯誤,例如*DM_REMOTE_SERVICES
SERV_1 LDOM=TDOM1 RDOM=TDOM3 RNAME=SERV_1
SERV_2 LDOM=TDOM1 RDOM=TDOM3 RNAME=SERV_2
5. 用戶用tmadmin進入了管理進程,如果沒有退出,另外用戶用tmadmin進入管理進程,就成爲受限管理用戶,部分命令不能使用。
6. Tuxedo Domain-level Failover 的工作特點和配置方式:
特點
當本地domain與主的遠端domain連接失敗時,本地Domain將請求轉發到另一個備份的遠端domain上。支持自動 failback。當主 domain恢復正常時,本地domain可以將請求轉發回主domain。CONNECTION_POLICY必須配置成ON_STARTUP或者是 INCOMING_ONLY 。Domain-level要求本地domain與主domain和備份domain之間都建立好socket連接。可以有多個遠端的備份domain

配置方法
在Domain 配置文件(dmconfig)中的DM_REMOTE_SERVICES處按以下方法配置Service,用逗號分割Service所在的遠端 domain ID,如:RDOM=identifier_1, identifier_2, identifier_3
*DM_REMOTE_SERVICES
DEFAULT: RDOM=R1, R2, R3
TOUPPER
TOLOWER
R1是主domain,後面的是備份domain
7. Tuxedo7.1及其以後的版本才正式支持多線程環境。在6.5版本,在Windows上有個客戶端的多線程附加包,安裝後可以用多線程方式併發調用服務,而在unix環境下6。5版不支持。
8. 如何在Tuxedo7.1中使用Fprint打印中文,應該配置環境變量 FML_PRINT_NOHEX =yes
9. unix環境下可以通過配置環境變量TUXCONFIG和BDMCONFIG的不同目錄,可以在一個用戶中啓動兩套完全獨立的BBL和兩套應用,並在相應的環境變量下管理相應的應用。
10. 在Tuxedo中有許多關於時間方面的參數,
SCANUNIT :
BBL 系統進程對Bulletin Board的管理和監控是基於時間片的輪詢方式,時間片的大小就是SCANUNIT的值,SCANUNIT是Tuxedo對系統進行管理的最基本時間單位,其他許多時間方面的參數均是SCANUNIT的倍數。每隔SCANUNIT,BBL對Bulletin Board進行一次檢查,看看有無超時的事務或服務請求。SCANUNIT必須是大於0的5的倍數,最大是60,缺省10,單位爲秒。
BLOCKTIME:
服務請求的超時值,BBL發現有超時的Request時,會給相應的Client端發信息,Client端如果在調用時未加TPNOTIME標記,會報錯返回,tperrno值爲13。由於BLOCKTIME是以SCANUNIT爲單位的,所以時間的絕對值爲(BLOCKTIME * SCANUNIT),BLOCKTIME缺省爲(60/SCANUNIT)。
SANITYSCAN
健全性檢查掃描,健全性檢查主要檢查 Server進程狀態和Bulletin Board數據結構, BBL檢查Server進程是否存活,如果已經不存在,會清理Bulletin Board中相應的數據項及IPC資源,並根據參數配置決定是否重新啓動,如果設了RESTART=Y,所佔的Message Queue不會被清,Queue中的Request得到保留,仍會被處理。如果是MP模式,BBL還會給DBBL髮狀態消息。SANITYSCAN缺省爲 (120/SCANUNIT)。
BBLQUERY
BBL檢查,在MP模式下,DBBL會每隔一段時間檢查是否所有的BBL都發了" I am ok "心跳信息給自己,如果沒有收到某個BBL的信息,它會發Request給那個BBL,如果等了DBBLWAIT後仍然沒有回覆,DBBL會認爲那臺機器有問題,將其partition。BBL QUERY缺省爲(300/SCANUNIT),DBBLWAIT缺省爲(20/SCANUNIT)。BBLQUERY必須大於等於 SANITYSCAN,tmloadcf 時會強制檢查,如果設的值小於SANITYSCAN,tmloadcf會自動調整爲SANITYSCAN。

其它和時間相關的參數還有:
WSL [-I init-timeout]
WorkStation Client和後臺建立連接的超時參數值,缺省60秒
WSL [-T Client-timeout]
WorkStation Client和WSH建立連接後,如果在指定的時間內沒有信息交互,WSH會自動釋放和這個Client端的連接,並將此Client在Bulletin Board中的數據項請空,RollBack它未完成的事務 。

WSL [-N network-timeout]
此值實際上是WorkStation Client在做receive時的超時值,如果發生超時,此操作會出錯,WorkStation Client會斷開和後臺的連接。

SERVICES中的SVCTIMEOUT
如果SERVICE執行時間超過SVCTIMEOUT,BBL會自動將此Server進程Kill掉。

SERVICES中的TRANTIME
如果此SERVICE設置了AUTOTRAN=Y,則此值爲事務超時值,超時後Transaction
Manager會自動RollBack此transaction
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章