Tuxedo是一個客戶機/伺服器的中間件産品,Tuxedo是基于socket程式設計的。它在客戶機和伺服器之間進行調節,保證正确處理事務,是一個資料處理監督器。
tuxedo下載下傳oracle官網位址:
http://www.oracle.com/technetwork/cn/middleware/tuxedo/downloads/index.html
Tuxedo研發中心在北京。
1983AT&T貝爾實驗室誕生(UNIX平台)。
1989USL//unixsystemlaboratories得到
1993//novell
1996//BEA
2008//oracle
三種安裝方法:
1.圖形安裝GUI。
2.指令行安裝console
3.靜默安裝(批處理)腳本
Groupaddoracle//增加oracle組
useraddoracle-goracle//添加oracle使用者
Passwdoracle//設定oracle密碼
chownoracle:oracle*//更改屬組到oracle上。
chmod+x//增加執行
./tuxedo安裝檔案-iconsole//預設為GUI安裝增加了-Iconsole就可以在圖形界面安裝了。
<a href="http://blog.51cto.com/attachment/201309/204345398.jpg" target="_blank"></a>
解包到temp目錄
<a href="http://blog.51cto.com/attachment/201309/204401129.png" target="_blank"></a>
一路回車就可以。
<a href="http://blog.51cto.com/attachment/201309/204418687.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201309/204437403.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201309/204452636.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201309/204512546.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201309/204527887.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201309/204543451.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201309/204557880.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201309/204612773.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201309/204626536.png" target="_blank"></a>
安裝完成後temp檔案被删除。
Sh./tux.env
TUXDIR=/app/tuxedo/bea/tuxedo10gR3;exportTUXDIR
JAVA_HOME=$TUXDIR/jre;exportJAVA_HOME
JVMLIBS=$JAVA_HOME/lib/amd64/server:$JAVA_HOME/jre/bin
PATH=$TUXDIR/bin:$JAVA_HOME/bin:$PATH;exportPATH
COBCPY=:$TUXDIR/cobinclude;exportCOBCPY
COBOPT="-CANS85-CALIGN=8-CNOIBMCOMP-CTRUNC=ANSI-COSEXT=cbl";exportCOBOPT
SHLIB_PATH=$TUXDIR/lib:$JVMLIBS:$SHLIB_PATH;exportSHLIB_PATH
LIBPATH=$TUXDIR/lib:$JVMLIBS:$LIBPATH;exportLIBPATH
LD_LIBRARY_PATH=$TUXDIR/lib:$JVMLIBS:$LD_LIBRARY_PATH;exportLD_LIBRARY_PATH
WEBJAVADIR=$TUXDIR/udataobj/webgui/java;exportWEBJAVADIR
tmadmin–v//快速測試,傳回版本号安裝成功
INFO:oracletuxedo,version10.3.0.0,64bit,patchlevel(none)
Cd/app/tuxedo/bea/tuxedo10gR3
Tux.env//tuxedo的環境變量。
Samples//示例:atmi、corba、jolt。
Jre//java運作環境。
Help//幫助檔案。GUI用到。
Bin//二進制可執行檔案,tuxedo:1、可執行檔案2、動态庫:開發時使用的。
Uninstaller//删除使用。
Locale//設定語言。
Udataobj//類似控制管理目錄。
Lib//動态庫,用于連接配接。
Include//頭檔案開發需要用到由其ATMI很重要。
Cobinclude//
注:tuxedo用戶端需要的是bin、lib和include這三個檔案。
删除前要結束所有的tuxedo的程式
1、Shutdown-y
2、可以删除所有tuxedo的目錄。
3、Cd$tuxedir/uninstall
4、shUninstall_Tuxedo_10.0–iconsole//
UBBCONFIG//配置檔案,也可以叫其他名字。由開發人員配置,管理人員可以根據負載情況可以更改。
它主要包括四個參數:resources、machines、groups、servers。
Tuxedo的部署過程:
1、設定環境變量
2、編輯ubbconfig//tmloadcf–yubbconfig生成二進制檔案
3、C語言程式server端或者client端程式,需要.h頭檔案或者其他源碼程式。
4、Buildclient//編譯用戶端生成用戶端的可執行檔案
5、Builidserver//編譯服務端生成服務端的可執行檔案
6、Tmboot–y//啟動程式。
設定環境變量
可以把設定環境變量設定到.bash_profile中,每次啟動時會自動執行,每個使用者都有個.bash_profile。
需要至少設定的環境變量(4個):
1、TUXDIR(tuxedo服務檔案位置)
2、TUXCONFIG(應用配置檔案位置)
3、LD_LIBRARY_PATH(庫檔案位置)
4、APPDIR(應用位置)
編輯配置檔案
tmloadcf–yubbconfig生成二進制檔案
tmunloadcf>UBB_TEXT//可以反編譯将二進制從新生成可讀配置檔案,可以重新定向生成檔案。
編譯背景程式
buildserver–osimpserv–fsimpserv.c–sTOUPPER
Buildclient–osimpcl–fsimpcl.c
-o功能和gcc的-o相同simpserv為生成的檔案名,-f後面跟着源檔案,simpserv。C為源檔案,-s後的TOUPPER為在這個服務中service名就是大寫轉大寫的函數。
生成的檔案必須名必須和配置檔案中的名字相同。否則不能在磁盤中找到。
開啟服務
開啟之前關閉selinux進入/etc/selinux/config
設定selinux=disabled。
Tmboot–y//啟動tuxedo
-A//隻啟動管理程序(如:DBBL,BBL,Bridge)。
-l//啟動指定機器上的程序
-g//啟動某一組的程序。
-I//啟動指定serverid
-s//根據檔案名啟動
-w//快速啟動(很少有人用)
-y//相當于yes
-e//任何一個程序失敗(-e後可以跟程式或者腳本)例如:-etmshutdown
Tmboot中的可選項也适用于tmshutdown,隻是相反的操作
注:tmshutdown隻能在masternode機器上使用
-w//延時多久後關閉server
-c//強制tmshutdown–c,(當有用戶端連接配接時強制退出)
server和client在一台機器上是ipc通訊,不同機器為tcp通訊
Tmadmin//console管理指令,類似sqlplus指令。
注:Tmadmin必須運作在master機器上;在指令行執行tmadmin後,使用help指令可以檢視目前的幫助資訊;同一時間使用tmadmin使用者,隻有第一個登陸的才有特權如(shutdown,boot等),其他使用者也可以使用tmadmin但是隻能檢視viewinfo視圖資訊。
Ipcs//同一台機器上的程序間通信
Socket//不同機器程序間的通信。
IPC在單台機器不同間程序通信,Socket解決不同電腦間程序間通信。
Psr//擷取servers的資訊
Psc//擷取services的資訊
Help//将支援的指令都列出來
<a href="http://blog.51cto.com/attachment/201309/204646607.png" target="_blank"></a>
RqDone是指處理了幾筆交易。
Psr//列印server資訊
Psc//列印service資訊
Pq//列印隊列資訊
Pclt//列印用戶端資訊
配置檔案:文本檔案或二進制檔案
section一共8節:(*星号開頭):
*RESOURCES//tuxedo的domain支援叢集,多台機器組成一個system,适合跨機器叢集使用tuxedo統治下的所有的機器,是必須(Required)的。統管全局。
*MACHINES//定義的一台機器的資訊,隻管自己機器是必須的(Required)。
*GROUPS//是邏輯概念,應用服務的組名,不同的組放到不同的機器上。
*SERVERS//是真實的概念,server分組是為了便于管理。
*SERVICES//就是函數
*ROUTING//資料依賴路由
*NETGROUPS//設定叢集使用,網絡工作組
*NETWORK//設定叢集使用
注:如果在單機運作使用前五個參數就可以,UNIX大小寫敏感。
如果為Windows一定大寫。“#”表示注釋。
*RESOURCES配置
IPCKEY//tuxedo在運作時會配置設定IPC共享記憶體、信号量、隊列等IPC資源,IPC全局調用唯一的,範圍是32769~262142,IPCKEY類似Oracle的SID。
MASTER//指定主機,hostname檢視
MODEL//單機SHM,多機MP。
MAXACCESSERS//同時通路BB共享記憶體塊的程序數。
MAXSERVERS//最大程序數(是所有程序的綜合)。
MAXSERVICES//可以對外提供的最大的services數。
Scanunit一次掃描時間
Sanityscan:間隔多少時間
Blocktime逾時時間資訊
BBL至少5分鐘會掃描一次看包是否損壞。
Oracle很占資源,Tuxedo占用資源較少。
Configuremachine段
LMID://作業系統給機器定義的名字uname–n對應的名字。
TUXCONFIG://編譯好的二進制的檔案的路徑。
TUXDIR://tuxuedo的根目錄。
APPDIR://應用目錄。
Configuregroups段
LMID//指定在那個組
GRPNO//0-30000個。
Configureservers段
Srvgrp:服務組名
Srvid:在SERVERS中同組的SRVID必須唯一。
MIN檔案是一次啟動的的服務數量。
看到ULOG可以看到系統日志。
BBL為管理程序,當報沒有足夠的BB空間時需要增加MAXACCESSERS、MAXERVERS、MAXSERVICES的值。
配置執行個體
*resources
IPCKEY39211
MASTERipapfrt8
MODELSHM
*MACHINES
DEFAULT:MAXWSCLIENTS=500
"ipapitf8"LMID=ipapitf8
APPDIR="/home/tuxedo/work/application"
ULOGPFX="/home/tuxedo/work/Logfile/ULOG"
MAXWSCLIENTS=2500
TUXCONFIG="/home/tuxedo/work/application/tuxconfig"
TUXDIR="/home/tuxedo/bea/tuxedo10gR3"
*GROUPS
GROUP1LMID=ipapitf8GRPNO=1OPENINFO=NONE
GDMADM01LMID=ipapitf8GRPNO=7OPENINFO=NONE
*SERVERS
DEFAULT:
RESTART=YGRACE=3600MAXGEN=100
DMADMSRVGRP=GDMADM01SRVID=29030
GWTDOMAINSRVGRP=GDMADM01SRVID=29050REPLYQ=N
ULOG日志是最重要的日志管理工具,它的路徑可以在“machine”中自己指定ULOGPFX="/home/tuxedo/work/Logfile/ULOG"
<a href="http://blog.51cto.com/attachment/201309/204702906.png" target="_blank"></a>
時分秒.機器名字!程序名.
ERR//錯誤我們需要關心。
WARN(WARNING)//警告我們需要關心的。
INFO//資訊我們一般不需要關心
ipcrm//可以删除死掉的ipc資源
tmipcrm//删除所有的ipc資源
BB為tuxedo的核心部分。類似Oracle的SDI,BRIDGE為長連接配接。
env|grepTUX//讀取tuxedo的配置參數。
NativeClient從環境變量(tuxconfig)中讀取配置檔案讀取IPCKEY,根據IPCKEY讀取共享記憶體(tuxedo的BB)如果是本地的那麼就執行本地的SERVICEA,如果是遠端的那麼通過長連接配接的BRIDGE長連接配接程序讀取遠端的BB執行到SERVICEB。
<a href="http://blog.51cto.com/attachment/201309/204715716.png" target="_blank"></a>
Tuxedo是就與WS工作站子系統。
WSL//WorkstationListener監聽程序
WSH//WorkstationHandler工作站握手
用戶端先和WSL建立連接配接,然後交給WSH處理。
<a href="http://blog.51cto.com/attachment/201309/204729490.png" target="_blank"></a>
UBBCONFIG中用戶端配置:
CLOPT=“-A---n//gumby:9977–m2–M5-x5”
指令行參數含義:
-A左邊的參數
“—”雙斜杠為分隔符。
-n//gumby:9977–n網絡連接配接,雙斜杠後為使用者名/IP:端口(-n//表示WSL在這樣的IP和端口号環境監聽)。
-m2WSH啟動時啟動2個程序。
-M5當負荷加大時啟動5個程序。
-x5表明WSH可以最多元系5個用戶端連接配接。
注:啟動時最多可以連接配接2*5=10個用戶端,當負荷加大時最多可以連接配接5*5=25個用戶端。
-I設定逾時,當tpinit是的逾時時間,如果逾時就斷開連接配接
-N網絡的逾時時間
-T用戶端已連接配接但是不做事情,占用WSH的資源設定逾時如果逾時多久就會斷開連接配接。
-K在http1.1協定中的keepalive,浏覽網頁時會有很多的資源(圖檔、flash等)等通過一個連結下載下傳所有的資源,建立一次連結在這個連結上多次發送通訊。
-p小寫p最小的WSH端口
-P大寫P最大的WSH端口
建議在配置CLOPT中-n//後盡量寫具體的IP不要寫機器名字因為需要解析多了個環節可能會出錯。
更多的可以關注小布老師的視訊,他是我oracle的締造者這回又成為我tuxedo的入門者,非常感謝愛學習可以多多關注它的論壇boobooke.com,呵呵
本文轉自zsaisai 51CTO部落格,原文連結:http://blog.51cto.com/3402313/1298411