1 Starting Up and Shutting Down an Application
This topic includes the following sections:
- The Tasks Involved in Starting Up and Shutting Down an Application
- How to Set Your Environment
- How to Create the TUXCONFIG File
- How to Start tlisten at All Sites
- How to Manually Propagate the Application-specific Directories and Files
- How to Create a TLOG Device
- How to Boot the Application
- How to Shut Down Your Application
1.1 The Tasks Involved in Starting Up and Shutting Down an Application
The following figure illustrates the tasks required to start up and shut down your Oracle Tuxedo application.
Click on each of the following tasks for instructions on completing that task.
Figure1‑1 Startup and Shutdown Tasks
Figure 1-1 Startup and Shutdown Tasks

Parent topic: Starting Up and Shutting Down an Application
1.2 How to Set Your Environment
Being able to access the Oracle Tuxedo executables and data
libraries is essential to the job of managing a Oracle Tuxedo
application. For example, the commands needed to start up or shut
down an application are located in %TUXDIR%\bin on a
Windows host machine, and in $TUXDIR/bin
on a UNIX host machine.
Parent topic: Starting Up and Shutting Down an Application
1.2.1 On Windows
On a Windows host machine, enter the following commands at the command prompt to set up your environment:
set TUXCONFIG=path_name_of_TUXCONFIG_file
set TUXDIR=path_name_of_Oracle_Tuxedo_system_root_directory
set APPDIR=path_name_of_Oracle_Tuxedo_application_root_directory
set PATH=%APPDIR%;%TUXDIR%\bin;%PATH% Replace the substitutable strings (italicized) with the absolute pathnames appropriate for your installation.
Windows accesses the required dynamically loadable library files
through its PATH variable setting. Specifically,
Windows searches for dynamically loadable library files in the
following order:
- The directory from which the Oracle Tuxedo application was loaded
- The current directory
- The Windows system directory (for example,
C:\Win2003\System32) - The Windows directory (for example,
C:\Win2003) - The directories listed in the
PATHenvironment variable
Parent topic: How to Set Your Environment
1.2.2 On UNIX
On a UNIX host machine, set and export the following environment variables to set up your environment:
TUXCONFIG=path_name_of_TUXCONFIG_file
TUXDIR=path_name_of_Oracle_Tuxedo_system_root_directory
APPDIR=path_name_of_Oracle_Tuxedo_application_root_directory
PATH=$APPDIR:$TUXDIR/bin:/bin:$PATH
LD_LIBRARY_PATH=$APPDIR:$TUXDIR/lib:/lib:/usr/lib:$LD_LIBRARY_PATH
export TUXCONFIG TUXDIR APPDIR PATH LD_LIBRARY_PATH| Platform | Change |
|---|---|
| HP-UX on the HP 9000 | Use SHLIB_PATH instead of LD_LIBRARY_PATH
|
| AIX on the RS/6000 | Use LIBPATH instead of LD_LIBRARY_PATH
|
Replace the substitutable strings (italicized) with the absolute pathnames appropriate for your installation.
Note:
The application administrator defines theTUXCONFIG, TUXDIR, and APPDIR environment variables in the MACHINES section of the UBBCONFIG file or the T_MACHINE class of the TM_MIB for each machine in an application. For more information, see the UBBCONFIG(5) or TM_MIB(5) for a description of these environment variables.
Parent topic: How to Set Your Environment
1.3 How to Create the TUXCONFIG File
Each Oracle 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 UBBCONFIGThe binary version of the UBBCONFIG file is referred to as TUXCONFIG. As with UBBCONFIG, the TUXCONFIG file may be given any name; the actual name is the device or system filename specified in the TUXCONFIG environment variable.
Note:
For information about the configuration file, refer to UBBCONFIG(5) in File Formats, Data Descriptions, MIBs, and System Processes ReferenceThe tmloadcf(1) command converts the text configuration
file to a binary file called TUXCONFIG and writes the
new file to the location given in the TUXCONFIG
variable. Run the command as follows:
$ tmloadcf [-n] [-y] [-c] [-b blocks] {UBBCONFIG_file | - }Note:
You must be logged in on theMASTER machine and have the effective user ID of the configuration file owner.
The options shown here perform the following functions:
-nperforms a syntax check only; reports errors-yoverwrites the existing TUXCONFIG file without asking-ccalculates minimum interprocess communication (IPC) resources of the configuration.-blimits the size of the TUXCONFIG file
The -c and -n options do not load the TUXCONFIG file. IPC resources are platform specific. If you use the -c option, check the data sheet for your platform in the Oracle Tuxedo Installation Guide to judge whether you must make changes. If you do want to change IPC resources, check the administration documentation for your platform. If the -n option checks for syntax errors in the configuration file, correct the errors before you proceed. (For UBBCONFIG_file, substitute the fully qualified name of your configuration file.)
The -b option takes an argument that limits the
number of blocks used to store the TUXCONFIG file. Use it
if you are installing TUXCONFIG on a raw disk device that
has not been initialized. The option is not recommended if
TUXCONFIG is stored in a regular UNIX system file.
Parent topic: Starting Up and Shutting Down an Application
1.4 How to Start tlisten at All Sites
For a networked application, a listener process must be running on each machine. A networked
application is an application that runs on more than one machine, as established by the
MODEL
MP parameter in the RESOURCES section of the application’s
UBBCONFIG file.
Note:
You must defineTUXDIR, TUXCONFIG, APPDIR, and other relevant environment variables before starting tlistenThe port on which the process is listening must be the same as the port specified for NLSADDR in the NETWORK section of the configuration file. On each machine, use the tlisten(1) command, as follows:
tlisten [ -d device ] /> -l nlsaddr [-u {uid-# | uid-name}] [ -z bits ] [ -Z bits ]Example: tlisten -l //machine1:6500
tlisten Command Options:
-
- ddevice—the full pathname of the network device. For Oracle Tuxedo release 6.4 or later, this option is not required. For earlier versions of the Oracle Tuxedo system (up to release 6.3), some network providers (for example, TCP/IP) require this information. -
-l nlsaddr—network address at which the process listens for connections. TCP/IP addresses may be specified in the following forms:"//hostname:port_number "//#.#.#.#:port_number"
In the first example, tlisten finds an address for hostname using the local name resolution facilities (usually DNS). hostname must be the local machine, and the local name resolution facilities must unambiguously resolve hostname to the address of the local machine.
In the second example, the #.#.#.# is in dotted decimal format. In dotted decimal format, each # should be a number from 0 to 255. This dotted decimal number represents the IP address of the local machine. In both of the above formats, port_number is the TCP port number at which the tlisten process listens for incoming requests. port_number can either be a number between 0 and 65535 or a name. If port_number is a name, then it must be found in the network services database on your local machine. The address can also be specified in hexadecimal format when preceded by the characters 0x. Each character after the initial 0x is a number between 0 and 9 or a letter between A and F (case insensitive). The hexadecimal format is useful for arbitrary binary network addresses such as IPX/SPX or TCP/IP. The address can also be specified as an arbitrary string. The value should be the same as that specified for the NLSADDR parameter in the NETWORK section of the configuration file.
tmloadcf(1) prints an error if nlsaddr is missing from any entry—except the entry for the MASTER LMID, for which it will print a warning. However, if nlsaddr is missing from the MASTER LMID entry, tmadmin(1) cannot be run in administrator mode on remote machines; it is limited to read-only operations. This also means that a backup site is unable to reboot the MASTER site after failure.
- -u
uid-#oruid-name—used to run thetlistenprocess as the indicated user. This option is required if thetlisten(1)command is run by root on a remote machine. -z [bits]—specifies the minimum level of encryption required when establishing a network link between a Oracle Tuxedo system administrative process andtlisten. Zero (0) means no encryption, while 56 and 128 specify the length (in bits) of the encryption key. If this minimum level of encryption cannot be met, link establishment fails. The default is zero.-Z [bits]—specifies the maximum level of encryption allowed when establishing a network link between a Oracle Tuxedo system administrative process andtlisten. Zero (0) means no encryption, while 56 and 128 specify the length (in bits) of the encryption key. The default is 128.
Parent topic: Starting Up and Shutting Down an Application
1.5 How to Manually Propagate the Application-specific Directories and Files
TUXCONFIG is propagated automatically to all machines in your configuration by the Oracle Tuxedo system when you run tmboot(1). There are, however, other files that you need to propagate manually. Following is a list of the files and directories that you need to create for a networked application. First, install the Oracle Tuxedo system on the machine.
Note:
Thetlisten process must be started on each machine of a networked Oracle Tuxedo application before the application is booted. For more information, see the tlisten(1) . You must define TUXDIR, TUXCONFIG, APPDIR, and other relevant environment variables before starting tlisten| Directory/File | Description |
|---|---|
APPDIR |
You must create the directory named in the APPDIR variable on each node. It is easier if this directory has the same pathname on all nodes.
|
Executables |
You must build one set of application servers for each platform, and manually propagate the appropriate set to all machines running on each platform (that is, the Oracle Tuxedo system does not do this automatically). Store the executables in APPDIR, or in a directory specified in a PATH variable in ENVFILES in the MACHINES section of your configuration file.
|
Field tables VIEW tables |
If FML or VIEWS buffer types are used, field tables and VIEW description files must be manually propagated to the machines where they are used, and then recompiled. Use mkfldhdr, mkfldhdr32(1) to make a header file out of a field table file; use viewcs, viewcs32(1) to compile a VIEW file. The FML field tables and VIEW description files should be available through the environment variables FLDTBLDIR, FIELDTBLS, VIEWDIR, and VIEWFILES, or their 32-bit equivalents.
|
Parent topic: Starting Up and Shutting Down an Application
1.6 How to Create a TLOG Device
To create distributed transaction processing, you must have
created a global transaction log (TLOG) on each
participating machine. To define a TLOG, complete the
following steps.
- You must first set several parameters in the
MACHINESsection of the configuration file:TLOGDEVICE,,TLOGOFFSETTLOGNAME, andTLOGSIZE - You must also create a universal device list entry (UDL) for the
TLOGDEVICEon each participating machine. (You can do this task before or after loadingTUXCONFIG, but you must do so before booting the system.) To create an entry in the UDL for theTLOGdevice, invoketmadmin -con theMASTERmachine with the application inactive. (The-coption invokestmadminin configuration mode.) - Enter the command:
crdl -z config -b blockswhere
-zconfig specifies the full pathname for the device on which the UDL should be created (that is, where theTLOGwill reside) and-bblocks specifies the number of blocks to be allocated on the device. The value ofconfigshould match the value of the TLOGDEVICE parameter in theMACHINESsection. The blocks must be larger than theTLOGSIZE. Ifis not specified, the value of-zconfigdefaults to the value of the variableFSCONFIG(which points to the application’s databases). - Repeat steps 1 and 2 on each machine in your application that
will use global transactions.
If the
TLOGDEVICEis mirrored between two machines, step 4 is not required on the paired machine. To be recoverable, theTLOGshould reside on a device that can be mirrored. Because theTLOGis too small (typically, 100 pages) to warrant the allocation of a whole disk partition, theTLOGis commonly stored on the same raw disk slice as the Oracle Tuxedo /Q database.
Parent topic: Starting Up and Shutting Down an Application
1.7 How to Boot the Application
Once all prerequisites have been completed successfully, you can bring up the application using tmboot. Only the administrator who created the TUXCONFIG file can execute tmboot(1).
The application is generally booted from the machine designated
as MASTER in the RESOURCES section of the
configuration file or the BACKUP acting as the
MASTER. The -b option allows some
deviation from this rule. For tmboot to find
executables, Oracle Tuxedo system processes such as the Bulletin
Board Liason (BBL) must be located in $TUXDIR/bin.
Application servers should be in the directory defined by the
APPDIR variable, as specified in the configuration
file.
When booting application servers, tmboot uses the
CLOPT, SEQUENCE, SRVGRP,
SRVID, and MIN parameters from the
configuration file. Application servers are booted in the order
specified by the SEQUENCE parameter, if
SEQUENCE is used. If SEQUENCE is not
specified, servers are booted in the order in which they appear in
the configuration file. The command line should look something like
the following:
$ tmboot [-g
grpname
] [-o
sequence
] [-S] [-A] [-y]
The following table lists the tmboot options.
| Option | Function |
|---|---|
-g grpname |
Boots all TMS and application servers in groups using this grpname parameter. |
-o sequence |
Boots all servers in the order shown in the SEQUENCE parameter. |
-s server-name |
Boots an individual server. |
-S |
Boots all servers listed in the SERVERS section. |
-A |
Boots all administrative servers for machines listed in the MACHINES section. This option ensures that the DBBL, BBL, and BRIDGE processes are started in the proper order.
|
-y |
Provides an automatic “yes” response to the prompt that asks whether all administrative and application servers should be booted. This prompt is displayed only if no options that limit the scope of the command (for example,) are specified.
|
- Sequence of tmboot Tasks for a 2-Machine Configuration
- Sequence of tmboot Tasks for Large Applications (Over 50 Machines)
Parent topic: Starting Up and Shutting Down an Application
1.7.1 Sequence of tmboot Tasks for a 2-Machine Configuration
To boot the entire configuration, enter the following command:
prompt>tmboot -y
tmboot performs the following tasks:
Figure 1-2 Default Boot Sequence for a Small Application

Parent topic: How to Boot the Application
1.7.2 Sequence of tmboot Tasks for Large Applications (Over 50 Machines)
For relatively large applications (that is, those consisting of
over 50 machines), tmboot boots entire machines in a
single step rather than performing all the steps used to boot two
machines in the default sequence.Figure1‑3 is the
optimized sequence of tasks.
Figure 1-3 Boot Sequence for a Large Application

Note:
The boot sequence is much faster for large applications because the number of system messages is far smaller. This method generally reduces boot time by 50%. In a configuration running on a slow network, boot time can be improved by booting machines with higher speed connections to theMASTER machine first.
Parent topic: How to Boot the Application
1.8 How to Shut Down Your Application
Use the tmshutdown(1) command to shut down all or part of a Oracle Tuxedo application. The rules for running this command are similar to those for running tmboot(1); tmshutdown is the inverse of tmboot.
When the entire application is shut down, tmshutdown removes the interprocess communication (IPC) resources associated with the Oracle Tuxedo system. The options used by tmboot for partial booting (-A, -g, -I, -S, -l -M, -B )are supported in tmshutdown. The -b option (allowing tmboot to be used from a non-MASTER machine) is not supported for tmshutdown; you must enter the tmshutdown command from the MASTER (or BACKUP MASTER) machine.
To migrate servers, use the - option. This option shuts down the servers without removing bulletin board entries for them. If a machine is partitioned, run Rtmshutdown with the - option on the partitioned machine to shut down the servers on that machine.
P LMID
tmshutdown does not shut down the
administrative server BBL on a machine to which clients are
attached. You can use the -c option to override this
feature. You need this option for occasions when you must bring
down a machine immediately and you cannot contact the clients.
You can use the -w
delay option to
force a hard shutdown after delay seconds. This option
suspends all servers immediately so that additional work cannot be
queued. The value of delay should allow time for
requests already queued to be serviced. After delay
seconds, a SIGKILL signal is sent to the servers. This
option enables the administrator to shut down servers that are
looping or blocked in application code.
Parent topic: Starting Up and Shutting Down an Application
1.8.1 Running tmshutdown
Only the administrator who has written the
TUXCONFIG file can execute tmshutdown(1). The
application can be shut down only from the machine designated as
MASTER in the configuration file. When the
BACKUP acts as MASTER, it is considered
to be the MASTER for shutdown purposes. (The only
exception to this rule is a partitioned machine. By using the
-p option, an administrator can run the
tmshutdown command from a partitioned machine to shut
down the application at that site.)
The order in which application servers are shut down is the
reverse of the order specified by the SEQUENCE
parameter for them, or the reverse order in which they are listed
in the configuration file. If some servers have
SEQUENCE numbers and others do not, the unnumbered
servers are the first to be shut down, followed by the application
servers with SEQUENCE numbers (in reverse order).
Finally, administrative servers are shut down.
When an application is shut down, all the IPC resources
allocated by the Oracle Tuxedo system are removed;
tmshutdown does not remove IPC resources allocated by
the DBMS.
Parent topic: How to Shut Down Your Application
1.8.2 Using the IPC Tool When an Application Fails to Shut Down Properly
IPC resources are operating system resources, such as message
queues, shared memory, and semaphores. When a Oracle Tuxedo
application shuts down properly with the tmshutdown
command, all IPC resources used by the Oracle Tuxedo application
are removed from the system. In some cases, however, an application
may fail to shut down properly and stray IPC resources may remain
on the system. When this happens, it may not be possible to reboot
the application.
One way to address this problem is to remove IPC resources with
a script that invokes the system IPCS command and scan
for all IPC resources owned by a particular user account. However,
with this method, it is difficult to distinguish among different
sets of IPC resources; some may belong to a particular Oracle
Tuxedo application; and others to applications unrelated to the
Oracle Tuxedo system. It is important to be able to distinguish
among these sets of resources; unintentional removal of IPC
resources can severely damage an application.
The Oracle Tuxedo IPC tool (that is, the tmipcrm(1) command) enables you to remove IPC resources allocated by the Oracle Tuxedo system (that is, for core Oracle Tuxedo and Workstation components only) in an active application.
The command to remove IPC resources, tmipcrm(1) resides in TUXDIR/bin. This command reads the binary configuration file (TUXCONFIG), and attaches to the bulletin board using the information in this file. tmipcrm works only on the local server machine; it does not clean up IPC resources on remote machines in a Oracle Tuxedo configuration.
To run this command, enter it as follows on the command line:
tmipcrm [-y] [-n] [code]
Note:
This command will not work unless you have set theTUXCONFIG environment variable correctly or specified the appropriate TUXCONFIG file on the command line.
To remove /Q IPC resources, use theqmadmin(1) ipcrm command.
Parent topic: How to Shut Down Your Application