Oracle Tuxedo 12c 安装测试手册

Oracle Tuxedo 是私有云或传统数据中心环境中用于 C、C++、COBOL、Java 和动态语言应用程序的排名第一的应用程序服务器。Oracle Tuxedo 提供了一个高度可靠且可线性扩展的平台,用于开发、部署和管理任务关键型应用程序。Oracle Tuxedo 在以多种编程语言(C、C++、COBOL、Java、PHP、Python 和 Ruby)编写的应用程序之间提供优化的通信,这些应用程序共存于同一容器中。Oracle Tuxedo 包括用于应用程序开发、部署和管理的各种工具,以降低总拥有成本。

官网:Oracle Tuxedo

Tuxedo 12c 部署

环境检查

cat /etc/os-version
[Version]
SystemName=UnionTech OS Server
SystemName[zh_CN]=统信服务器操作系统
ProductType=Server
ProductType[zh_CN]=服务器
EditionName=a
EditionName[zh_CN]=a
MajorVersion=20
MinorVersion=1050
OsBuild=12028.101

环境准备

安装并配置 JDK

sudo dnf install jdk-8u321-linux-x64.rpm

配置环境变量,在 /etc/profile 中加入以下几行

# Java JDK
export JAVA_HOME=/usr/java/jdk1.8.0_321-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib

检查 JDK

$ java -version
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)

解压产品安装包

以下部分请使用普通用户进行执行,请勿在 root 用户下进行执行。

unzip tuxedo122200_64_Linux_01_x86.zip

进入安装目录

cd Disk1/install/

安装所需依赖

sudo dnf install libnsl

执行安装脚本即可看到安装引导界面

./runInstaller.sh

步骤一

▲ 选择下一步

步骤二

▲ 选择安装路径并指定安装的属主

步骤三

▲ 选择安装类型

步骤四

▲ 指定主目录详细资料

步骤五

▲ TSAM Plus 代理启用选项

步骤六

▲ Oracle Tuxedo 示例安装选项(这里需要勾选“是”)

步骤七

▲ 设置 tlisten 口令

步骤八

▲ SSL 支持选择

步骤九

▲ LDAP 支持选项

步骤十

▲ 安装过程

步骤十一

▲ 配置脚本需要使用 root 用户进行执行

步骤十二

▲ 安装结束

检查版本

安装完毕后,进入产品安装目录

cd /home/uos/OraHome_1/tuxedo12.2.2.0.0

执行环境脚本

. ./tux.env

然后执行主命令即可显示 Tuxedo 的程序信息,包含版本、架构、补丁版本等信息。

tmadmin -v
INFO: Oracle Tuxedo, Version 12.2.2.0.0, 64-bit, Patch Level (none)

Tuxedo 12c 演示

消息中间件 client 使用 Java 程序进行演示,server 使用 C 程序进行演示。

示例程序在 Tuxedo 安装目录 OraHome_1/tuxedo12.2.2.0.0/samples/atmi/javaapp 中,复制一份。

cp -a $TUXDIR/samples/atmi/javaapp/jsimpapp ~

配置环境

配置环境变量,指定 TUX 配置

export TUXCONFIG="/home/uos/jsimpapp/tuxconfig"

修改配置文件 ubbconfig

#   Copyright (c) 2012 Oracle and/or its affiliates. All Rights Reserved.
#ident  "@(#) samples/atmi/javaapp/jsimpapp/ubbsimple   $Revision: 1.1 $"

#Skeleton UBBCONFIG file for the TUXEDO Simple Application.
#Replace the <bracketed> items with the appropriate values.

*RESOURCES
IPCKEY      187777

DOMAINID    simpapp
MASTER      simple
MAXACCESSERS    10
MAXSERVERS  5
MAXSERVICES 10
MODEL       SHM
LDBAL       N

*MACHINES
DEFAULT:
        APPDIR="/home/uos/jsimpapp"
        TUXCONFIG="/home/uos/jsimpapp/tuxconfig"
        TUXDIR="/home/uos/OraHome_1/tuxedo12.2.2.0.0"

"localhost.localdomain" LMID=simple

#Example:
#beatux     LMID=simple

*GROUPS
GROUP1
    LMID=simple GRPNO=1 OPENINFO=NONE

*SERVERS
DEFAULT:
        CLOPT="-A"

simpserv    SRVGRP=GROUP1 SRVID=1

TMJAVASVR SRVGRP=GROUP1 SRVID=2  CLOPT="-A"
         CLOPT="-- -c TJSconfig.xml"
         MINDISPATCHTHREADS=2 MAXDISPATCHTHREADS=3


*SERVICES
TOUPPER

生成二进制配置文件

tmloadcf -y ubbconfig

可以看到项目目录中产生名为 tuxconfig 的二进制文件

编译客户端程序

执行命令

buildclient -o simpcl -f simpcl.c

编译服务端程序

buildserver -o simpserv -f simpserv.c -s TOUPPER

执行完毕后可以看到程序目录中出现两个可执行文件 simpcl simpserv

构建 Java 服务

先需要配置 JDK/JRE 环境,然后执行命令

javac -classpath $TUXDIR/udataobj/tuxj/com.bea.core.jatmi_2.0.0.0.jar:$TUXDIR/udataobj/tuxj/com.oracle.tuxedo.tjatmi_12.2.2.0.jar MyTuxedoJavaServer.java

命令无报错即为正常,执行完毕后程序目录中出现 class 文件 MyTuxedoJavaServer.class

启动服务

tmboot -y

然后即可看到如下提示

Booting all admin and server processes in /home/uos/jsimpapp/tuxconfig
INFO: Oracle Tuxedo, Version 12.2.2.0.0, 64-bit, Patch Level (none)

Booting admin processes ...

exec BBL -A :
    process id=6248 ... Started.

Booting server processes ...

exec simpserv -A :
    process id=6251 ... Started.
exec TMJAVASVR -- -c TJSconfig.xml :
    process id=6252 ... Started.
3 processes started.

服务启动成功

测试服务

使用刚才构建的客户端进行测试

./simpcl  "Hello World"

可以看到程序输出

Calling JAVATOUPPER service.
After Calling JAVATOUPPER, returned string is: HELLO WORLD
Calling JAVATOUPPERFORWARD service.
After Calling JAVATOUPPERFORWARD, returned string is: HELLO WORLD

关闭服务

执行命令

tmshutdown -y

可以看到输出

Shutting down all admin and server processes in /home/uos/jsimpapp/tuxconfig

Shutting down server processes ...

    Server Id = 2 Group Id = GROUP1 Machine = simple:   shutdown succeeded
    Server Id = 1 Group Id = GROUP1 Machine = simple:   shutdown succeeded

Shutting down admin processes ...

    Server Id = 0 Group Id = simple Machine = simple:   shutdown succeeded
3 processes stopped.

附录

参考链接

本文撰写于一年前,如出现图片失效或有任何问题,请在下方留言。博主看到后将及时修正,谢谢!

当前已关闭评论 ·