Tuxedo入門

Tuxedo簡介

Tuxedo是一個客戶機/服務器的中間件產品,Tuxedo是基於socket編程的。它在客戶機和服務器之間進行調節,保證正確處理事務,是一個數據處理監督器。

tuxedo下載oracle官網地址:

http://www.oracle.com/technetwork/cn/middleware/tuxedo/downloads/index.html

Tuxedo發展

Tuxedo研發中心在北京。

1983AT&T貝爾實驗室誕生(UNIX平臺)。

1989USL//unixsystemlaboratories得到

1993//novell

1996//BEA

2008//oracle

Tuxedo安裝

三種安裝方法:

1.圖形安裝GUI

2.命令行安裝console

3.靜默安裝(批處理)腳本

Groupaddoracle//增加oracle

useraddoracle-goracle//oracle用戶

Passwdoracle//設置oracle密碼

chownoracle:oracle*//更改屬組到oracle上。

chmod+x//增加執行

./tuxedo安裝文件-iconsole//默認爲GUI安裝增加了-Iconsole就可以在圖形界面安裝了。

204345398.jpg

解包到temp目錄

204401129.png

一路回車就可以。

204418687.png

204437403.png

204452636.png

204512546.png

204527887.png

204543451.png

204557880.png

204612773.png

204626536.png

安裝完成後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

tmadminv//快速測試,返回版本號安裝成功

INFO:oracletuxedo,version10.3.0.0,64bit,patchlevel(none)

Tuxedo的目錄結構

Cd/app/tuxedo/bea/tuxedo10gR3

Tux.env//tuxedo的環境變量。

Samples//示例:atmicorbajolt

Jre//java運行環境。

Help//幫助文件。GUI用到。

Bin//二進制可執行文件,tuxedo1、可執行文件2、動態庫:開發時使用的。

Uninstaller//刪除使用。

Locale//設置語言。

Udataobj//類似控制管理目錄。

Lib//動態庫,用於連接。

Include//頭文件開發需要用到由其ATMI很重要。

Cobinclude//

注:tuxedo客戶端需要的是binlibinclude這三個文件。

卸載tuxedo

刪除前要結束所有的tuxedo的程序

1Shutdown-y

2可以刪除所有tuxedo的目錄。

3Cd$tuxedir/uninstall

4shUninstall_Tuxedo_10.0iconsole//

部署tuxedo的基本應用

UBBCONFIG//配置文件,也可以叫其他名字。由開發人員配置,管理人員可以根據負載情況可以更改。

它主要包括四個參數:resourcesmachinesgroupsservers

Tuxedo的部署過程:

1、設置環境變量

2、編輯ubbconfig//tmloadcfyubbconfig生成二進制文件

3、C語言程序server端或者client端程序,需要.h頭文件或者其他源碼程序。

4、Buildclient//編譯客戶端生成客戶端的可執行文件

5、Builidserver//編譯服務端生成服務端的可執行文件

6、Tmbooty//啓動程序。

設置環境變量

可以把設置環境變量設置到.bash_profile中,每次啓動時會自動執行,每個用戶都有個.bash_profile

需要至少設置的環境變量(4個):

1、TUXDIRtuxedo服務文件位置

2、TUXCONFIG(應用配置文件位置)

3、LD_LIBRARY_PATH庫文件位置

4、APPDIR(應用位置)

編輯配置文件

tmloadcfyubbconfig生成二進制文件

tmunloadcf>UBB_TEXT//可以反編譯將二進制從新生成可讀配置文件,可以重新定向生成文件。

編譯後臺程序

buildserverosimpservfsimpserv.csTOUPPER

Buildclientosimpclfsimpcl.c

-o功能和gcc-o相同simpserv爲生成的文件名,-f後面跟着源文件,simpservC爲源文件,-s後的TOUPPER爲在這個服務中service名就是大寫轉大寫的函數。

生成的文件必須名必須和配置文件中的名字相同。否則不能磁盤中找到。

開啓服務

開啓之前關閉selinux進入/etc/selinux/config

設置selinux=disabled

Tmbooty//啓動tuxedo

-A//只啓動管理進程(如:DBBL,BBL,Bridge)。

-l//啓動指定機器上的進程

-g//啓動某一組的進程。

-I//啓動指定serverid

-s//根據文件名啓動

-w//快速啓動(很少有人用)

-y//相當於yes

-e//任何一個進程失敗(-e後可以跟程序或者腳本)例如:-etmshutdown

Tmboot中的可選項也適用於tmshutdown,只是相反的操作

注:tmshutdown只能在masternode機器上使用

-w//延時多久後關閉server

-c//強制tmshutdownc,(當有客戶端連接時強制退出)

serverclient在一臺機器上是ipc通訊,不同機器爲tcp通訊

Tuxedo管理工具

Tmadmin//console管理命令,類似sqlplus命令。

注:Tmadmin必須運行在master機器上在命令行執行tmadmin後,使用help命令可以查看當前的幫助信息同一時間使用tmadmin用戶,只有第一個登陸的纔有特權如(shutdownboot等),其他用戶也可以使用tmadmin但是隻能查看viewinfo視圖信息。

Ipcs//同一臺機器上的進程間通信

Socket//不同機器進程間的通信。

IPC在單臺機器不同間進程通信,Socket解決不同電腦間進程間通信。

Psr//獲取servers的信息

Psc//獲取services的信息

Help//將支持的命令都列出來

204646607.png

RqDone是指處理了幾筆交易。

Psr//打印server信息

Psc//打印service信息

Pq//打印隊列信息

Pclt//打印客戶端信息

Tuxedo的基本配置

配置文件:文本文件二進制文件

section一共8節:(*星號開頭):

*RESOURCES//tuxedodomain支持集羣,多臺機器組成一個system,適合跨機器集羣使用tuxedo統治下的所有的機器,是必須(Required)的。統管全局。

*MACHINES//定義的一臺機器的信息,只管自己機器是必須的(Required)。

*GROUPS//是邏輯概念,應用服務的組名,不同的組放到不同的機器上。

*SERVERS//是真實的概念,server分組是爲了便於管理。

*SERVICES//就是函數

*ROUTING//數據依賴路由

*NETGROUPS//設置集羣使用,網絡工作組

*NETWORK//設置集羣使用

注:如果在單機運行使用前五個參數就可以UNIX大小寫敏感。

如果爲Windows一定大寫。“#”表示註釋。

*RESOURCES配置

IPCKEY//tuxedo在運行時會分配IPC共享內存、信號量、隊列等IPC資源,IPC全局調用唯一的,範圍是32769~262142IPCKEY類似OracleSID

MASTER//指定主機hostname查看

MODEL//單機SHM,多機MP

MAXACCESSERS//同時訪問BB共享內存塊的進程數。

MAXSERVERS//最大進程數(是所有進程的綜合)。

MAXSERVICES//可以對外提供的最大的services數。

Scanunit一次掃描時間

Sanityscan:間隔多少時間

Blocktime超時時間信息

BBL至少5分鐘會掃描一次看包是否損壞。

Oracle很佔資源Tuxedo佔用資源較少。

Configuremachine

LMID://操作系統給機器定義的名字unamen對應的名字。

TUXCONFIG://編譯好的二進制的文件的路徑。

TUXDIR://tuxuedo的根目錄。

APPDIR://應用目錄。

Configuregroups

LMID//指定在那個組

GRPNO//0-30000個。

Configureservers

Srvgrp:服務組名

SrvidSERVERS中同組的SRVID必須唯一。

MIN文件是一次啓動的的服務數量。

看到ULOG可以看到系統日誌。

BBL爲管理進程當報有足夠的BB空間時需要增加MAXACCESSERSMAXERVERSMAXSERVICES的值。

配置實例

*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"

204702906.png

時分秒.機器名字!進程名.

ERR//錯誤我們需要關心。

WARNWARNING//警告我們需要關心的。

INFO//信息我們一般不需要關心

ipcrm//可以刪除死掉的ipc資源

tmipcrm//刪除所有的ipc資源

Tuxedo客戶端配置

BBtuxedo的核心部分。類似OracleSDIBRIDGE爲長連接。

env|grepTUX//讀取tuxedo配置參數。

NativeClient從環境變量(tuxconfig)中讀取配置文件讀取IPCKEY,根據IPCKEY讀取共享內存(tuxedoBB)如果是本地的那麼就執行本地的SERVICEA,如果是遠端的那麼通過長連接的BRIDGE長連接進程讀取遠端的BB執行到SERVICEB

204715716.png

Tuxedo是就與WS工作站子系統。

WSL//WorkstationListener監聽進

WSH//WorkstationHandler工作站握手

客戶端先和WSL建立連接,然後交給WSH處理。

204729490.png

UBBCONFIG客戶端配置:

CLOPT=-A---n//gumby:9977m2M5-x5

命令行參數含義:

-A左邊的參數

”雙斜槓爲分隔符。

-n//gumby:9977n網絡連接,雙斜槓後爲用戶名/IP:端口(-n//表示WSL在這樣的IP和端口號環境監聽)。

-m2WSH啓動時啓動2個進程。

-M5當負荷加大時啓動5個進程。

-x5表明WSH可以最多維繫5個客戶端連接。

注:啓動時最多可以連接2*5=10個客戶端,當負荷加大時最多可以連接5*5=25個客戶端。

-I設置超時,當tpinit是的超時時間,如果超時就斷開連接

-N網絡的超時時間

-T客戶端已連接但是不做事情,佔用WSH的資源設置超時如果超時多久就會斷開連接。

-Khttp1.1協議中的keepalive,瀏覽網頁時會有很多的資源(圖片、flash等)等通過一個鏈接下載所有的資源,建立一次鏈接在這個鏈接上多次發送通訊。

-p小寫p最小的WSH端口

-P大寫P最大的WSH端口

建議在配置CLOPT-n//後儘量寫具體的IP不要寫機器名字因爲需要解析多了個環節可能會出錯。

更多的可以關注小布老師的視頻,他是我oracle的締造者這回又成爲我tuxedo的入門者,非常感謝愛學習可以多多關注它的論壇boobooke.com,呵呵

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章