Oracle Tuxedo 12c 安装测试手册

后知后觉 现有 10 评论

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.

附录

参考链接

如果遇到问题或者对文章内容存疑,请在下方留言,博主看到后将及时回复,谢谢!
回复 / 查看「历史评论
回答14+35=
  1. avatarImg 罗老师

    用到了,点个赞

    手机百度 13.9.0.12 iOS 15 回复
    IP 属地 北京
  2. avatarImg Alexia

    很实用,刚刚用得到

    Safari 15.5 macOS Catalina 回复
    IP 属地 未知
  3. avatarImg Alger

    随便写点什么,测试一下

    Chrome 102.0 Windows 10 回复
    IP 属地 未知
  4. avatarImg Charlotte

    为什么一样的操作不行呢

    Chrome 102.0 Windows 10 回复
    IP 属地 未知
  5. avatarImg Tom

    感谢博客主分享

    Firefox 101.0 Windows 10 回复
    IP 属地 未知
  6. avatarImg Annie

    写得很不错呀

    Chrome 95.0 Windows 10 回复
    IP 属地 未知
  7. avatarImg Sure

    非常有用

    VivoBrowser 11.1 Android 12 回复
    IP 属地 未知
  8. avatarImg Ran

    很不错的教程。

    BingSapphire 22.6 Android 11 回复
    IP 属地 未知
  9. avatarImg Hans

    很实用的教程

    Chrome 102.0 Android 11 回复
    IP 属地 未知
  10. avatarImg John

    刚用到就搜到了!

    YaBrowser 22.5 Android 11 回复
    IP 属地 台湾