天天看點

Tuxedo入門

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&gt;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