6 Performing Post-Installation Tasks

The following sections describe the tasks you perform after installing Oracle Tuxedo 22c.

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


Oracle Tuxedo 22c Release Directory Structure Diagram

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
  • atmi

    A collection of simple applications that demonstrate the many features of the Oracle Tuxedo Application-to-Transaction Monitor Interface (ATMI) server software.

  • corba

    A collection of simple applications that demonstrate the many features of the Oracle Tuxedo Common Object Request Broker Architecture (CORBA) C++ server software.

  • jolt

    A collection of simple applications that demonstrate the many features of the Oracle Jolt server software.

  • tdc

    Samples for Tuxedo distributed cache

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:
  • security

    Contains the default Lightweight Directory Access Protocol (LDAP) filter file (bea_ldap_filter.dat) and LLE related and SSL related encryption files.

  • Jolt

    Contains the files for the Oracle Jolt software components that you selected to install.

  • snmp

    Contains the etc directory, which in turn contains the SNMP Agent configuration files, MIB files, and other miscellaneous files.

  • java

    Contains the classes and Java archive files needed to run Java applications.

  • tlisten.pw (file)

    Contains the tlisten administrative password that you entered during the installation.

uninstaller Contains code required to uninstall the Oracle Tuxedo software.

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 called comps.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:
  • GWWS
  • tmwsdlgen
  • wsadmin
  • wsloadcf
  • tmwsdlflt (internally used)
include Contains C language header files for SALT plug-in development and administrative development, including:
  • auth_pi_ex.h
  • custtype_pi_ex.h
  • libsoapeng.*
  • redmap_pi_ex.h
  • wsadmflds.h
  • wssoapflds.h
lib Contains C language header files for SALT plug-in development and administrative development, including:
  • libwsbase.* (shared library suffix is variant on different platforms)
  • libwsconf.*
  • libsoapeng.*
locale Contains the localization of system messages used by SALT.

C subdirectory contains the following SALT specific message catalogs for the default locale (U.S. English): GWWS, WSBASE, WSCFG, WSCMD.

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:
  • 3rd_party_licenses_salt.txt

    License information for 3rd party software used by SALT.

  • wsadmflds

    SALT administrative FML32 field definitions

  • wssoapflds

    SALT pre-defined FML32 fields for outbound Web Service call.

inventory Contains information about installed products for use with the Oracle Universal Installer.
udataobj/salt Contains sub-directories and files required by SALT, including:
  • policy subdirectory

    Contains SALT pre-defined WS-* policy files.

  • WS subdirectory

    Contains various external XML Schema files required by SALT.

  • xalan subdirectory

    Contains Apache Xalan Java 2.7 class library files and corresponding license information.

  • xslt files

    wsdl*.xsl files are used by SALT WSDL converter (wsdlcvt).

  • SALT XML Schema files

    *.xsd files are XML Schema files of SALT configuration file format.

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


Simplified View of Oracle Tuxedo Architecture Diagram

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.

Other important terms and concepts that you need to know about Oracle Tuxedo before performing post-installation checks are briefly described in the following sections:

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.

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.

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.

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.

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.

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.

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 JDK

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.

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.

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 the id 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.

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.

A 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:

The tlisten.pw file is system-encrypted. To add or change passwords, you must use the tlistpwd(1) utility.

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.

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.

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-coption, 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 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 Platform Data Sheets.

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.

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.

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:

  1. Log in as the application administrator on the MASTER machine.
  2. 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 of config should match the value of the TLOGDEVICE parameter in the MACHINES section of the UBBCONFIG file. The blocks must be larger than the value of TLOGSIZE. If -z is not specified, the value of config defaults to the value of the FSCONFIG environment variable.

  3. 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.

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:

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.

For example, the invocation
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.

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.

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:

  1. Log in to the target machine as the Oracle Tuxedo application administrator and open a command-line shell.
  2. Create a working directory for your sample application and change to it:
    
    prompt> cd /home/me 
    prompt> mkdir corba 
    prompt> cd corba
  3. 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 export TUXCONFIG as follows:
    
    prompt> TUXDIR=/home/oracle/tuxedo12cR1 
    prompt> export TUXDIR
  4. 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 *
  5. Ensure that make is in your path.
  6. To run simpapp automatically, enter ../runme.ksh. The simpapp application runs and prints the following messages:
    
    Testing simpapp 
    cleaned up 
    prepared 
    built 
    loaded ubb 
    booted 
    ran 
    shutdown 
    saved results 
    PASSED
  7. To run simpapp manually to observe the processes starting and stopping, follow these steps:
    1. prompt>ksh
    2. prompt>../results/setenv.ksh
    3. prompt>tmboot -y

      The application starts several processes.

    4. prompt>simple_client

      The prompt String? is displayed.

    5. prompt>enter_a_word_in_lowercase_letters

      The application converts the word to uppercase and then to lowercase letters and displays the results.

    6. prompt>tmshutdown -y
    7. The application shuts down the processes.
  8. To restore the directory to its original state, follow these steps:
    1. prompt>../results/setenv.ksh
    2. prompt>make -f makefile.mk clean

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.

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:

  1. Log in to the target machine as the Oracle Tuxedo application administrator and open a command-line shell.
  2. Create a working directory for your sample application and change to it:
    
    cd /home/me
    mkdir atmi
    cd atmi
  3. Set and export the environment variables used by the Oracle Tuxedo system, as explained in Setting Environment Variables on a UNIX System. Set APPDIR and TUXCONFIG as follows:
    
    APPDIR=/home/me/atmi
    TUXCONFIG=$APPDIR/tuxconfig
    export APPDIR TUXCONFIG

    Note:

    You do not have to set the WEBJAVADIR environment variable.
  4. 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 and simpserv, are executable, and that the configuration file, ubbsimple, is writable. For example:
    
    cp $TUXDIR/samples/atmi/simpapp/* .
    chmod 755 simpserv simpcl
    chmod 644 ubbsimple
  5. Compile thesimpapp client and server programs by entering the following commands:
    
    buildclient -o simpcl -f simpcl.c
    buildserver -o simpserv -f simpserv.c -s TOUPPER
  6. In the sample configuration file,ubbsimple, replace the strings shown in angle brackets with values appropriate to your Oracle Tuxedo system installation. Comments in ubbsimple explain how to customize the file. Set the following parameters in the ubbsimple 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:

      The APPDIR, TUXCONFIG, and TUXDIR parameter settings in the ubbsimple file must match the APPDIR, TUXCONFIG, and TUXDIR environment variable settings.
  7. Create the binary version of your edited configuration file by invokingtmloadcf(1), which produces a file named tuxconfig. 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
  8. 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.
  9. If the boot fails, examine the log named ULOG.mmddyy in your application directory ($APPDIR, /home/me/atmi). The string mmddyy 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 command tmloadcf(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 Platform Data Sheets.

  10. 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
  11. 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.

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.