6 Performing Post-Installation Tasks
The following sections describe the tasks you perform after installing Oracle Tuxedo 22c.
- Understanding the Oracle Tuxedo Directory Structure
- Understanding the Oracle Service Architecture Leveraging Tuxedo Directory Structure
- Understanding the Oracle Tuxedo Architecture
- UBBCONFIG File
- MASTER Machine
- TUXCONFIG File
- TUXCONFIG Environment Variable
- TUXDIR Environment Variable
- Setting Up Your Environment
- Setting Environment Variables on a UNIX System
- Starting the tlisten Process
- tlisten Invocation
- tlisten Password
- Editing a UBBCONFIG File
- Using the TYPE Parameter in UBBCONFIG
- Checking IPC Requirements
- Creating the Universal Device List and the Transaction Log
- Defining the TLOG
- Creating the UDL and UDL Entries for TLOG
- Running simpapp to Verify Your Installation
- Running simpapp to Verify the Oracle Tuxedo CORBA C++ Software Installation
- Running buildtms for Oracle Tuxedo Applications That Use XA Resource Managers
- Uninstalling Oracle Tuxedo
- Reinstalling Oracle Tuxedo
6.1 Understanding the Oracle Tuxedo Directory Structure
During the Oracle Tuxedo software installation, the installer program creates the following directory structure for a full installation. A full installation contains all the Oracle Tuxedo server and client software components plus the Link-Level Encryption (LLE) and Secure Sockets Layer (SSL) encryption software packages.
The following figure illustrates the Oracle Tuxedo 22c Directory Structure:
Figure 6-1 Oracle Tuxedo 22c Release Directory Structure

The product directory shown here, is the default for Oracle Tuxedo 22c Release 1 (22.1.0.0.0). The default name can be changed during installation. The top-level directories and files of the Oracle Tuxedo directory structure are briefly described in the following table:
Table 6-1 Top-level Directories and Files of the Oracle Tuxedo Directory Structure
Directory Name | Description |
---|---|
bin |
Contains Tuxedo, Jolt, and SNMP Agent executable programs. |
cobinclude
|
Contains.cbl file entries for use in COBOL programs.
|
include
|
Contains C and C++ language header files, as well as OMG IDL files. Includes sub-directoriesunicode and xercesc ; may include sub-directory rpc , depending on the platform.
|
jmx |
Contains the files for TSAM Plus. |
lib
|
Contains compiled object files, including dynamic shared libraries (for platforms on which Oracle Tuxedo uses dynamic shared libraries) and other object files needed to build Oracle Tuxedo clients and servers. |
locale
|
Contains sub directories to support the localization of system messages. C sub-directory contains message catalogs for the default locale (U.S. English). |
samples Note: Samples are not installed unless they are selected during Oracle Tuxedo 22c Release installation. |
Contains sample code and resources designed to help you learn how to develop your own applications using Oracle Tuxedo. The samples directory contains the following sub-directories
|
tux.env (file) |
UNIX systems only: Contains Oracle Tuxedo environment variables for UNIX installations and serves as a model for setting those variables. |
udataobj
|
Contains other directories and files required by Oracle Tuxedo. The udataobj directory contains the following sub-directories and files:
|
uninstaller |
Contains code required to uninstall the Oracle Tuxedo software. |
Parent topic: Performing Post-Installation Tasks
6.2 Understanding the Oracle Service Architecture Leveraging Tuxedo Directory Structure
During the SALT software installation, all SALT files are decompressed within the Oracle Tuxedo TUXDIR
directory.
Note:
For each Oracle product, a file calledcomps.xml
(located in $ORACLEHOME/inventory/ContentsXML
), lists installation information.
The following table lists brief descriptions of SALT directories and files.
Table 6-2 SALT Directory and File Structure
Directory Name | Description |
---|---|
bin |
Contains SALT executable programs, including:
|
include |
Contains C language header files for SALT plug-in development and administrative development, including:
|
lib |
Contains C language header files for SALT plug-in development and administrative development, including:
|
locale |
Contains the localization of system messages used by SALT.
|
samples/salt |
A collection of simple applications that demonstrate the SALT features.
Note: samples/salt is installed only if requested during installation |
udataobj |
Contains the following information files for SALT:
|
inventory |
Contains information about installed products for use with the Oracle Universal Installer. |
udataobj/salt |
Contains sub-directories and files required by SALT, including:
|
Parent topic: Performing Post-Installation Tasks
6.3 Understanding the Oracle Tuxedo Architecture
The following image shows an Oracle Tuxedo domain, which is the basis of the Oracle Tuxedo architecture.
Figure 6-2 Simplified View of Oracle Tuxedo Architecture

A Tuxedo domain, also known as a Tuxedo application, is a business software program, built upon the Tuxedo system, that is defined and controlled by a single configuration file—the UBBCONFIG file. A Tuxedo domain consists of many system processes, one or more application client processes, one or more application server processes, and one or more computer machines connected over a network.
There is no need to fully understand these terms now; rather, use the sections as a reference. As you come upon these terms during the post-installation procedures, refer back to these sections to understand exactly what these terms mean.
Parent topic: Performing Post-Installation Tasks
6.4 UBBCONFIG File
Each Tuxedo domain is controlled by a configuration file in which installation-dependent parameters are defined. The text version of the configuration file is referred to as UBBCONFIG, although the configuration file may have any name, as long as the content of the file conforms to the format described in reference page UBBCONFIG File in Oracle Tuxedo File Formats, Data Descriptions, MIBs, and System Processes Reference.
The UBBCONFIG file for a Tuxedo domain contains all the information necessary to boot the application, such as lists of its resources, machines, groups, servers, available services, and so on. It consists of nine sections, five of which are required for all configurations: RESOURCES
, MACHINES
, GROUPS
, SERVERS
, and SERVICES
.
Parent topic: Performing Post-Installation Tasks
6.5 MASTER Machine
The MASTER
machine, or MASTER
node, for a Tuxedo domain contains the domain’s UBBCONFIG file, and is designated as the MASTER
machine in the RESOURCES
section of the UBBCONFIG
file. Starting, stopping, and administering a Tuxedo domain is done through the MASTER
machine.
In a multi-machine Tuxedo domain running different releases of the Tuxedo system software, the MASTER
machine must run the highest release of the Tuxedo system software in the domain.
Parent topic: Performing Post-Installation Tasks
6.6 TUXCONFIG File
The TUXCONFIG
file is a binary version of the UBBCONFIG
file. It is created by running the tmloadcf(1)
command, which parses UBBCONFIG
and loads the binary TUXCONFIG
file to the location referenced by the TUXCONFIG environment variable. As with UBBCONFIG
, the TUXCONFIG
file may be given any name.
The MASTER
machine for a Tuxedo domain contains the master copy of the TUXCONFIG
file. Copies of the TUXCONFIG
file are propagated to all other server machines referred to as non-MASTER
machines; the Tuxedo system is booted on the MASTER
machine.
Parent topic: Performing Post-Installation Tasks
6.7 TUXCONFIG Environment Variable
The TUXCONFIG
environment variable defines the location on the MASTER
machine where the tmloadcf(1)
command loads the binary TUXCONFIG
file. It must be set to an absolute pathname ending with the device or system file where TUXCONFIG
is to be loaded.
The TUXCONFIG
pathname value is designated in the MACHINES
section of the UBBCONFIG
file. It is specified for the MACHINES
machine and for every other server machine in the Tuxedo domain. When copies of the binary TUXCONFIG
file are propagated to non-MASTER
machines during system boot, the copies are stored on the non-MASTER
machines according to the TUXCONFIG
pathname values.
Parent topic: Performing Post-Installation Tasks
6.8 TUXDIR Environment Variable
The TUXDIR
environment variable defines the product installation directory of the Oracle Tuxedo software on the MASTER
machine. It must be set to an absolute pathname ending with the name of the product installation directory.
The TUXDIR
pathname value is designated in the MACHINES
section of the UBBCONFIG
file. It is specified for the MASTER
machine and for every other server machine in the Tuxedo domain.
Parent topic: Performing Post-Installation Tasks
6.9 Setting Up Your Environment
You need to set several environment variables before using Oracle Tuxedo to build and run Oracle Tuxedo applications:Table 6-3,Table 6-4, Table 6-5 and Table 6-6.
Table 6-3 Oracle Tuxedo Core Environment Variables
Environment Variable | Description |
---|---|
TUXDIR
|
Absolute pathname of the product directory in which you installed the Oracle Tuxedo software on this machine. TUXDIR must be set on both server and client-only machines.
|
APPDIR
|
Absolute pathname of the application directory in which application and administrative servers are booted on this server machine. APPDIR may be set to more than one application directory.
|
TUXCONFIG
|
Absolute pathname of the device or system file where the binary TUXCONFIG file is found on this server machine. The TUXCONFIG file is created by running the tmloadcf(1) command on the UBBCONFIG configuration file.
|
Table 6-4 Oracle Tuxedo Client-Only Environment Variables
Environment Variable | Description |
---|---|
WSENVFILE
|
Tuxedo ATMI Workstation (/WS) client: Name of the file in which all environment variables are set for this workstation. There is no default for this variable. |
TOBJADDR
|
Tuxedo remote CORBA client: Address of the Tuxedo server machine’s listener; must match exactly (including case) the host and port specified for the server machine in the UBBCONFIG file.
|
Table 6-5 COBOL Environment Variables
Environment Variable | Description |
---|---|
COBCPY
|
Directories that contain a set of the COBOL COPY files to be used by the compiler.
|
COBOPT
|
Arguments that you may want to use on the compile command line. |
The following table lists Java Environment Variables.
Table 6-6 Java Environment Variables
Environment Variable | Description |
---|---|
JAVA_HOME
|
Absolute pathname of the Java Development Kit (JDK) 1.8.x installation directory on this machine; needed to build and run Java applications on this machine.* |
JDKDIR
|
Set to JAVA_HOME value.
|
CLASSPATH
|
Absolute pathnames to classes and Java archive files on this machine; needed to run Java applications on this machine. |
Note:
Oracle Tuxedo 22c distribution does not include a JDKParent topic: Performing Post-Installation Tasks
6.10 Setting Environment Variables on a UNIX System
On a UNIX server machine, set and export the following environment variables shown in the following table to set up your environment:
Table 6-7 Environment Variables
Environment Variables |
---|
TUXDIR=pathname_of_Oracle_Tuxedo_product_directory |
APPDIR=pathname_of_Oracle_Tuxedo_application_directory |
TUXCONFIG=pathname_of_TUXCONFIG_file |
PATH=$APPDIR:$TUXDIR/bin:/bin:$PATH |
LD_LIBRARY_PATH=$APPDIR:$TUXDIR/lib:/lib:/usr/lib:$LD_LIBRARY_PATH |
export TUXDIR APPDIR TUXCONFIG WEBJAVADIR PATH LD_LIBRARY_PATH |
Examples of TUXDIR
, APPDIR
, and TUXCONFIG
are:
TUXDIR=/home/Oracle/tuxedo22cR1
APPDIR=/home/me/simpapp
TUXCONFIG=$APPDIR/tuxconfig
The TUXDIR
, APPDIR
, and TUXCONFIG
environment variables must match the values of the TUXDIR
, APPDIR
, and TUXCONFIG
parameters in the MACHINES
section of the UBBCONFIG
file. A Bourne shell script named tux.env
, located in the Oracle Tuxedo product directory, serves as a model for setting these and other environment variables on a UNIX system.
Parent topic: Performing Post-Installation Tasks
6.11 Starting the tlisten
Process
You, as the application administrator, must start a tlisten
process on each machine of a networked Oracle Tuxedo application before the application is booted. The tlisten
process enables you and the Oracle Tuxedo software running on the MASTER
machine to start, shut down, and administer Oracle Tuxedo processes running on the non-MASTER
machines. For example, tmboot(1)
can start Oracle Tuxedo system servers on the non-MASTER
machines. Generally, one tlisten
process is required for each Oracle Tuxedo application running on a server machine.
In addition to the installer program starting a tlisten
process on port 3050 during the installation of Oracle Tuxedo, a tlisten
process may be started as shown in the following table.
Table 6-8 tlisten Process
Machine | Administrator | Method |
---|---|---|
UNIX server | UNIX system administrator | Manually starting tlisten process from a command -line shell.
|
UNIX server | Oracle Tuxedo application administrator | As a cron job.
|
Oracle Tuxedo application administrator | Manually starting a tlisten process from a command-line shell.
|
Parent topic: Performing Post-Installation Tasks
6.12 tlisten
Invocation
In all cases, the same basic syntax is used to invoke tlisten
.
%TUXDIR%\bin\tlisten -l nlsaddr [-u appuid] (Windows)
$TUXDIR/bin/tlisten [-d devname] -l nlsaddr [-u appuid] (UNIX)
The -l
option is required. The argument to -l
must match the value of the NLSADDR
parameter in the NETWORK
section of the UBBCONFIG
file. For information on determining the value of NLSADDR
, see reference page UBCONFIG(5) in OracleTuxedo File Formats, Data Descriptions, MIBs, and System Processes.
The value of devname
is the device name of the network provider; for example, Starlan. If the tlisten
process is operating with Sockets, the -d
option is not needed.
The value of appuid
is the user identifier (UID), or login name, of the Oracle Tuxedo application administrator. It must match the value of the UID
parameter in the RESOURCES
section of the UBBCONFIG
file.
Note:
To obtain the UID on a UNIX system, run theid
command.
On a UNIX machine, use the -u appuid
option when the command is part of an installation script run by user root
. This is done to run the tlisten
process with the effective UID of the owner of the Oracle Tuxedo software installation on this machine.
If tlisten
is started by the Oracle Tuxedo application administrator, either as a cron
job or manually, the -u
option is not mandatory since the job is already owned by the correct account.
For more information about the tlisten(1) command, see reference page in Oracle Tuxedo Command Reference.
Parent topic: Performing Post-Installation Tasks
6.13 tlisten
Password
Oracle Tuxedo uses the administrative password that you specified during the installation to protect the machine on which Oracle Tuxedo is installed from administrative requests and operations (such as tmboot(1)
) that are not authorized. Whenever administrative communications arrive on this machine through tlisten(1)
gateway processes, Oracle Tuxedo authenticates them by means of the password.
tlisten
password can't be in clear-text format. You can generate a tlisten
password by running the following command:
- Unix/Linux:
tlistpwd $TUXDIR
- Windows:
tlistpwd %TUXDIR%
A common password is required for two machines in an Oracle Tuxedo application to communicate successfully. For this reason, you must use the same password whenever you install Oracle Tuxedo on multiple machines for a single application. If during the Oracle Tuxedo installation process you use a different password for one machine, you must add that password using the tlistpwd(1) $TUXDIR
utility to thetlisten.pw
file on each machine that communicates with each other.
For these reasons, you may have more than one administrative password in your tlisten.pw
file. A single password file may contain no more than 20 passwords, with one password per line.
Note:
Thetlisten.pw
file is system-encrypted. To add or change passwords, you must use the tlistpwd(1)
utility.
Parent topic: Performing Post-Installation Tasks
6.14 Editing a UBBCONFIG File
Each Oracle Tuxedo application is controlled by a configuration file in which installation-dependent parameters are defined. In the Oracle Tuxedo documentation, this file is referred to as UBBCONFIG
, but you can give your configuration file any name you like as long as the content of the file conforms to the format described in reference page UBBCONFIG(5)
in OracleTuxedo File Formats, Data Descriptions, MIBs, and System Processes Reference. Typical configuration filenames begin with the string ubb
, followed by a mnemonic string, such as simple in the filename ubbsimple
.
As an example, consider ubbsimple
, the UBBCONFIG
file for the rudimentary ATMI-based simpapp
application delivered with the Oracle Tuxedo installation. On a Windows system, this application is found in the directory %TUXDIR%\samples\atmi\simpapp
; on a UNIX system, it is found in the directory $TUXDIR/samples/atmi/simpapp
.
The following example ubbsimple
file has been modified from the ubbsimple
file delivered on a UNIX system to include example pathname values for both Windows and UNIX systems.
#ident “@(#)apps:simpapp/ubbsimple $Revision: 1.3 $
#Skeleton UBBCONFIG file for the Tuxedo Simple Application.
#Replace the <bracketed> items with the appropriate values.
*RESOURCES IPCKEY <Replace with a valid IPC Key>
#Example:
#IPCKEY 123456
DOMAINID simpapp
MASTER simple
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES 10
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
APPDIR=“<Replace with the current directory pathname>”
TUXCONFIG=“<Replace with your TUXCONFIG Pathname>”
TUXDIR=“<Directory where Tuxedo is installed>”
#UNIX
#Example:
# APPDIR=“/home/me/simpapp”
# TUXCONFIG=“/home/me/simpapp/tuxconfig”
# TUXDIR=“/home/oracle/tuxedo12cR1”
<Machine-name> LMID=simple
#Example:
#beatux LMID=simple
*GROUPS
GROUP1 LMID=simple GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT=“-A”
simpserv SRVGRP=GROUP1 SRVID=1
*SERVICES
TOUPPER
In the configuration file for your application, you must replace the strings enclosed in angle brackets with values specific to your application. The following table provides a sample of the parameters that must be defined in every configuration file.
Table 6-9 Parameter Sample
Parameter | Specifies |
---|---|
IPCKEY
|
A numeric key that identifies the shared memory segment where the structures used by your application are located. The value must be greater than 32,768 and less than 262,143. |
machine_name |
The node name of the machine. To obtain the node name on aWindows 2003 Server system, see your system administrator. To obtain the node name on a UNIX system, run the uname-n command.
|
APPDIR = string |
A list of one or more directories in which application and administrative servers are booted on this machine. For Windows, the value of a string is the absolute pathname of one directory, optionally followed by a semicolon-separated list of pathnames for other directories on the machine being defined. For UNIX, the value of string is the absolute pathname of one directory, optionally followed by a colon-separated list of pathnames for other directories on the machine being defined. |
TUXCONFIG = string |
The absolute pathname of the device or system file where the binary TUXCONFIG file is to be created on this machine. The TUXCONFIG file is created by running the tmloadcf(1) command on the UBBCONFIG file.
|
TUXDIR = string |
The absolute pathname of the product directory of the Oracle Tuxedo software on this machine. |
You must define APPDIR
, TUXCONFIG
, and TUXDIR
for every machine in your Oracle Tuxedo application. If you need to look up other parameters when editing your UBBCONFIG
file, see reference page UBBCONFIG(5)
in OracleTuxedo File Formats, Data Descriptions, MIBs, and System Processes Reference.
You must edit your UBBCONFIG
file before running tmloadcf(1)
to verify the IPC requirements in the section that follows. If you run tmloadcf
without first editing the UBBCONFIG
file, the command fails with syntax errors.
Parent topic: Performing Post-Installation Tasks
6.15 Using the TYPE
Parameter in UBBCONFIG
The TYPE
parameter in the MACHINES
section of a configuration file specifies the invocation of the External Data Representation (XDR) encode/decode routines when messages are passed between unlike machines. The term “unlike” applies even to machines of the same type if the compiler on each machine is different. In such a case, give each machine a unique TYPE
string to force every message to go through the encode/decode routines.
Parent topic: Performing Post-Installation Tasks
6.16 Checking IPC Requirements
The Oracle Tuxedo system uses interprocess communications (IPC) resources heavily. On many systems, the default values for the parameters that control the size and quantity of the various IPC resources are below the minimums needed to run even a modest Oracle Tuxedo application. Therefore, you may need to reset some parameters. After editing your UBBCONFIG
file, you should determine whether you have enough IPC resources for your application.
To perform this task, enter the following tmloadcf(1)
command, specifying your edited UBBCONFIG
file as input:
tmloadcf -c UBBCONFIG
With the-c
option, the tmloadcf
program prints a list of the minimum IPC resources required for your application, but does not create or update the TUXCONFIG
file. The following is an output report based on the values in ubbsimple
.
Output Produced by tmloadcf -c
Ipc sizing (minimum /T values only)...
Fixed Minimums Per Processor
SHMMIN: 1
SHMALL: 1
SEMMAP: SEMMNI
Variable Minimums Per Processor
SEMUME, A SHMMAX SEMMNU, * *
Node SEMMNS SEMMSL SEMMSL SEMMNI MSGMNI MSGMAP SHMSEG
------ ------ ------ ------ ------ ------ ------ ------
sftuxe 17 5 12 A + 1 13 26 75K
where 1 <= A <= 8.
The number of expected application clients per processor should be added to each MSGMNI value.
The output report identifies IPC resources by their traditional UNIX names. To map the traditional names to the names specific to a UNIX platform, see the data sheet for that platform in Oracle Tuxedo 22c Release (22.1.0.0.0) Platform Data Sheets.
The example output report indicates that to run simpapp
, your system must have SEMUME
, SEMMNU
, and SEMMNS
set to no less than 17. SEMMSL
must be at least 5, and SEMMNI
and SEMMAP
at least 4 (assuming the value of A is 3). MSGMNI
must be at least 13, and MSGMAP
at least 26. Finally, the product of SHMMAX
and SHMSEG
must be at least 75K bytes.
The IPC values are application-dependent, and the numbers in this example reflect a very small configuration. If other client or server applications that use IPC resources are running on the same system with an Oracle Tuxedo application, then the requirements of both applications must be satisfied. Keep in mind also that every machine participating in an application must have sufficient IPC resources available.
If the current IPC resources are inadequate, you must increase the values of the associated IPC parameters.
For instructions on changing the current IPC values for a UNIX system, see the data sheet for your platform in Oracle Tuxedo 22c Release (22.1.0.0.0) Platform Data Sheets.
Parent topic: Performing Post-Installation Tasks
6.17 Creating the Universal Device List and the Transaction Log
You create the Universal Device List (UDL) and define a UDL entry for the global transaction log (TLOG) on each machine in your application that uses global transactions. The TLOG is a log file in which information about transactions is kept until the transaction is completed.
Parent topic: Performing Post-Installation Tasks
6.18 Defining the TLOG
Before creating the UDL and defining UDL entries for TLOG, you must set the following parameters in the MACHINES
section of the UBBCONFIG
file for each machine in your application that uses global transactions. The following table lists the parameters:
Table 6-10 Parameter
Parameter | Description |
---|---|
TLOGDEVICE = string |
The Oracle Tuxedo filesystem containing the distributed transaction processing (DTP) TLOG for this machine. If not specified, it is assumed that this machine has no TLOG. |
TLOGOFFSET = offset |
The numeric offset in pages (from the beginning of the device) to the start of the Oracle Tuxedo filesystem containing the DTP transaction log for this machine. The default is 0. |
TLOGNAME = string |
The name of the DTP transaction log for this machine. If not specified, the default is “TLOG.” |
TLOGSIZE = size |
The numeric size, in pages, of the DTP transaction log for this machine. If not specified, the default is 100 pages. |
Because the TLOG seldom needs to be larger than 100 blocks (pages) and because disk partitions are always substantially larger than that, it may make sense to use the same device for both the TUXCONFIG
file and the TLOG. If so, the pathname of the device needs to be specified by both the TUXCONFIG
and the FSCONFIG environment variables.
Parent topic: Performing Post-Installation Tasks
6.19 Creating the UDL and UDL Entries for TLOG
You must manually create a UDL entry for the TLOGDEVICE
on each machine where a TLOG is needed. You may create these entries either before or after you have loaded TUXCONFIG
, but you must create these entries before booting the application.
To access the create device list command, crdl
, you invoke tmadmin -c
with the application inactive. The -c
option invokes tmadmin
in configuration mode.
To create the UDL and a UDL entry for TLOG on each machine in your application that use global transactions, follow these steps:
- Log in as the application administrator on the
MASTER
machine. - Enter the following command:
tmadmin -c crdl -z config -b blocks
Here
-z
config specifies the full pathname of the device on which the UDL should be created (that is, where the TLOG resides), and-b
blocks specifies the number of blocks to be allocated on the device. The value ofconfig
should match the value of theTLOGDEVICE
parameter in theMACHINES
section of theUBBCONFIG
file. The blocks must be larger than the value ofTLOGSIZE
. If-z
is not specified, the value ofconfig
defaults to the value of the FSCONFIG environment variable. - Log in as the application administrator on each remaining non-MASTER machine that uses global transactions and repeat step 2.
If the TLOGDEVICE
is mirrored between two machines, step 3 is not required on the paired machine. To be recoverable, the TLOG should reside on a device that can be mirrored.
Parent topic: Performing Post-Installation Tasks
6.20 Running simpapp to Verify Your Installation
One of the ways to verify that your Oracle Tuxedo software is installed correctly is to run one or more of the sample applications included with the installation. The sample applications demonstrate the capabilities of the ATMI and CORBA clients, and the ATMI and CORBA C++ servers.
The following sections provide procedures for verifying both the ATMI and CORBA C++ parts of your Oracle Tuxedo installation:
- Running simpapp to Verify the Oracle Tuxedo ATMI Software Installation
- Running simpapp to Verify the Oracle Tuxedo CORBA C++ Software Installation
The simpapp application is a non-distributed application, meaning that it runs on a single machine. It is designed so that it can be up and running within minutes after the Oracle Tuxedo software is installed.
The simpapp application offers a single service called TOUPPER, which converts strings from lowercase to uppercase. The client is invoked with a single argument: a lowercase string to be converted to uppercase. The server returns the converted string to the client, and the client prints the converted string.
simpcl “hello world”
results in the
output Returned string is: HELLO WORLD
Two versions of simpapp exist: an ATMI version and a CORBA version. The ATMI version consists of an ATMI server, an ATMI client, and a UBBCONFIG file. The CORBA version consists of a CORBA C++ server, a CORBA C++ client.
Parent topic: Performing Post-Installation Tasks
6.21 Running simpapp
to Verify the Oracle Tuxedo CORBA C++ Software Installation
To verify that you have successfully installed the Oracle Tuxedo CORBA C++ software on your system, run the CORBA version of the simpapp
application, which on a UNIX system can be found in the directory $TUXDIR/samples/corba/simpapp
. The procedure presented in the following two sections is also provided in the README file in the simpapp
directory, and in Tutorial for simpapp, a Simple C Application in Tutorials for Developing Oracle Tuxedo ATMI Applications.
Parent topic: Performing Post-Installation Tasks
6.21.1 Running simpapp to Verify the Oracle Tuxedo CORBA C++ Software Installation on a UNIX System
To configure and run the CORBA version of simpapp
on a UNIX system, follow these steps:
- Log in to the target machine as the Oracle Tuxedo application administrator and open a command-line shell.
- Create a working directory for your sample application and change to
it:
prompt> cd /home/me prompt> mkdir corba prompt> cd corba
- Make sure that the product directory in which you installed the Oracle Tuxedo software is set in the TUXDIR environment variable. For example, if you installed the software in the
/home/oracle/tuxedo12cR1
directory, set and exportTUXCONFIG
as follows:prompt> TUXDIR=/home/oracle/tuxedo12cR1 prompt> export TUXDIR
- Copy the
simpapp
files to your working directory and change the permissions on all files to allow full access. For example:prompt> cp $TUXDIR/samples/corba/simpapp/* . prompt> chmod 777 *
- Ensure that
make
is in your path. - To run
simpapp
automatically, enter../runme.ksh
. Thesimpapp
application runs and prints the following messages:Testing simpapp cleaned up prepared built loaded ubb booted ran shutdown saved results PASSED
- To run
simpapp
manually to observe the processes starting and stopping, follow these steps:- prompt>
ksh
- prompt>
../results/setenv.ksh
- prompt>
tmboot -y
The application starts several processes.
- prompt>
simple_client
The prompt
String?
is displayed. - prompt>
enter_a_word_in_lowercase_letters
The application converts the word to uppercase and then to lowercase letters and displays the results.
- prompt>
tmshutdown -y
- The application shuts down the processes.
- prompt>
- To restore the directory to its original state, follow these steps:
- prompt>
../results/setenv.ksh
- prompt>
make -f makefile.mk
clean
- prompt>
6.22 Running buildtms for Oracle Tuxedo Applications That Use XA Resource Managers
For Oracle Tuxedo applications that use distributed transactions and XA-compliant resource managers, you must use the buildtms
command to construct a transaction manager server load module. This requirement exists on UNIX systems. When the module has been created, it must reside in the directory $TUXDIR/bin
on UNIX systems.
If you run the CORBA C++ University sample applications, each sample’s make
file creates the TMS load module for you and calls it tms_ora.exe
. Therefore, running buildtms
as a separate step is necessary only if you do not plan to run any of these sample applications.
For information about the buildtms
command with Oracle Tuxedo applications, see reference page buildtms(1)
in Oracle Tuxedo Command Reference.
Parent topic: Performing Post-Installation Tasks
6.22.1 Running simpapp to Verify the Oracle Tuxedo ATMI Software Installation
To verify that you have successfully installed the Oracle Tuxedo ATMI software on your system, run the ATMI version of the simpapp
application, which on a UNIX system can be found in the directory $TUXDIR/samples/atmi/simpapp
.
Note:
Samples are not installed unless they are selected to be installed during Oracle Tuxedo 22c Release 1 (22.1.0.0.0) installation.The procedure presented in the following two sections is also provided in the README file in the simpapp directory, and in Tutorial for simpapp, a Simple C Application. Tutorials for Developing Oracle Tuxedo ATMI Applications.
6.22.1.1 Running simpapp
to Verify the Oracle Tuxedo ATMI Software Installation on a UNIX System
To configure and run the ATMI version of simpapp
on a UNIX system, follow these steps:
- Log in to the target machine as the Oracle Tuxedo application administrator and open a command-line shell.
- Create a working directory for your sample application and change to
it:
cd /home/me mkdir atmi cd atmi
- Set and export the environment variables used by the Oracle Tuxedo system, as explained in Setting Environment Variables on a UNIX System. Set
APPDIR
andTUXCONFIG
as follows:APPDIR=/home/me/atmi TUXCONFIG=$APPDIR/tuxconfig export APPDIR TUXCONFIG
Note:
You do not have to set the WEBJAVADIR environment variable. - Copy the
simpapp
files to your working directory. You need to edit one of them: the configuration file,ubbsimple
. Make sure that the client and server files,simpcl
andsimpserv
, are executable, and that the configuration file,ubbsimple
, is writable. For example:cp $TUXDIR/samples/atmi/simpapp/* . chmod 755 simpserv simpcl chmod 644 ubbsimple
- Compile the
simpapp
client and server programs by entering the following commands:buildclient -o simpcl -f simpcl.c buildserver -o simpserv -f simpserv.c -s TOUPPER
- In the sample configuration file,
ubbsimple
, replace the strings shown in angle brackets with values appropriate to your Oracle Tuxedo system installation. Comments inubbsimple
explain how to customize the file. Set the following parameters in theubbsimple
file:- Set
IPCKEY
to a valid IPC key. This value must be greater than 32,768 and less than 262,143. - Set
APPDIR
to”/home/me/atmi”
. - Set
TUXCONFIG
to the literal pathname corresponding to$APPDIR/tuxconfig
(in our example,”/home/me/atmi/tuxconfig”
). - Set
TUXDIR
to the absolute pathname of the product directory of the Oracle Tuxedo software on this machine (for example,”/home/oracle/tuxedo12cR1”
). - Set
MACHINE-NAME
to the name of your system.To determine the name of your system on a UNIX machine enter the command:uname -n
Note:
TheAPPDIR
,TUXCONFIG
, andTUXDIR
parameter settings in theubbsimple
file must match theAPPDIR
,TUXCONFIG
, andTUXDIR
environment variable settings.
- Set
- Create the binary version of your edited configuration file by
invokingtmloadcf(1)
, which produces a file namedtuxconfig
. This file, referenced by the TUXCONFIG environment variable, provides the Oracle Tuxedo system with a description of the application configuration at run time:tmloadcf -y ubbsimple
- Boot
simpapp
by typing the following command:tmboot -y
If the boot succeeds, output similar to the following appears and you can proceed to step 10. The following listing shows the output produced by
tmboot -y
:Booting all admin and server processes in /home/me/atmi/tuxconfig INFO: Oracle Tuxedo , Version 22.1.0.0.0 Booting admin processes ... exec BBL -A: process id=24180 ... Started. Booting server processes ... exec simpserv -A : process id=24181 ... Started. 2 processes started.
- If the boot fails, examine the log named
ULOG.mmddyy
in your application directory ($APPDIR, /home/me/atmi
). The stringmmddyy
is a placeholder for the date (digits representing the current month, day, and year) that makes up the end of the filename. If you see a message such as the following, near the end of the log:can’t create enough semaphores for BB
then the interprocess communication (IPC) resources configured in your operating system are not adequate for running
simpapp
.To confirm this hypothesis, invoke the Oracle Tuxedo system commandtmloadcf(1)
and specify the name of your configuration file, as shown in the following example:tmloadcf -c $APPDIR/ubbsimple
If the current value of any IPC parameter configured in your operating system is less than a minimum (either variable or fixed) listed in the
tmloadcf
output, you must increase the value of that parameter. For instructions on determining and changing the current IPC values for your platform, see the data sheet for your platform in Oracle Tuxedo 22c Release (22.1.0.0.0) Platform Data Sheets. - If the boot succeeded, you can invoke the client. For example, enter the following
command:
simpcl “hello world”
The following is displayed:Returned string is: HELLO WORLD
- When you have finished, shut down
simpapp
with the following command:tmshutdown -y
6.23 Uninstalling Oracle Tuxedo
Uninstalling Oracle Tuxedo 22c Release 1 (22.1.0.0.0) does not remove the Oracle Home directory associated with the installation but does remove all Oracle Tuxedo components installed by the installer program. The uninstallation also removes the product directory associated with the installation.
After launching OUI, the Welcome screen appears. Click Deinstall Products. Select the product(s) you want to remove from the Contents tab of the Inventory panel and click Remove.
You can also remove Oracle homes in the same manner. After you have removed an Oracle home, you can reuse its name and location to install other products. Then confirm the deinstallation. After the selected products are deinstalled, the Inventory panel appears.
Parent topic: Performing Post-Installation Tasks
6.24 Reinstalling Oracle Tuxedo
When you start the Oracle Tuxedo Installation program on system that already has a copy of Oracle Tuxedo installed, the installation program detects the existing Oracle Tuxedo home directory and displays a warning that the selected ORACLE_HOME already installed Tuxedo. If you want to continue the installation, the components which not exist in the selected ORACLE_HOME are installed. Existing Tuxedo component are not reinstalled by default.
Parent topic: Performing Post-Installation Tasks