http://docs.oracle.com/cd/E26665_01/tuxedo/docs11gr1/rf5/rf5.html#wp3370051
UBBCONFIG(5)
Name
UBBCONFIG
—Text version of an Oracle Tuxedo configuration file.
Description
When an Oracle Tuxedo application is booted, the tmboot
command refers to a binary configuration file called TUXCONFIG
to get the information necessary for starting application servers and initializing the bulletin boards in an orderly sequence. This binary file cannot be created directly; it must be created from a text file called UBBCONFIG
. To configure an application, an administrator creates a UBBCONFIG
file (with a text editor) and loads the file into a binary version (TUXCONFIG
) by running the tmloadcf(1) command. During the life of the application, the TUXCONFIG
file is used by various Oracle Tuxedo administrative tools. tmadmin(1) uses the configuration file (or a copy of it) in its monitoring activity. tmshutdown(1) references the configuration file for information needed to shut the application down.
An Oracle Tuxedo UBBCONFIG
file may be given any name as long as the content of the file conforms to the format described on this reference page. In addition, the TUXCONFIG
file may be given any name; the actual name is the device or system filename specified in the TUXCONFIG
environment variable.
For additional information/examples pertaining to the entire UBBCONFIG
file, see UBBCONFIG(5) Additional Information.
Definitions
A server is a process that accepts requests and sends replies for clients and other servers. A client originates requests and gets replies.
A resource manager is an interface and associated software providing access to a collection of information and/or processes. An example of a resource manager is a database management system; a resource manager instance is a particular instantiation of a database controlled by a DBMS. A distributed transaction is a transaction that spans multiple resource manager instances, is started with tpbegin()
, and ended with tpcommit()
or tpabort()
.
A server group is a resource manager instance and the collection of servers and/or services providing access to that resource manager instance on a particular machine. The XA interface associated with the group is used for transaction management. If a server does not access a resource manager instance or does not access it as part of a distributed transaction, it must be in a server group with a NULL XA interface. Similarly, clients run in a special client group that does not have to be specified in the GROUPS
section. The client group is not associated with a resource manager.
A remote domain is defined to be an environment for which the bulletin board for this Oracle Tuxedo system configuration is not available. Remote domains are not specified in the UBBCONFIG
file, but rather through host-specific environment variables that are specified in host-specific reference pages.
Configuration File Format
A UBBCONFIG
file is made up of nine possible specification sections. Lines beginning with an asterisk (*
) indicate the beginning of a specification section. Each such line contains the name of the section immediately following the *
. Allowable section names are:
The RESOURCES
and MACHINES
sections must be the first two sections and must be included in that order. The GROUPS
section must precede the RMS
, SERVERS
, SERVICES
, and ROUTING
sections. The NETGROUPS
section must precede the NETWORK
section.
Parameters (except in the RESOURCES
section) are generally specified by: KEYWORD
=
value
; white space (space or tab character) is allowed on either side of the equal sign (=
). This format sets KEYWORD
to value
. Valid keywords are described within each section.
Lines beginning with the reserved word DEFAULT
contain parameter specifications that apply to any lines that follow them in the section in which they appear. Default specifications can be used in all sections other than the RESOURCES
section. They can appear more than once in the same section. The format for these lines is:
DEFAULT:
[optional
KEYWORD
=
value
pairs
]
The values set on this line remain in effect until reset by another DEFAULT
line, or until the end of the section is reached. These values can also be overridden on non-DEFAULT
lines by placing the optional parameter setting on the line. If on a non-DEFAULT
line, the parameter setting is valid for that line only; lines that follow revert to the default setting. If DEFAULT
appears on a line by itself, all previously set defaults are cleared and their values revert to the system defaults.
If a value is numeric
, standard C notation is used to denote the base, that is, 0x prefix for base 16 (hexadecimal), 0 prefix for base 8 (octal), and no prefix for base 10 (decimal). The range of acceptable values for a numeric parameter is given under the description of that parameter.
If a value is an identifier
(a string value already known to the Oracle Tuxedo system such as APP_PW
for the SECURITY
parameter), standard C rules are typically used. A standard C identifier
starts with an alphabetic character or underscore and contains only alphanumeric characters or underscores. The maximum allowable length of an identifier is 30 (not including the terminating NULL).
Note: | There is no need to enclose an identifier in double quotes. |
A value that is neither an integer number nor an identifier must be enclosed in double quotes. This value is a user-defined string
. The maximum allowable length of a user-defined string is 78 characters (bytes), not including the terminating NULL. Exceptions to this rule are as follows:
- The
CLOPT
parameter, which can be 1024 characters in length - The
BUFTYPE
,OPENINFO
, andCLOSEINFO
parameters, which can be 256 characters in length - The
TUXCONFIG
,TUXDIR
,APPDIR
,TLOGDEVICE
,ULOGPFX
,ENVFILE
,TMSNAME
,RCMD
,NADDR
,NLSADDR
,FADDR
, andAOUT
(inSERVERS
section) parameters, which can be 256 characters in length as of Oracle Tuxedo release 8.1; string values for these parameters are limited to 78 characters in length for Oracle Tuxedo 8.0 or earlier. - The
SEC_PRINCIPAL_NAME
,SEC_PRINCIPAL_LOCATION
, andSEC_PRINCIPAL_PASSVAR
parameters, which can be 51, 1023, and 31characters in length respectively (not including the terminating NULL) - The
RANGES
parameter, which can be 2048 characters in length (except in Domains, where it can be 4096 characters in length)
In the RANGES
parameter of the ROUTING
section, certain special characters can be escaped inside a string using a backslash.
“\\” translates to a single backslash
“\"” translates to a double quote
“\n” translates to a newline
“\t” translates to a tab
“\f” translates to a formfeed
“\O+” translates to a character whose octal value is O+
where O+
is one, two, or three octal characters. “\0
” translates to an embedded NULL character. “\xH+
” or “\XH+
” translates to a character whose hexadecimal value is H+
where H+
is one or more hexadecimal characters. “\y
” (where ‘y’ is any character other than one of the previously mentioned characters) translates to ‘y’; this produces a warning.
“#
” (pound sign) introduces a comment. A newline ends a comment.
An identifier or a numeric constant must always be followed by white space (space or tab character), a newline character, or a punctuation character (pound sign, equals sign, asterisk, colon, comma, backslash, or period).
Blank lines and comments are ignored.
Comments can be freely attached to the end of any line.
Lines are continued by placing at least one tab after the newline. Comments cannot be continued.
RESOURCES Section
This section provides for user specification of the system-wide resources, such as the number of servers, and services which can exist within a service area. Lines in the RESOURCES
section are of the form: KEYWORD value
where KEYWORD
is the name of the parameter, and value
its associated value. Valid KEYWORDs
are as follows:
AUTOTRAN {Y | N}
N
.
AUTOTRAN
can be specified at two levels in the configuration hierarchy:
RESOURCES
section and
SERVICES
section. When specify it in
RESOURCES
section, it applies to all the application services supplied by this Oracle Tuxedo application whether they are described in
SERVICES
section or not. Once
AUTOTRAN
is specified in both
RESOURCES
and
SERVICES
section for a service, then for that service only,
SERVICES
level
AUTOTRAN
overrides the
RESOURCES
level value.
This parameter only impacts the ATMI interface.
TRANTIME numeric_value
0
and less than
2147483648.
The default is
30
seconds. A value of
0
implies the maximum timeout value for the machine.
TRANTIME
can be specified at two levels in the configuration hierarchy:
RESOURCES
section and
SERVICES
section. When specify it in
RESOURCES
section, it applies to all the services supplied by this Oracle Tuxedo application whether they are described in
SERVICES
section or not. Once
TRANTIME
is specified in both
RESOURCES
and
SERVICES
section for a service, then for that service only,
SERVICES
level
TRANTIME
overrides the
RESOURCES
level value.
This parameter only impacts the ATMI interface.
IPCKEY
numeric_value
IPCKEY
must be greater than 32,768 and less than 262,143. This parameter is required.
MASTER
string_value1
[,string_value2
]
TUXCONFIG
file is found. Also, if the application is being run in
MP
mode,
MASTER
names the machine on which the DBBL should be run.
string_value2
names an alternate
LMID
location used during process relocation and booting. If the primary location is not available, the DBBL is booted at the alternate location and the alternate
TUXCONFIG
file found there is used. Both
LMID
values must name machines found in the
MACHINES
section and must be less than or equal to 30 characters in length. This parameter is required (even in
SHM
mode).
MASTER
and
BACKUP
must always have a release with a number greater than or equal to all other machines in the application. This rule is not enforced during a “Hot Upgrade.”
MODEL
{SHM
| MP
}
SHM
(for shared memory) specifies a single machine configuration; only one machine may be specified in the
MACHINES
section.
MP
specifies a multi-machine configuration;
MP
must be specified if a networked application is being defined. Note: to change
value
without relinking, servers must be built to support the models needed (see
buildserver(1)).
DOMAINID
string_value
DOMAINID
is a character string, it may contain a maximum of 30 characters (including the trailing NULL). If the value of
DOMAINID
is a string of hexadecimal digits, it may contain a maximum of 30 octets. If
DOMAINID
is specified, its value is included, as a parameter (
-C
dom
=
domainid
), in any command output that reports on the processes associated with a particular domain, such as the output of the
ps
command. This comment is useful for an administrator managing multiple domains, who may have some difficulty, without this comment, in interpreting a single output stream that refers to several domains.
UID
numeric_value
RESOURCES
value for this parameter can be overridden in the
MACHINES
section on a per-processor basis.
GID
numeric_value
GID
is not specified, the effective group ID of the user executing
tmloadcf(1) is used. The
RESOURCES
value for this parameter can be overridden in the
MACHINES
section on a per-processor basis.
PERM
numeric_value
RESOURCES
value for this parameter can be overridden in the
MACHINES
section on a per-processor basis.
MAXACCESSERS
numeric_value
RESOURCES
value for this parameter can be overridden in the
MACHINES
section on a per-machine basis.
restartsrv
,
cleanupsrv
,
tmshutdown()
, and
tmadmin()
, need not be accounted for in this value, but the DBBL, all bridge processes, all system-supplied and application server processes, and all potential client processes at a particular site need to be counted. (Examples of system-supplied servers are
AUTHSVR
,
TMQUEUE
,
TMQFORWARD
,
TMUSREVT
,
TMSYSEVT
,
TMS
—see
TMSNAME
parameter in
GROUPS
section,
TMS_QM
,
GWTDOMAIN
, and
WSL
.) If the application is booting workstation listeners (WSLs) at a particular site, both the WSLs and the number of potential workstation handlers (WSHs) that may be booted need to be counted.
Note that for Oracle Tuxedo pre-release 7.1 (6.5 or earlier), both the
MAXACCESSERS
and
MAXSERVERS
parameters for an application play a part in the user license checking scheme. Specifically, a machine is not allowed to boot if the number of
MAXACCESSERS
for that machine + the number of
MAXACCESSERS
for the machine (or machines) already running in the application is greater than the number of
MAXSERVERS
+ user licenses for the application. Thus, the total number of
MAXACCESSERS
for an application must be less than or equal to the number of
MAXSERVERS
+ user licenses for the application.
Note also that the user license checking scheme in Oracle Tuxedo release 7.1 or later considers only the following two factors when performing its checks: the number of user licenses for an application and the number of licenses currently in use for the application. When all user licenses are in use, no new clients are allowed to join the application.
MAXSERVERS
numeric_value
AUTHSVR
,
TMQUEUE
,
TMQFORWARD
,
TMUSREVT
,
TMSYSEVT
,
TMS
(see
TMSNAME
parameter in
GROUPS
section),
TMS_QM
,
GWTDOMAIN
, and
WSL
.
Administration of each Oracle Tuxedo system site adds approximately one system-supplied server. Additionally, the DBBL process and all BBL, bridge, and WSH processes must be accounted for in the
MAXSERVERS
value.
MAXSERVICES
numeric_value
MAXGROUPS
numeric_value
MAXNETGROUPS
numeric_value
NETWORK
section of the
TUXCONFIG
file. This value must be greater than or equal to 1 and less than 8192. If not specified, the default is 8.
MAXMACHINES
numeric_value
MAXQUEUES
numeric_value
MAXSERVERS
. Interoperability with releases prior to 5.0 requires that this value be equal to the configured value for
MAXSERVERS
.
MAXACLGROUPS
numeric_value
TA_MAXACLGROUPS
- 1
. This value must be greater than or equal to 1 and less than or equal to 16,384. If not specified, the default is 16,384.
MAXGTT
numeric_value
RESOURCES
value for this parameter can be overridden in the
MACHINES
section on a per-machine basis.
MAXCONV
numeric_value
SERVERS
section, or 1 otherwise. The maximum number of simultaneous conversations per server is 64. The
RESOURCES
value for this parameter can be overridden in the
MACHINES
section on a per-machine basis.
MAXBUFTYPE
numeric_value
MAXBUFSTYPE
numeric_value
MAXDRT
numeric_value
ROUTING
section entries.
MAXRFT
numeric_value
ROUTING
section entries.
MAXRTDATA
numeric_value
ROUTING
section entries.
RANGES
values in the
ROUTING
section are stored in the string pool. Additional space should be allocated to allow for run-time growth.
MAXSPDATA
numeric_value
MAXSPDATA
parameter to increase the size of the common string pool. Note that adjusting the size of the common string pool has no effect on the size of the of the routing string pool controlled by the
MAXRTDATA
parameter. The two string pools are separate.
Regardless of the value specified for
MAXSPDATA
, the Oracle Tuxedo system will
not allocate an amount of string pool space outside of a system-calculated range based on (1) the strings actually specified in the
TUXCONFIG
file and (2) the amount of space that would be required if all 256-byte capable strings were specified. The
tmloadcf(1)
command will report a warning if the user-specified value is outside of this range and then set the value to the closest acceptable value.
Note that of the
TUXCONFIG
parameters whose maximum allowable length has been increased to 256 bytes, only the
GROUPS
section
TMSNAME
parameter and the
SERVERS
section
AOUT
and
RCMD
parameters are actually stored in the bulletin board. The others are read in at process startup time and stored in process memory.
Note: | If TSAM Event Plug-in is used in Tuxedo application, MAXSPDATA should be configured explicitly for additional TSAM Plug-in event rules storage. For more information, see Oracle TSAM Agent in the Oracle TSAM Administration Guide. |
MAXTRANTIME
numeric_value
MAXTRANTIME
timeout value is less than the
TRANTIME
timeout value specified for an
AUTOTRAN
service or the timeout value passed in a
tpbegin(3c)
call to start a transaction, the timeout for a transaction is reduced to the
MAXTRANTIME
value.
MAXTRANTIME
has no effect on a transaction started on a machine running Oracle Tuxedo 8.0 or earlier software, except that when a machine running Oracle Tuxedo 8.1 or later software is infected by the transaction, the transaction timeout value is capped—reduced if necessary—to the
MAXTRANTIME
value configured for that machine.
Even if the
TRANTIME
value specified in the
SERVICES
section of the
UBBCONFIG
file is greater than the
MAXTRANTIME
value, the
tmloadcf(1)
command loads the configuration without error. Any Oracle Tuxedo 8.1 or later machine infected with the
AUTOTRAN
transaction will automatically reduce the transaction timeout to the
MAXTRANTIME
value configured for that machine.
CMTRET
{COMPLETE
| LOGGED
}
TP_COMMIT_CONTROL
characteristic for all client and server processes in an Oracle Tuxedo system application. If
value
is
LOGGED
, the
TP_COMMIT_CONTROL
characteristic is initialized to
TP_CMT_LOGGED
; otherwise, it is initialized to
TP_CMT_COMPLETE
. If
CMTRET
is not specified, the default is
COMPLETE
. See the description of the Oracle Tuxedo System ATMI function,
tpscmt
, for details on the setting of this characteristic.
LDBAL
{Y
| N
}
LDBAL
is not specified, the default is
Y
. It is recommended that if each service maps to one and only one queue, set
LDBAL
to
N
because load balancing is automatic.
LDBAL
to
Y
, server load balancing is performed automatically. Each interface request is routed to the server with the smallest total load. The routing of a request to a server causes the server’s total to be increased by the
LOAD
factor of the CORBA interface requested.
When load balancing is not activated and multiple servers offer the same CORBA interface, the first available queue receives the request.
SYSTEM_ACCESS
{FASTPATH
| PROTECTED
}[,NO_OVERRIDE
]
FASTPATH
specifies that the internal tables are accessible by Oracle Tuxedo system libraries via unprotected shared memory for fast access.
PROTECTED
specifies that while the internal tables are accessible by Oracle Tuxedo system libraries via shared memory, the shared memory for these tables is
not accessible outside of the Oracle Tuxedo system libraries.
NO_OVERRIDE
can be specified (either alone or in conjunction with
FASTPATH
or
PROTECTED
) to indicate that the mode selected cannot be overridden by an application process using flags available for use with
tpinit(3c) or
TPINITIALIZE(3cbl). If
SYSTEM_ACCESS
is not specified, the default mode is
FASTPATH
.
SYSTEM_ACCESS
to
PROTECTED
may not be effective for multithreaded servers because it is possible that while one thread is executing Oracle Tuxedo code, which means it is attached to the bulletin board, another thread might be executing user code. The Oracle Tuxedo system cannot prevent such situations.
OPTIONS
OPTIONS
{[LAN | SSL | MIGRATE | NO_XA | NO_AA | EXALOGIC | SPINTUNING | RDMA],*
}
LAN
indicates that this is a networked application. The identifier
MIGRATE
indicates that server group migration can be done.
-s
option must be specified.
Note: | If the UBBCONFIG *RESOURCES Section and tlisten SSL settings are not in sync, the application will not boot. |
MIGRATE
is specified,
LAN
should also be specified (except for the case where the configuration runs on a single multiprocessor computer).
The identifier
NO_XA
indicates that XA transactions are not allowed. The identifier
NO_AA
indicates that the auditing and authorization functions will not be called. This parameter is optional, and the default is no options.
If
EXALOGIC
is specified, you can choose another database store for TLOG instead of the default file store.
If
SPINTUNING
is specified, you must also specify
EXALOGIC
. The
SPINTUNING
option allows you to dynamically tune the Spincount value.
Note: | When the SPINTUNING and EXALOGIC options are turned on, the MACHINES Section SPINCOUNT parameter cannot be used. |
RDMA
indicates the Direct Cross Node Communication Leveraging RDMA will be enabled. If
RDMA
is specified in
OPTIONS
,
EXALOGIC
must be also specified.
For more information, see
UBBCONFIG(5) Additional Information, Example 2 Self-Tuning Lock Mechanism.
USIGNAL
{SIGUSR1
| SIGUSR2
}
SIGNAL
-based notification is used. The legal values for this parameter are
SIGUSR1
and
SIGUSR2
.
SIGUSR2
is the default for this parameter.
USIGNAL
may be specified even if
SIGNAL
-based notification is not selected with the
NOTIFY
parameter, because callers of
tpinit()
may choose signal-based notification.
SECURITY
{NONE
| APP_PW
| USER_AUTH
| ACL
| MANDATORY_ACL
}
NONE
. The value
APP_PW
indicates that application password security is to be enforced (clients must provide the application password during initialization). Setting
APP_PW
causes
tmloadcf
to prompt for an application password. The value
USER_AUTH
is similar to
APP_PW
but, in addition, indicates that per-user authentication will be done during client initialization. The value
ACL
is similar to
USER_AUTH
but, in addition, indicates that access control checks will be done on service names, queue names, and event names. If an associated ACL is not found for a name, it is assumed that permission is granted. The value
MANDATORY_ACL
is similar to
ACL
but permission is denied if an associated ACL is not found for the name.
SSL_RENEGOTIATION
numeric_value
AUTHSVC
string_value
SECURITY
identifier be set to
USER_AUTH
,
ACL
, or
MANDATORY_ACL
. (For upward compatibility, setting both
SECURITY APP_PW
and
AUTHSVC
implies
SECURITY USER_AUTH
.) The parameter value must be 127 characters or less in length. For
SECURITY
level
USER_AUTH
, the default service name, if not specified, is
AUTHSVC
. For
SECURITY
level
ACL
or
MANDATORY_ACL
, the default service name, if not specified, is
..AUTHSVC
.
AUTHSVR
, advertises the authentication service as
AUTHSVC
when
SECURITY
is set to
USER_AUTH
, and as
..AUTHSVC
when
SECURITY
is set to
ACL
or
MANDATORY_ACL
.
AUTHSVC
and
..AUTHSVC
point to the same authentication service.
Note also that string values
AUTHSVC
and
..AUTHSVC
are
identifiers, meaning that there is no need to surround
AUTHSVC
or
..AUTHSVC
with double quotes.
SCANUNIT
numeric_value
tpbegin()
and the blocking timeout value specified with the
BLOCKTIME
parameter. The
SANITYSCAN
,
BBLQUERY
,
DBBLWAIT
, and
BLOCKTIME
parameters are multipliers of this unit for other timed operations within the system.
SCANUNIT
must be a multiple of 2 or 5 greater than 0 and less than or equal to 60 seconds. The default is 10 seconds.
SANITYSCAN
numeric_value
SCANUNIT
between sanity checks of the system. The value
SCANUNIT
must be greater than 0. If this parameter is not specified, the default is set so that (
SCANUNIT
*
SANITYSCAN
) is approximately 120 seconds. Sanity checks include checking servers as well as the bulletin board data structure itself. Each BBL checks that all servers on its machine are viable; that is, the server hasn't terminated abnormally and is not looping. Processes deemed not viable are either cleaned up, or restarted depending on the options with which they were started. Following that, the BBL sends a message (without reply) to the DBBL to indicate it is okay.
DBBLWAIT
numeric_value
SCANUNIT
for the maximum amount of wall time a DBBL should wait for replies from all its BBLs before timing out. Every time the DBBL forwards a request to its BBLs, it waits for all of them to reply with a positive acknowledgment before replying to the requester. This option can be used for noticing dead or insane BBLs in a timely manner. The value of
DBBLWAIT
must be greater than 0. If this parameter is not specified, the default is set so that (
SCANUNIT
*
DBBLWAIT
) is the greater of
SCANUNIT
or 20 seconds.
BBLQUERY
numeric_value
SCANUNIT
between status checks by the DBBL of all BBLs. The DBBL checks to ensure that all BBLs have reported in within the
BBLQUERY
cycle. If a BBL has not been heard from, the DBBL sends a message to that BBL asking for status. If no reply is received, the BBL is partitioned. The value of
BBLQUERY
must be greater than 0. If this parameter is not specified, the default is set so that (
SCANUNIT
*
BBLQUERY
) is approximately 300 seconds.
BLOCKTIME
numeric_value
SCANUNIT
after which a blocking call (for example, receiving a reply) times out. The value of
BLOCKTIME
must be greater than 0. If this parameter is not specified, the default is set so that (
SCANUNIT * BLOCKTIME
) is approximately 60 seconds.
NOTIFY
{DIPIN
| SIGNAL
| THREAD
| IGNORE
}
tpinit()
flag value. Note that once unsolicited messages are detected, they are made available to the application through the application-defined unsolicited message handling routine identified via the
tpsetunsol()
function (
tpnotify()
).
DIPIN
specifies that dip-in-based notification detection should be used. This means that the system will only detect notification messages on behalf of a client process while within ATMI calls. The point of detection within any particular ATMI call is not defined by the system and dip-in detection will not interrupt blocking system calls.
DIPIN
is the default notification detection method.
The value
SIGNAL
specifies that signal-based notification detection should be used. This means that the system sends a signal to the target client process after the notification message has been made available. The system installs a signal catching routine on behalf of clients selecting this method of notification.
All signaling of native client processes is done by administrative system processes and not by application processes. Therefore, only native clients running with the same UNIX system user identifier as the application administrator can be notified using the
SIGNAL
method. Workstation clients may use the
SIGNAL
method, regardless of which user identifier they are running under.
Note: | The SIGNAL notification method is not available for MS-DOS clients, and is not available for multithreaded or multicontexted clients. |
THREAD
specifies that
THREAD
notification detection should be used. This means that the system dedicates a separate thread for the receipt of unsolicited messages and dispatches the unsolicited message handler in that thread. Only one unsolicited message handler executes at one time per Oracle Tuxedo application association. This value is allowed only on platforms that offer support for multi-threading. COBOL clients cannot use
THREAD
notification. Clients that are written in COBOL or that run on a platform on which threads are not supported will have their notification method changed to
DIPIN
if they accept the
UBBCONFIG
default notification method and the
UBBCONFIG
default notification method is
THREAD
. In contrast, if such a client specifies thread notification explicitly in the parameters to
tpinit()
or
TPINITIALIZE()
, the call to this function will return an error.
The value
IGNORE
specifies that by default notification messages are to be ignored by application clients. This would be appropriate in applications where only clients that request notification at
tpinit()
time should receive unsolicited messages.
SEC_PRINCIPAL_NAME
string_value
[0..511]
SEC_PRINCIPAL_NAME
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVERS
section. A principal name at a particular configuration level can be overridden at a lower level. If
SEC_PRINCIPAL_NAME
is not specified at any of these levels, the principal name for the application defaults to the
DOMAINID
string specified in the
RESOURCES
section for this application.
Note that
SEC_PRINCIPAL_NAME
is one of a trio of parameters, the other two being
SEC_PRINCIPAL_LOCATION
and
SEC_PRINCIPAL_PASSVAR
. The latter two parameters pertain to opening decryption keys during application booting for the system processes running in an Oracle Tuxedo 7.1 or later application. When only
SEC_PRINCIPAL_NAME
is specified at a particular level, the system sets each of the other two parameters to a
NULL
(zero length) string.
SEC_PRINCIPAL_LOCATION
string_value
[0..1023]
SEC_PRINCIPAL_NAME
resides. This parameter may contain a maximum of 1023 characters (excluding the terminating NULL character).
SEC_PRINCIPAL_LOCATION
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVERS
section. When specified at any of these levels, this parameter must be paired with the
SEC_PRINCIPAL_NAME
parameter; otherwise, its value is ignored. (
SEC_PRINCIPAL_PASSVAR
is optional; if not specified, the system sets it to a
NULL
—zero length—string.)
SEC_PRINCIPAL_PASSVAR
string_value
[0..31]
SEC_PRINCIPAL_NAME
is stored. This parameter may contain a maximum of 31 characters (excluding the terminating NULL character).
SEC_PRINCIPAL_PASSVAR
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVERS
section. When specified at any of these levels, this parameter must be paired with the
SEC_PRINCIPAL_NAME
parameter; otherwise, its value is ignored. (
SEC_PRINCIPAL_LOCATION
is optional; if not specified, the system sets it to a
NULL
—zero length—string.)
During initialization, the administrator must provide the password for each of the decryption keys configured with
SEC_PRINCIPAL_PASSVAR
. (
tmloadcf(1) prompts for the password.) The system automatically encrypts the password entered by the administrator and assigns each encrypted password to the associated password variable.
SIGNATURE_AHEAD
numeric_value
(1 <= num
<= 2147483647)
SIGNATURE_BEHIND
numeric_value
(1 <= num
<= 2147483647)
SIGNATURE_REQUIRED
{Y
| N
}
N
. This parameter applies only to applications running Oracle Tuxedo 7.1 or later software.
SIGNATURE_REQUIRED
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVICES
section. Setting
SIGNATURE_REQUIRED
to
Y
at a particular level means that signatures are required for all processes running at that level or below.
ENCRYPTION_REQUIRED
{Y
| N
}
N
. This parameter applies only to applications running Oracle Tuxedo 7.1 or later software.
ENCRYPTION_REQUIRED
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVICES
section. Setting
ENCRYPTION_REQUIRED
to
Y
at a particular level means that encryption is required for all processes running at that level or below.
MACHINES Section
The MACHINES
section specifies the logical names for physical machines for the configuration. It also specifies parameters specific to a given machine. The MACHINES
section must contain an entry for each physical processor used by the application. Entries have the form:
ADDRESS
required_parameters
[optional_parameters
]
where ADDRESS
is the physical name of a processor, for example, the value produced by the UNIX system uname -n
command. On a Windows system, the value can be set using the Computer Name value in the Network Control Panel and must be specified in upper case. The length of the entire ADDRESS must be 30 characters or less. If the name is not an identifier, it must be enclosed in double quotes.
If the LAN
option is not specified, only one machine name can appear in this section. One of the required KEYWORD
s is LMID
, which is the logical machine string_value
assigned to the physical machine. An LMID
string_value
must be unique within the MACHINES
section of the configuration file.
LMID
=
string_value
string_value
is to be used in other sections as the symbolic name for
ADDRESS
. This name cannot contain a comma, and must be 30 characters or less. This parameter is required. There must be an
LMID
line for every machine used in a configuration.
These parameters are required:
TUXCONFIG
=
string_value
[2..256] (up to 64 bytes for Oracle Tuxedo 8.0 or earlier)
TUXCONFIG
file is found on this machine. The administrator need only maintain one
TUXCONFIG
file, namely the one that is pointed to by the
TUXCONFIG
environment variable on the
MASTER
machine. Copies on other machines of this master
TUXCONFIG
file are synchronized with the
MASTER
machine automatically when the system is booted. This parameter must be specified for each machine. If
TUXOFFSET
is specified, the Oracle Tuxedo filesystem starts at that number of blocks from the beginning of the
TUXCONFIG
device (see
TUXOFFSET
below). See
ENVFILE
in the
MACHINES
section for a discussion of how this value is used in the environment.
Note: | The pathname specified for this parameter must match exactly (including case) the pathname specified for the TUXCONFIG environment variable. Otherwise, tmloadcf(1) cannot be run successfully. |
TUXDIR
=
string_value
[2..256] (up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
TUXDIR
should not be on a remote filesystem. If the machines of a multiprocessor application have different Oracle Tuxedo system releases installed, check the
Oracle Tuxedo Release Notes for the higher level release to make sure you will get the functionality you expect. See
ENVFILE
in the
MACHINES
section for a discussion of how this value is used in the environment.
APPDIR
=
string_value
[2..256] (up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
SECURITY
is set, each application must have its own distinct
APPDIR
. See
ENVFILE
in the
MACHINES
section for a discussion of how this value is used in the environment.
UID
=
number
RESOURCES
section.
GID
=
number
RESOURCES
section.
PERM
=
number
RESOURCES
section.
BRTHREADS
=
{Y
| N
}
Y
) or single-threaded execution (
N
). The default is
N
. This parameter applies only to applications running Oracle Tuxedo 8.1 or later software.
BRTHREADS
to
Y
makes sense only if a machine has multiple CPUs. However, having multiple CPUs is not a prerequisite for setting
BRTHREADS
to
Y
.
Configurations with
BRTHREADS
set to
Y
on the local machine and
BRTHREADS
set (or defaulted) to
N
on the remote machine are allowed, but the throughput between the machines will not be greater than that for the single-threaded Bridge process.
A Bridge process configured for single-threaded or multithreaded execution can interoperate with a Bridge process running in an earlier release of Oracle Tuxedo or WebLogic Enterprise: Oracle Tuxedo release 8.0 or earlier, WebLogic Enterprise release 5.1 or earlier. In general, a threaded Bridge can interoperate with an unthreaded Bridge because there are no external functional or behavioral changes due to the threading.
Note: | If BRTHREADS=Y and the Bridge environment contains TMNOTHREADS=Y , the Bridge starts up in threaded mode and logs a warning message to the effect that the Bridge is ignoring the TMNOTHREADS setting. The TMNOTHREADS environment variable was added to the Oracle Tuxedo product in release 8.0. |
MAXACCESSERS
=
number
MAXACCESSERS
value specified in the
RESOURCES
section.
restartsrv
,
cleanupsrv
,
tmshutdown()
, and
tmadmin()
, need not be accounted for in this value, but the DBBL, all bridge processes, all system-supplied and application server processes, and all potential client processes at this site need to be counted. (Examples of system-supplied servers are
AUTHSVR
,
TMQUEUE
,
TMQFORWARD
,
TMUSREVT
,
TMSYSEVT
,
TMS
—see
TMSNAME
parameter in
GROUPS
section,
TMS_QM
,
GWTDOMAIN
, and
WSL
.) If the application is booting workstation listeners (WSLs) at this site, both the WSLs and the number of potential workstation handlers (WSHs) that may be booted need to be counted.
Note that for Oracle Tuxedo pre-release 7.1 (6.5 or earlier), both the
MAXACCESSERS
and
MAXSERVERS
(see
MAXSERVERS
in
RESOURCES
section) parameters for an application play a part in the user license checking scheme. Specifically, a machine is not allowed to boot if the number of
MAXACCESSERS
for that machine + the number of
MAXACCESSERS
for the machine (or machines) already running in the application is greater than the number of
MAXSERVERS
+ user licenses for the application. Thus, the total number of
MAXACCESSERS
for an application must be less than or equal to the number of
MAXSERVERS
+ user licenses for the application.
Note also that the user license checking scheme in Oracle Tuxedo release 7.1 or later considers only the following two factors when performing its checks: the number of user licenses for an application and the number of licenses currently in use for the application. When all user licenses are in use, no new clients are allowed to join the application.
MAXWSCLIENTS
=
number
MAXACCESSERS
, meaning that the accesser slots reserved for
MAXWSCLIENTS
are unavailable for use by other clients and servers on this machine. It is an error to set this number greater than
MAXACCESSERS
.
The
MAXWSCLIENTS
parameter is only used when the Oracle Tuxedo system Workstation feature is used. The appropriate setting of this parameter helps to conserve interprocess communication (IPC) resources since Workstation client access to the system is multiplexed through an Oracle Tuxedo system-supplied surrogate, the workstation handler (WSH).
MAXACLCACHE
=
number
SECURITY
is set to
ACL
or
MANDATORY_ACL
. The appropriate setting of this parameter helps to conserve on shared memory resources and yet reduce the number of disk access to do ACL checking. This value must be greater than or equal to 10 and less than or equal to 32,000. The default is 100.
MAXCONV
=
number
MAXCONV
value specified in the
RESOURCES
section. The maximum number of simultaneous conversations per server is 64.
MAXPENDINGBYTES
=
number
number
must be between 100,000 and
MAXLONG
.
MAXGTT
=
number
RESOURCES
section.
TYPE
=
string_value
TYPE
can be set to any string value that is 15 characters or less. If two machines have the same
TYPE
value, data encoding/decoding is bypassed when sending data between the machines.
TYPE
can be given any string value. It is used simply for comparison. The
TYPE
parameter should be used when the application involves a heterogeneous network of machines or when different compilers are used on the machines in the network. If not specified, the default is the NULL string, which matches any other entry that does not have a value specified.
CMPLIMIT
=
string_value1
[,
string_value2
]
string_value1
) and local processes (
string_value2
) respectively, at which automatic data compression will take place. Both values must be either a non-negative numeric value or the string
MAXLONG
. If not specified, the default for this parameter is
MAXLONG
.
NETLOAD
=
numeric_value
RDMADAEMONIP = string_value[0...128]
Msgq_daemon
is bound. It must be configured if Direct Cross Node Communication Leveraging RDMA is enabled, and must be an IPOIB address (not the Ethernet based IP address). One logic machine must have one
Msgq_daemon
.
RDMADAEMONPORT = number
Msgq_daemon
listens on, it must be configured if Direct Cross Node Communication Leveraging RDMA is enabled. The number must be between 1 and 65536.
RDMAQSIZE = number
RDMAQENTRIES = number
SPINCOUNT
=
numeric_value
TMSPINCOUNT
environment variable to be ignored. This varies from platform to platform. The default for this parameter is 0.
Note: | When the RESOURCE section OPTIONS SPINTUNING and EXALOGIC are turned on, the SPINCOUNT parameter cannot be used. |
SPINTUNING_FACTOR =
numeric_value
SPINCOUNT
to meet the larger value
SPINTUNING_FACTOR
; as a result, CPU usage increases.
Note: | Can only be used when the RESOURCE section OPTIONS SPINTUNING and EXALOGIC are turned on. |
SPINTUNING_FACTOR
value must be greater than or equal to "0" and less than or equal to "10000". A value of 0 (the default value) indicates that the value built into the delivered binary should be used.
For more information, see
UBBCONFIG(5) Additional Information, Example 2 Self-Tuning Lock Mechanism.
SPINTUNING_MINIDLECPU =
numeric_value
Note: | Can only be used when the RESOURCE section OPTIONS SPINTUNING and EXALOGIC are turned on. |
SPINTUNING_MINIDLECPU
value must be greater than or equal to "0" and less than or equal to "100". A value of 0 (the default value) indicates that the value built into the delivered binary should be used.
For more information, see
UBBCONFIG(5) Additional Information, Example 2 Self-Tuning Lock Mechanism.
TLOGDEVICE
=
string_value
[0..256]
(up to 64 bytes for Oracle Tuxedo 8.0 or earlier)
TLOG
) for this machine. The
TLOG
is stored as an Oracle Tuxedo system VTOC table on the device. If this parameter is not specified, the machine is assumed to not have a
TLOG
.
TLOGDEVICE
string to connect to an Oracle database:
TLOGDEVICE="DB:Oracle_XA: Oracle_XA+Acc=P/Scott/*****+SesTm=30+LogDit=/tmp"
Oracle_XA
is the published name of the Oracle XA interface. The series of five asterisks (*) in the
TLOGDEVICE
string pertains to the encrypting of a password.
TLOGOFFSET
=
offset
TLOGNAME
=
string_value
TLOG
. If more than one
TLOG
exists on the same
TLOGDEVICE
, they must have unique names.
TLOGNAME
must be different from the name of any other table on the configuration where the
TLOG
table is created. It must be 18 characters or less.
TLOGNAME
must not be empty. If the TLOGs are stored in the same schema on the same database, the
TLOGNAME
must be unique for each log. You must make sure that there are no other programs using the table name
TLOGNAME
.
TLOGSIZE
=
size
ULOGPFX
=
string_value
[0..256]
(up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
ULOGPFX
for a given machine is used to create the
userlog(3c) message file for all servers, clients, and administrative processes executed on that machine. If this parameter is not specified,
$APPDIR/ULOG
is used. “
mmddyy
” (month, day, year) is appended to the prefix to get the actual log filename.
TUXOFFSET
=
offset
TUXCONFIG
file for this machine. The offset must be greater than or equal to 0 and less than the number of pages on the device. The default offset is 0. The value of
TUXOFFSET
, if non-zero, is placed in the environment of all servers booted on a machine. See
ENVFILE
in the
MACHINES
section for a discussion of how this value is used in the environment.
ENVFILE
=
string_value
[0..256]
(up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
=
value
where
ident
begins with an underscore or alphabetic character, and contains only underscore or alphanumeric characters. Within the
value
, strings of the form ${
env
} are expanded when the file is processed using variables already in the environment. (Forward referencing is not supported and if a value is not set, the variable is replaced with the empty string). Backslash (\) may be used to escape the dollar sign and itself. All other shell quoting and escape mechanisms are ignored and the expanded
value
is placed into the environment.
MACHINES
ENVFILE
during
tpinit()
.
When booting servers, local servers inherit the environment of
tmboot(1) and remote servers (not on the
MASTER
) inherit the environment of
tlisten(1).
TUXCONFIG
,
TUXDIR
, and
APPDIR
are also put into the environment when a server is booted based on the information in the associated
MACHINES
entry. An attempt to reset these three variables to another value will not be allowed and will result in a warning.
tmboot
and
tlisten
process the machine
ENVFILE
before starting the server, allowing for the environment to indicate necessary pathnames for finding executable and dynamically loaded files. Once the server is running, as part of server initialization (before the application gets control in
tpsvrinit()
), a server will read and export variables from both the machine and server
ENVFILE
files. If a variable is set in both the machine and server
ENVFILE
, the value in the server
ENVFILE
will override the value in the machine
ENVFILE
.
PATH
and
LD_LIBRARY_PATH
are treated specially. Before a server is activated, the machine
ENVFILE
is scanned to find the first occurrence of a
PATH
or
LD_LIBRARY_PATH
variable; embedded environment variables within either
PATH
variable are not expanded.
PATH
and
LD_LIBRARY_PATH
are used to find pathnames for executable and dynamically loaded files.
PATH
will always be prefixed with:
${APPDIR}:${TUXDIR}/bin:/bin:
if the value doesn't already begin with this string. This
PATH
will be used as a search path for servers that are specified with a simple or relative pathname.
LD_LIBRARY_PATH
will always be prefixed with:
${APPDIR}:${TUXDIR}/lib:/lib:/usr/lib:
if the value doesn't already begin with this string.
SHLIB_PATH
is set on HPUX and
LIBPATH
is set on AIX instead of
LD_LIBRARY_PATH
.
SEC_PRINCIPAL_NAME
=
string_value
[0..511]
SEC_PRINCIPAL_NAME
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVERS
section. A principal name at a particular configuration level can be overridden at a lower level. If
SEC_PRINCIPAL_NAME
is not specified at any of these levels, the principal name for the application defaults to the
DOMAINID
string specified in the
RESOURCES
section for this application.
Note that
SEC_PRINCIPAL_NAME
is one of a trio of parameters, the other two being
SEC_PRINCIPAL_LOCATION
and
SEC_PRINCIPAL_PASSVAR
. The latter two parameters pertain to opening decryption keys during application booting for the system processes running in an Oracle Tuxedo 7.1 or later application. When only
SEC_PRINCIPAL_NAME
is specified at a particular level, the system sets each of the other two parameters to a
NULL
(zero length) string.
SEC_PRINCIPAL_LOCATION
=
string_value
[0..1023]
SEC_PRINCIPAL_NAME
resides. This parameter may contain a maximum of 1023 characters (excluding the terminating NULL character).
SEC_PRINCIPAL_LOCATION
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVERS
section. When specified at any of these levels, this parameter must be paired with the
SEC_PRINCIPAL_NAME
parameter; otherwise, its value is ignored. (
SEC_PRINCIPAL_PASSVAR
is optional; if not specified, the system sets it to a
NULL
—zero length—string.)
SEC_PRINCIPAL_PASSVAR
=
string_value
[0..31]
SEC_PRINCIPAL_NAME
is stored. This parameter may contain a maximum of 31 characters (excluding the terminating NULL character).
SEC_PRINCIPAL_PASSVAR
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVERS
section. When specified at any of these levels, this parameter must be paired with the
SEC_PRINCIPAL_NAME
parameter; otherwise, its value is ignored. (
SEC_PRINCIPAL_LOCATION
is optional; if not specified, the system sets it to a
NULL
—zero length—string.)
During initialization, the administrator must provide the password for each of the decryption keys configured with
SEC_PRINCIPAL_PASSVAR
. (
tmloadcf(1) prompts for the password.) The system automatically encrypts the password entered by the administrator and assigns each encrypted password to the associated password variable.
SIGNATURE_REQUIRED
=
{Y
| N
}
N
. This parameter applies only to applications running Oracle Tuxedo 7.1 or later software.
SIGNATURE_REQUIRED
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVICES
section. Setting
SIGNATURE_REQUIRED
to
Y
at a particular level means that signatures are required for all processes running at that level or below.
ENCRYPTION_REQUIRED
=
{Y
| N
}
N
. This parameter applies only to applications running Oracle Tuxedo 7.1 or later software.
ENCRYPTION_REQUIRED
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVICES
section. Setting
ENCRYPTION_REQUIRED
to
Y
at a particular level means that encryption is required for all processes running at that level or below.
SICACHEENTRIESMAX
= string_value
Note: | Unlike the corresponding attribute in the SERVERS section, this parameter cannot take the string DEFAULT as a valid value. |
GROUPS Section
This section provides information about server groups. This section must have at least one server group defined in it (which can be added via tmconfig, wtmconfig(1)
after the TUXCONFIG
file has been created). A server group entry provides a logical name for a collection of servers and/or services on a machine. The logical name is used as the value of the SRVGRP
parameter in the SERVERS
section to identify a server as part of this group. SRVGRP
is also used in the SERVICES
section to identify a particular instance of a service with its occurrences in the group. Other GROUPS
parameters associate this group with a specific resource manager instance (for example, the employee database). Lines within the GROUPS
section have the form:
GROUPNAME
required_parameters
[optional_parameters
]
where GROUPNAME
specifies the logical name (string_value
) of the group. The group name must be unique within all group names in the GROUPS
section and LMID
values in the MACHINES
section and cannot contain an asterisk (*), comma, or colon. It must be 30 characters or less.
LMID
=
string_value1
[,
string_value2
]
string_value1
in the
MACHINES
section (or the default in
SHM
mode). Each LMID value must be 30 characters or less. Up to two logical machine names can be specified. The second logical name, if given and if server group migration is enabled, indicates the machine to which the server group can be migrated.
GRPNO
=
number
GROUPS
section.
TMSNAME
=
string_value
[0..256]
(up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
a.out
associated with this group. This parameter must be specified for any group entry whose servers will participate in distributed transactions (transactions across multiple resource managers—and possibly machines—that are started with
tpbegin()
, and ended with
tpcommit()
/
tpabort()
). It specifies the file (
string_value
) to be executed by
tmboot(1) when booting the server group. The value
TMS
is reserved to indicate use of the NULL XA interface. If a non-empty value other than
TMS
is specified, a
TLOGDEVICE
must be specified for the machine(s) associated with the
LMID
value(s) for this entry. A unique server identifier is selected automatically for each TM server, and the servers will be restartable an unlimited number of times.
ENVFILE
=
string_value
[0..256]
(up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
=
value
where ident contains only underscore or alphanumeric characters. Within the
value
, strings of the form
${
env
}
are expanded when the file is processed using variables already in the environment. (Forward referencing is not supported and if a value is not set, the variable is replaced with an empty string.) A backslash (\) may be used to escape the dollar sign and itself. All other shell quoting and escape mechanisms are ignored and the expanded
value
is placed in the environment.
ENVFILE
is read after the
MACHINES
section
ENVFILE
(if one exists) and before the
SERVERS
section
ENVFILE
(if one is specified).
TMSCOUNT
=
number
TMSNAME
is specified. This parameter is optional and the default is 3. If specified and the value is non-zero, the minimum value is 2 and the maximum value is
256
. It is recommended to set
TA_TMSCOUNT
to less than
11
to save resources. The servers are set up in an MSSQ set automatically.
SEC_PRINCIPAL_NAME
=
string_value
[0..511]
SEC_PRINCIPAL_NAME
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVERS
section. A principal name at a particular configuration level can be overridden at a lower level. If
SEC_PRINCIPAL_NAME
is not specified at any of these levels, the principal name for the application defaults to the
DOMAINID
string specified in the
RESOURCES
section for this application.
Note that
SEC_PRINCIPAL_NAME
is one of a trio of parameters, the other two being
SEC_PRINCIPAL_LOCATION
and
SEC_PRINCIPAL_PASSVAR
. The latter two parameters pertain to opening decryption keys during application booting for the system processes running in an Oracle Tuxedo 7.1 or later application. When only
SEC_PRINCIPAL_NAME
is specified at a particular level, the system sets each of the other two parameters to a
NULL
(zero length) string.
SEC_PRINCIPAL_LOCATION
=
string_value
[0..1023]
SEC_PRINCIPAL_NAME
resides. This parameter may contain a maximum of 1023 characters (excluding the terminating NULL character).
SEC_PRINCIPAL_LOCATION
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVERS
section. When specified at any of these levels, this parameter must be paired with the
SEC_PRINCIPAL_NAME
parameter; otherwise, its value is ignored. (
SEC_PRINCIPAL_PASSVAR
is optional; if not specified, the system sets it to a
NULL
—zero length—string.)
SEC_PRINCIPAL_PASSVAR
=
string_value
[0..31]
SEC_PRINCIPAL_NAME
is stored. This parameter may contain a maximum of 31 characters (excluding the terminating NULL character).
SEC_PRINCIPAL_PASSVAR
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVERS
section. When specified at any of these levels, this parameter must be paired with the
SEC_PRINCIPAL_NAME
parameter; otherwise, its value is ignored. (
SEC_PRINCIPAL_LOCATION
is optional; if not specified, the system sets it to a
NULL
—zero length—string.)
During initialization, the administrator must provide the password for each of the decryption keys configured with
SEC_PRINCIPAL_PASSVAR
. (
tmloadcf(1) prompts for the password.) The system automatically encrypts the password entered by the administrator and assigns each encrypted password to the associated password variable.
SIGNATURE_REQUIRED
=
{Y
| N
}
N
. This parameter applies only to applications running Oracle Tuxedo 7.1 or later software.
SIGNATURE_REQUIRED
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVICES
section. Setting
SIGNATURE_REQUIRED
to
Y
at a particular level means that signatures are required for all processes running at that level or below.
ENCRYPTION_REQUIRED
=
{Y
| N
}
N
. This parameter applies only to applications running Oracle Tuxedo 7.1 or later software.
ENCRYPTION_REQUIRED
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVICES
section. Setting
ENCRYPTION_REQUIRED
to
Y
at a particular level means that encryption is required for all processes running at that level or below.
OPENINFO
=
string_value
TMSNAME
parameter for this group is
not set or is set to
TMS
. If the
TMSNAME
parameter is set to a value other than
TMS
but the
OPENINFO
string is set to the NULL string (
""
) or is not specified, a resource manager exists for the group but does not require any information for executing an
open
operation.
The format of the
OPENINFO
string is dependent on the requirements of the vendor providing the underlying resource manager. The information required by the vendor must be prefixed with the published name of the vendor's transaction (XA) interface followed immediately by a colon (
:
).
For Oracle Tuxedo /Q databases, the format is:
# On UNIX #
OPENINFO
=
"TUXEDO/QM:
qmconfig
:
qspace
"
# On Windows #
OPENINFO
=
"TUXEDO/QM:
qmconfig
;
qspace
"
where
TUXEDO/QM
is the published name of the Oracle Tuxedo /Q XA interface,
qmconfig
is replaced with the name of the
QMCONFIG
(see
qmadmin(1)) on which the queue space resides, and
qspace
is replaced with the name of the queue space. For Windows, the separator after
qmconfig
must be a semicolon (
;
).
For other vendors’ databases, the format of the
OPENINFO
string is specific to the particular vendor providing the underlying resource manager. As an example, the following
OPENINFO
string demonstrates the type of information needed when opening the Oracle resource manager.
OPENINFO="Oracle_XA: Oracle_XA+Acc=P/Scott/*****+SesTm=30+LogDit=/tmp"
Oracle_XA
is the published name of the Oracle XA interface. The series of five asterisks (*) in the
OPENINFO
string pertains to the encrypting of a password, which is described in the paragraphs that follow.
Passwords passed to a resource manager in the
OPENINFO
string can be stored in either clear text or encrypted form. To encrypt a password, first enter a series of five or more continuous asterisks in the
OPENINFO
string at the place where you want the password to go. Then load the
UBBCONFIG
file by running
tmloadcf(1). When
tmloadcf()
encounters the string of asterisks, it prompts you to create a password. For example:
tmloadcf -y
/usr5/apps/
bankapp/myubbconfig
Password for OPENINFO (SRVGRP=BANKB3):
password
tmloadcf(1) stores the password in the
TUXCONFIG
file in encrypted form. If you then regenerate the
UBBCONFIG
file from the
TUXCONFIG
file using
tmunloadcf()
, the password is printed in the regenerated
UBBCONFIG
file in encrypted form with
@@
as delimiters. For example:
OPENINFO="Oracle_XA: Oracle_XA+Acc=P/Scott/@@A0986F7733D4@@+SesTm=30+LogDit=/tmp"
When
tmloadcf()
encounters an encrypted password in a
UBBCONFIG
file generated by
tmunloadcf()
, it does not prompt the user to create a password.
CLOSEINFO
=
string_value
CLOSEINFO
string is not used for Oracle Tuxedo /Q databases.
TMSNAME
parameter for this group is
not set or is set to
TMS
. If the
TMSNAME
parameter is set to a value other than
TMS
but the
CLOSEINFO
string is set to the NULL string (
""
) or is not specified, a resource manager exists for the group but does not require any information for executing a
close
operation.
The format of the
CLOSEINFO
string is dependent on the requirements of the vendor providing the underlying resource manager. The information required by the vendor must be prefixed with the published name of the vendor's transaction (XA) interface followed immediately by a colon (
:
).
MRM = {Y | N}
N
. Only when defined
MRM=Y
, then an entry in
*RMS
section can specify one RM for this server group. If define
MRM=Y
for a server group which group number is SRVGRP, then besides this server group, an series of implicit server groups which group numbers from SRVGRP+1 to SRVGRP+31 inclusive will be occupied. That means the users can't define any other server groups which group number is between SRVGRP+1 SRVGRP+31 inclusive.
RMS Section
This section provides RMs information used to support multiple RMs for one server group using MRM=Y
. This allows the application server in a group to establish multiple connections with different RMs during one transaction. In the RMS section, each entry describes one RM for a server group. If the group requires multiple RMs support, multiple entries must be specified in this section. The general format for entries in this section is:
RMSNAME required_parameters [optional_parameters]
where RMSNAME specifies the logical name of the RMS entry. This name must be unique within all entry names in the RMS section and cannot contain an asterisk (*), comma, or colon. It must be 30 characters or less.
Listing 8 provides a multiple RMS configuration example. This example specifies three RMs for the server group GROUP1. So the application server of GROUP1 can establish three connections to MRM1 and MRM2 and a default connection which is specified in GROUP section.
…
*GROUPS
# Default RM must be configured in here.
GROUP1 LMID=simple GRPNO=7 TMSNAME=ORATMS TMSCOUNT=2
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/scott/tiger+sqlNet=tsam+SesTm=600+MaxCur=5+LogDir=. "
CLOSEINFO=NONE MRM=Y
GROUP2 LMID=simple GRPNO=39
……
*RMS
MRM1 RMID=1 SRVGRP=GROUP1
TMSNAME=ORATMS1 TMSCOUNT=2 AUTO=Y
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/scott/tiger+sqlNet=tsam+SesTm=600+MaxCur=5+LogDir=. "
CLOSEINFO=NONE
MRM2 RMID=2 SRVGRP=GROUP1
TMSNAME=ORATMS2 TMSCOUNT=3 AUTO=N
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/scott/tiger+sqlNet=orac+SesTm=600+MaxCur=5+LogDir=. "
CLOSEINFO=NONE
…..
*SERVERS
…..
SRVGRP = string_value
*GROUPS
section. It must be 30 characters or less. This association with an entry in the GROUP section means that all the application servers in this group can establish the connection with this RM. It also specifies that all the parameters which are defined in the group entry will pass to this entry, for example,
ENVFILE
,
SEC_PRINCIPAL_NAME
,
SEC_PRINCIPAL_LOCATION
,
SEC_PRINCIPAL_PASSVAR
,
SIGNATURE_REQUIRED
and
ENCRYP_REQUIRED
. All RMS entries must have a server group parameter specified.
RMID = number
TMSNAME = string_value[0..256]
tpbegin()
, and ended with
tpcommit()
/
tpabort()
). It specifies the file (
string_value
) to be executed by
tmboot(1)
when booting the server group. The value TMS is reserved to indicate use of the
NULL XA
interface. If a non-empty value other than TMS is specified, a
TLOGDEVICE
must be specified for the machine(s) associated with the
LMID
value(s) in the associated group entry. A unique server identifier is selected automatically for each TM server, and the servers will be restartable an unlimited number of times.
TMSCOUNT = number
TMSNAME
is specified. This parameter is optional and the default is 3. If specified and the value is non-zero, the minimum value is 2 and the maximum value is 256. The servers are set up in an MSSQ set automatically.
OPENINFO = string_value
TMSNAME
parameter for this group is not set or is set to
TMS
. If the
TMSNAME
parameter is set to a value other than
TMS
but the
OPENINFO
string is set to the
NULL
string (
""
) or is not specified, a resource manager exists for the group but does not require any information for executing an open operation. The format of the
OPENINFO
string is dependent on the requirements of the vendor providing the underlying resource manager. The information required by the vendor must be prefixed with the published name of the vendor's transaction (XA) interface followed immediately by a colon (:). For Oracle Tuxedo /Q databases, the format is:
# On UNIX #
OPENINFO = "TUXEDO/QM:qmconfig:qspace"
# On Windows #
OPENINFO = "TUXEDO/QM:qmconfig;qspace"
where
TUXEDO/QM
is the published name of the Oracle Tuxedo /Q XA interface, qmconfig is replaced with the name of the
QMCONFIG
(see
qmadmin(1)
) on which the queue space resides, and qspace is replaced with the name of the queue space. For Windows, the separator after qmconfig must be a semicolon (;). For other vendors' databases, the format of the
OPENINFO
string is specific to the particular vendor providing the underlying resource manager. As an example, the following
MOPENINFO
string demonstrates the type of information needed when opening the Oracle resource manager.
The published name of the Oracle XA interface is:
OPENINFO="Oracle_XA: Oracle_XA+Acc=P/Scott/*****+SesTm=30+LogDit=/tmp" Oracle_XA
.
The series of five asterisks (*) in the
OPENINFO
string pertains to the encrypting of a password. Passwords passed to a resource manager in the
OPENINFO
string can be stored in either clear text or encrypted form. To encrypt a password, first enter a series of five or more continuous asterisks in the
OPENINFO
string at the place where you want the password to go. Then load the UBBCONFIG file by running
tmloadcf(1)
. When
tmloadcf()
encounters the string of asterisks, it prompts you to create a password. For example:
tmloadcf -y /usr5/apps/bankapp/myubbconfig
.
Password for
OPENINFO
(
RMS entry name= BANKB3
):
password
tmloadcf(1)
stores the password in the TUXCONFIG file in encrypted form. If you then regenerate the UBBCONFIG file from the TUXCONFIG file using
tmunloadcf()
, the password is printed in the regenerated UBBCONFIG file in encrypted form with @@ as delimiters. For example:
OPENINFO="Oracle_XA: Oracle_XA+Acc=P/Scott/@@A0986F7733D4@@+SesTm=30+LogDit=/tmp
" When
tmloadcf()
encounters an encrypted password in a UBBCONFIG file generated by
tmunloadcf()
, it does not prompt the user to create a password.
CLOSEINFO = string_value
CLOSEINFO
string is not used for Oracle Tuxedo /Q databases.
TMSNAME
parameter for this group is not set or is set to
TMS
. If the
TMSNAME
parameter is set to a value other than
TMS
but the
CLOSEINFO
string is set to the NULL string ("") or is not specified, a resource manager exists for the group but does not require any information for executing a close operation. The format of the
CLOSEINFO
string is dependent on the requirements of the vendor providing the underlying resource manager. The information required by the vendor must be prefixed with the published name of the vendor's transaction (XA) interface followed immediately by a colon (:).
AUTO = {Y | N}
AUTO=Y
is specified, the connection to the RM is established via
tpopen()
when the servers are booted up. When a client calls the service (which is monitored by TMS), the corresponding RM
xa_start
is invoked automatically. If
AUTO=N
is specified, you must invoke
tprmopen
and
tmrmstart
explicitly in their application servers. The default is
Y
. If the
TMSNAME
parameter is set to
NULL
, this item is ignored. The number of the RMS entries which belong to the same server group with
AUTO=Y
must be between
0
and
15
inclusive.
NETGROUPS Section
The NETGROUPS
section describes the network groups available to the application in the LAN
environment. Any pair of machines may be in any number of network groups. Two communicating nodes use the priority mechanism in order to determine how to communicate between elements of its group.
Every LMID
must be a member of the default network group, DEFAULTNET
. Machines running Oracle Tuxedo releases earlier than release 6.4 (in which NETGROUPS
became available) can belong only to the DEFAULTNET
network group. The network group number (NETGRPNO
) for DEFAULTNET
is 0 (zero), and may not be changed. The default priority of DEFAULTNET
, however, may be modified.
The general format for entries in this section is:
NETGROUP
required_parameters
[optional_parameters
]
where NETGROUP
is the network group name. If NETGROUP
is equal to DEFAULTNET
then the entry describes the default network group.
NETGRPNO
=
numeric_value
DEFAULTNET
, the numeric value must be 0 (zero).
NETPRIO
=
numeric_value
DEFAULTNET
that can be altered.
Note: | Parallel data circuits are prioritized by network group number (NETGRPNO ) within priority group number. |
NETWORK Section
The NETWORK
section describes the network configuration for a LAN environment. For each processor on which a bridge server is located, an entry must be placed in the NETWORK
section giving the network address of the bridge process. An error is generated if this section exists and LAN
is not specified for the OPTIONS
parameter of the RESOURCES
section.
The general format for entries in this section is:
LMID
required_parameters
[optional_parameters
]
where LMID
is the logical machine where the bridge process is placed. LMID
must have direct access to the network device to be used (as given in the BRIDGE
parameter).
NADDR
=
string_value
[0..256]
(up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
LMID
. The listening address for a bridge is the means by which it is contacted by other bridge processes participating in the application. If
string_value
has the form
“0x
hex-digits
”
or
“\\x
hex-digits
”
, it must contain an even number of valid hex digits. These forms, which are translated internally into a character array containing TCP/IP addresses, may also be any of the following forms as shown in
Table 71.
hostname
is resolved to a TCP/IP host address at the time the address is bound using the locally configured name resolution facilities accessed via an operating system command. For IPv4, the “
#.#.#.#
” is the dotted decimal format where each
#
represents a decimal number in the range 0 to 255.
Port_number
is a decimal number in the range 0 to 65535, the hexadecimal representations of the string specified.
Note: | Some port numbers may be reserved for the underlying transport protocols (such as TCP/IP) used by your system. Check the documentation for your transport protocols to find out which numbers, if any, are reserved on your system. |
BRIDGE
=
string_value
LMID
to access the network. This value is required for participation in a networked application via a TLI-based Oracle Tuxedo system binary. This parameter is not needed for sockets-based Oracle Tuxedo system binaries.
NLSADDR
=
string_value
[0..256]
(up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
LMID
. The network address used for
NLSADDR
is of the same format as that specified for the
NADDR
parameter above. If the address has the form
“0x
hex-digits
”
or
“\\x
hex-digits
”
, it must contain an even number of valid hex digits. TCP/IP addresses may be in the "//
#.#.#.#:port
" format.
tmloadcf(1) prints an error if
NLSADDR
is missing on any entry but the
MASTER LMID
, for which it prints a warning. However, if
NLSADDR
is missing on the
MASTER LMID
,
tmadmin(1) will not be able to run in administrator mode on remote machines; it will be limited to read-only operations. This also means that the backup site will be unable to reboot the master site after failure.
Note: | the address format is the same as naddr . |
FADDR =
string_value
[0..256]
(up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
FRANGE
parameter, determines the range of TCP/IP ports to which a process attempts to bind before making an outbound connection. This address must be a TCP/IP address. The port portion of the TCP/IP address represents the base address from which a range of TCP/IP ports can be bound by the process. The
FRANGE
parameter specifies the size of the range. For example, if this address is
//mymachine.bea.com:30000
and
FRANGE
is 200, all native processes attempting to make outbound connections from this LMID will bind a port on
mymachine.bea.com
between 30000 and 30200. If not set, this parameter defaults to the empty string, which implies the operating system chooses a local port randomly.
Note: | TCP/IP IPv4 and IPv6 addressing is the same as NADDR . |
FRANGE =
number
FADDR
parameter specifies the base address of the range. For example, if the
FADDR
parameter is set to
//mymachine.bea.com:30000
and
FRANGE
is set to 200, all native processes attempting to make outbound connections from this LMID will bind a port on
mymachine.bea.com
between 30000 and 30200. The valid range is 1-65535. The default is 1.
MINENCRYPTBITS
=
{0
| 40
| 56
| 128
}
0
means no encryption, while
40
,
56
, and
128
specify the encryption key length (in bits). If this minimum level of encryption cannot be met, link establishment fails. The default is
0
.
Note: | The link-level encryption value of 40 bits is provided for backward compatibility. |
MAXENCRYPTBITS
=
{0
| 40
| 56
| 128
}
0
means no encryption, while
40
,
56
, and
128
specify the encryption length (in bits). The default is
128
.
Note: | The link-level encryption value of 40 bits is provided for backward compatibility. |
NETGROUP
=
string_value
string_value
is the network group associated with this network entry. If unspecified, the default,
DEFAULTNET
, is assumed. The
NETGROUP
parameter, if not set to
DEFAULTNET
, must have previously appeared as a group name in the
NETGROUPS
section of the file. All network entries with a
NETGROUP
DEFAULTNET
are represented in the
T_MACHINE
class of the
TM_MIB
, while
NETWORK
entries associated with any other
NETGROUP
are represented in the
T_NETMAP
class of the
TM_MIB
to interoperate with previous releases.
SERVERS Section
This section provides information on the initial conditions for servers started in the system. The notion of a server as a process that continually runs and waits for a server group's service requests to process, may or may not apply to a particular remote environment. For many environments, the operating system or perhaps a remote gateway will be the sole dispatcher of services; when either of these is the case, only SERVICE
table entries (see next section) and no SERVER
table entries need be specified for remote program entry points; Oracle Tuxedo system gateway servers would advertise and queue remote domain service requests. Host-specific reference pages must indicate whether or not UBBCONFIG
server table entries apply in their particular environments, and if so, the corresponding semantics. Lines within the SERVERS
section have the form:
AOUT
required_parameters
[optional_parameters
]
where AOUT
specifies the file (string_value
) to be executed by tmboot(1). tmboot
executes AOUT
on the machine specified for the server group to which the server belongs. tmboot
searches for the AOUT
file on its target machine. Thus, AOUT
must exist in a filesystem on that machine. (Of course, the path to AOUT
can include RFS connections to filesystems on other machines.) If a relative pathname for a server is given, the search for AOUT
is done first in APPDIR
, then in TUXDIR/bin
, then in /bin
, and then in path
, where path
is the value of the last PATH=
line appearing in the machine environment file, if one exists. The values for APPDIR
and TUXDIR
are taken from the appropriate machine entry in the TUXCONFIG
file. See ENVFILE
in the MACHINES
section for a more detailed discussion.
For Oracle Tuxedo 8.1 or later, the maximum length of AOUT
in the SERVERS
section is 256 bytes. For Oracle Tuxedo 8.0 or earlier, the maximum length of AOUT
in the SERVERS
section is 78 bytes.
SRVGRP
=
string_value
string_value
must be the logical name associated with a server group in the
GROUPS
section. It must be 30 characters or less. This association with an entry in the
GROUPS
section means that
AOUT
is executed on the machine with the
LMID
specified for the server group. It also specifies the
GRPNO
for the server group and parameters to pass when the associated resource manager is opened. All server entries must have a server group parameter specified.
SRVID
=
number
The optional parameters are divided into two categories: boot options and run-time options. Boot options are used by tmboot(1) when it executes a server. Once running, a server reads its entry from the configuration file to determine its run-time options. The unique server ID is used to find the right entry.
CLOPT
=
string_value
servopts(5)
options to be passed to
AOUT
when booted. If none is specified, the default is
-A
.
string_value
can be up to 1024 bytes in length.
SEQUENCE
=
number
SEQUENCE
parameter is not specified, servers are booted in the order found in the
SERVERS
section (and shut down in the reverse order). If a mixture of servers with and without sequence numbers is given, all servers with sequence numbers are booted first from low to high sequence number, then all servers without sequence numbers are booted in the order they appear in the configuration file. Sequence numbers must be in the range between 1 and 9999.
MIN
=
number
tmboot
. If an
RQADDR
is specified and
MIN
is greater than 1, the servers will form an MSSQ set. The server identifiers for the servers will be
SRVID
up to
SRVID + MAX - 1
. All occurrences of the server will have the same sequence number, as well as any other server parameters.
MIN
is 0 to 1000. If not specified, the default is 1. Servers with a
MIN=0
value will not be booted when
tmboot -y
is executed. This gives users in a multi-server environment the flexibility to boot servers as needed, and therefore reduce boot time.
MAX
=
number
tmboot
boots
MIN
servers, and additional servers can be booted up to
MAX
occurrences using the
-i
option of
tmboot
to specify the associated server identifier. The value range for
MAX
is
MIN
to 1000. If not specified, the default is the same value as
MIN
.
Optional run-time parameters are:
ENVFILE
=
string_value
[0..256]
(up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
ENVFILE
must be in the same location on both machines.
ENVFILE
instead. See
ENVFILE
in the
MACHINES
section for a discussion of how this file is used to modify the environment.
CONV
=
{Y
| N
}
tpacall()
or
tpcall()
) can only be made to non-conversational servers. The default is
N
.
RQADDR
=
string_value
AOUT
. It must be 30 characters or less. If not specified, a unique key (
GRPNO.SRVID
) is chosen for a queue that
AOUT
accesses. Specifying the same
RQADDR
and same executable name for more than one server is the way multiple server, single queue (MSSQ) sets are achieved. If two servers are given an
RQADDR
with the same queue name, they must be in the same server group.
RQPERM
=
number
number
is specified in the usual UNIX fashion (for example, 0600). If
RQPERM
is not specified, and a
PERM
is specified in the
RESOURCES
section, that value is used. Otherwise, a value 0666 is used. The value can be between 0001 and 0777, inclusive.
REPLYQ
=
{Y
| N
}
AOUT
. If
Y
is specified, the reply queue is created on the same
LMID
as the
AOUT
. The default is
N
. For servers in an
MSSQ
set, servers that expect replies should have
REPLYQ
set to
Y
.
Note: | The value of REPLYQ for conversational servers is always forced to Y , regardless of the value assigned to it in the UBBCONFIG file. |
RPPERM
=
number
RPPERM
is not specified, the default 0666 is used. If requests and replies are both read from the same queue, only
RQPERM
need be specified;
RPPERM
is ignored. The value can be between 0001 and 0777, inclusive.
RCMD
=
string_value
[0..256]
(up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
AOUT
is restartable, this parameter specifies the command that should be executed when
AOUT
abnormally terminates. The string, up to the first space or tab, must be the name of an executable UNIX file, either a full pathname or relative to
APPDIR
(do not attempt to set a shell variable at the beginning of the command). The command name may be optionally followed by command line arguments. Two additional arguments are appended to the command line: the
GRPNO
and
SRVID
associated with the restarting server. string_value is executed in parallel with restarting the server.
MAXGEN
=
number
AOUT
is restartable, this parameter specifies that it can be restarted at most
number
- 1 times within the period specified by
GRACE
. The value must be greater than 0 and less than 256. If not specified, the default is 1 (which means that the server can be started once, but not restarted).
GRACE
=
number
AOUT
is restartable, this parameter specifies that it can have up to
MAXGEN
lives within the specified number of seconds. The value must be greater than or equal to 0 and less than 2147483648. If 0, the
AOUT
can be restarted an unlimited number of times. If
GRACE
is not specified, the default is 86,400 seconds (24 hours).
RESTART
=
{Y
| N
}
AOUT
is restartable. The default is
N
. If server migration is specified,
RESTART
must be set to
Y
. Note that a server terminated with a
SIGTERM
signal cannot be restarted; it must be rebooted.
SYSTEM_ACCESS
=
identifier
[,
identifier
]
FASTPATH
or
PROTECTED
.
FASTPATH
specifies that the internal tables should be accessible by the libraries via shared memory for fast access.
PROTECTED
specifies that while the internal tables are accessible by Oracle Tuxedo system libraries via shared memory, the shared memory for these tables is not accessible outside of the Oracle Tuxedo system libraries.
NO_OVERRIDE
can be specified (either alone or in conjunction with
FASTPATH
or
PROTECTED
) to indicate that the mode selected cannot be overridden by an application process. If
SYSTEM_ACCESS
is not specified, the default mode is determined by the setting of the
SYSTEM_ACCESS
keyword in the
RESOURCES
section.
SYSTEM_ACCESS
to
PROTECTED
may not be effective for multithreaded servers because it is possible that while one thread is executing Oracle Tuxedo code, which means it is attached to the bulletin board, another thread might be executing user code. The Oracle Tuxedo system cannot prevent such situations.
MAXDISPATCHTHREADS
=
number
buildserver -t
command.
MAXDISPATCHTHREADS
> 1, a separate dispatcher thread is used and does not count against this limit. It is required that
MINDISPATCHTHREADS
<=
MAXDISPATCHTHREADS
. If this parameter is not specified, the default is 1.
MINDISPATCHTHREADS
=
number
buildserver -t
command.
MAXDISPATCHTHREADS
> 1 is not counted as part of the
MINDISPATCHTHREADS
value. It is required that
MINDISPATCHTHREADS
<=
MAXDISPATCHTHREADS
. The default for this parameter is 0.
THREADSTACKSIZE
=
number
MAXDISPATCHTHREADS
.
SEC_PRINCIPAL_NAME
=
string_value
[0..511]
SEC_PRINCIPAL_NAME
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVERS
section. A principal name at a particular configuration level can be overridden at a lower level. If
SEC_PRINCIPAL_NAME
is not specified at any of these levels, the principal name for the application defaults to the
DOMAINID
string specified in the
RESOURCES
section for this application.
Note that
SEC_PRINCIPAL_NAME
is one of a trio of parameters, the other two being
SEC_PRINCIPAL_LOCATION
and
SEC_PRINCIPAL_PASSVAR
. The latter two parameters pertain to opening decryption keys during application booting for the system processes running in an Oracle Tuxedo 7.1 or later application. When only
SEC_PRINCIPAL_NAME
is specified at a particular level, the system sets each of the other two parameters to a
NULL
(zero length) string.
SEC_PRINCIPAL_LOCATION
=
string_value
[0..1023]
SEC_PRINCIPAL_NAME
resides. This parameter may contain a maximum of 1023 characters (excluding the terminating NULL character).
SEC_PRINCIPAL_LOCATION
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVERS
section. When specified at any of these levels, this parameter must be paired with the
SEC_PRINCIPAL_NAME
parameter; otherwise, its value is ignored. (
SEC_PRINCIPAL_PASSVAR
is optional; if not specified, the system sets it to a
NULL
—zero length—string.)
SEC_PRINCIPAL_PASSVAR
=
string_value
[0..31]
SEC_PRINCIPAL_NAME
is stored. This parameter may contain a maximum of 31 characters (excluding the terminating NULL character).
SEC_PRINCIPAL_PASSVAR
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVERS
section. When specified at any of these levels, this parameter must be paired with the
SEC_PRINCIPAL_NAME
parameter; otherwise, its value is ignored. (
SEC_PRINCIPAL_LOCATION
is optional; if not specified, the system sets it to a
NULL
—zero length—string.)
During initialization, the administrator must provide the password for each of the decryption keys configured with
SEC_PRINCIPAL_PASSVAR
. (
tmloadcf(1) prompts for the password.) The system automatically encrypts the password entered by the administrator and assigns each encrypted password to the associated password variable.
SICACHEENTRIESMAX
= string_value
DEFAULT
, in which case the number of services to cache will come from the
MACHINE
section entry that corresponds to this server. If a value is not specified, it will take the string
DEFAULT
as a valid value. A value of 0 implies that no service caching will be performed by any process on this machine. The maximum value this parameter can take is 32,767.
CONCURR_STRATEGY=PER_REQUEST
CONCURR_STRATEGY = PER_OBJECT
CONCURR_STRATEGY = PER_OBJECT
CONCURR_STRATEGY
parameter to specify the threading model to be used by a multithreaded CORBA server application. The
CONCURR_STRATEGY
parameter accepts either of the following values:
CONCURR_STRATEGY = PER_REQUEST
CONCURR_STRATEGY = PER_OBJECT
When you specify
CONCURR_STRATEGY = PER_REQUEST
to employ the
thread-per-request model, each invocation on the CORBA server application is assigned to an arbitrary thread from the threads pool.
When you specify
CONCURR_STRATEGY = PER_OBJECT
to employ the
thread-per-object model, each active object is associated with a single thread at any one time. Each request for an object establishes an association between a dispatch thread and the object.
Note: | User-controlled concurrency takes precedence over threading model. Therefore, once user-controlled concurrency is chosen, the threading models behave the same so the behavior is consistent for instances of an object in the same process in multiple threads as it is for instances of an object in separate processes. |
For a description of Parallel Objects, refer to “Parallel Objects” in the Oracle Tuxedo CORBA Programming Reference.
SERVICES Section
This section provides information on services used by the application. Lines within the SERVICES
section have the form:
where SVCNM
is the (string_value
) name of the service. SVCNM
must be 127 characters or fewer in length.
There are no required parameters. Services need not be listed if no optional parameters need to be set. Optional parameters are:
LOAD
=
number
SVCNM
imposes a load on the system of
number
.
number
can be between 1 and 32,767 inclusive. If not specified, the default is 50. A higher number indicates a greater load.
PRIO
=
number
SVCNM
has a dequeuing priority of the specified number. The value must be greater than 0 and less than or equal to 100, with 100 being the highest priority. The default is 50.
A lower priority message does not remain forever enqueued because every tenth message is retrieved on a FIFO basis. Response time should not be a concern of the lower priority interface or service.
SRVGRP
=
string_value
SVCNM
within server group
string_value
. The use of
SRVGRP
allows the same service to have different parameter settings within different server groups. It must be 30 characters or less.
BUFTYPE
=
“
type1
[:
subtype1
[,
subtype2
. . . ]][;
type2
[:s
ubtype3
[,
. . . ]]] . . . ”
FML
and
FML32
(for FML buffers),
XML
(for XML buffers),
VIEW
,
VIEW32
,
X_C_TYPE
, or
X_COMMON
(for FML views),
STRING
(for
NULL
terminated character arrays) and
CARRAY
or
X_OCTET
(for a character array that is neither encoded nor decoded during transmission). Of these types, only
VIEW
,
VIEW32
,
X_C_TYPE
, and
X_COMMON
have subtypes. A view subtype gives the name of the particular view expected by the service. Application types and subtypes can also be added (see
tuxtypes(5)
). For a
TYPE
that has subtypes, “*” can be specified for the subtype to indicate that the service accepts all subtypes for the associated type.
tuxtypes(5)
). If the
BUFTYPE
parameter is set to
ALL
, that service accepts all buffer types found in its buffer type switch. Omitting the
BUFTYPE
parameter is equivalent to setting it to
ALL
. If multiple entries exist for the same service name but with different
SRVGRP
parameters, the
BUFTYPE
parameter must be the same for all of these entries.
A type name can be 8 characters or less in length and a subtype name can be 16 characters or less in length. Note that type and subtype names should not contain semicolon, colon, comma, or asterisk characters (this will make it hard to see where type and subtype values end).
Some examples of valid
BUFTYPE
specifications are:
BUFTYPE=FML implies that the service takes FML buffers.
BUFTYPE=VIEW:* implies that the service takes all subtypes
of FML views.
BUFTYPECONV
=
{XML2FML
| XML2FML32
}
ROUTING
=
string_value
string_value
, which is a
ROUTING_CRITERIA_NAME
defined in the
ROUTING
section, is the name of the routing criteria used for data-dependent routing for this service. If this parameter is not specified, data-dependent routing is not done for this service.
string_value
must be 127 characters or less in length. If multiple entries exist for the same service name but with different
SRVGRP
parameters, the
ROUTING
parameter must be the same for all of these entries.
BLOCKTIME
numeric_value
numeric_value
can be between 0 and 32,767 inclusive. If not specified, the default is 0 which indicates that the system-wide
BLOCKTIME
value specified in the
UBBCONFIG RESOURCES
section is used for the service.
SVCTIMEOUT
=
number
SIGKILL
signal. Note that this signal affects all threads in the server. The default for this parameter is 0.
SIGNATURE_REQUIRED
=
{Y
| N
}
N
. This parameter applies only to applications running Oracle Tuxedo 7.1 or later software.
SIGNATURE_REQUIRED
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVICES
section. Setting
SIGNATURE_REQUIRED
to
Y
at a particular level means that signatures are required for all processes running at that level or below.
ENCRYPTION_REQUIRED
=
{Y
| N
}
N
. This parameter applies only to applications running Oracle Tuxedo 7.1 or later software.
ENCRYPTION_REQUIRED
can be specified at any of the following four levels in the configuration hierarchy:
RESOURCES
section,
MACHINES
section,
GROUPS
section, and
SERVICES
section. Setting
ENCRYPTION_REQUIRED
to
Y
at a particular level means that encryption is required for all processes running at that level or below.
SESSIONROLE
SESSIONROLE
parameter allows you to configure the ATMI services session role on the server-side affinity. The specific roles are:
BEGIN
,
END
and
NONE
. The default value is
NONE
.
BEGIN
, a new session is initiated and the corresponding affinity context is created on the client-side. If the client
is involved in a previous session, the service role is treated as
NONE
.
BEGIN
is called using
tpcall()
or
tpacall()
. Affinity clients are not aware of the session until the reply message is received from the affinity server. All following requests are dispatched without affinity impact until the response message is received.
BEGIN
in or out of the current affinity scope are invoked). A new session will not start.
BEGIN
cannot be used with conversation servers. While using
tmboot
, if services using
BEGIN
are found in the conversation server, an error message is sent to ULOG and the affinity role is ignored.
BEGIN
fails on an affinity server, the session will not start. If load balancing is enabled, it takes effect in the specific affinity scope.
- Services using NONE that are involved in an affinity session try to propagate the session into other services called by them. If no service entries in the specific affinity scope are found, the session information is not propagated into requested service entries out of the scope.
- The propagation depth is unlimited.
- Services using
BEGIN
orEND
do not propagate sessions. - The session propagation do not cross the domain boundary since only
MACHINE
,GROUP
andSERVER
level affinity scope are supported.
END
, the session is terminated and the corresponding client-side affinity context is cleared. If the client is not involved in a previous session, the service role is treated as
NONE
.
tpcall()
or
tpacall()
. However, if it is called using
tpacall()
with the
TPNOREPLY
flag, an affinity session is not terminated. Affinity clients are not aware of the session termination until the reply message is received from the affinity server.
END
in the specific affinity scope is invoked. A session terminates implicitly when any of the following occur:
timeout
) to release session resources in their applications.
NONE
are dispatched accordingly depending on the session type and if they are involved in a previous session.
AFFINITYSCOPE
AFFINITYSCOPE
parameter defines three affinity scopes:
MACHINE
,
GROUP
and
SERVER
. The default is
SERVER
.
Note: | If MSSQ is used and the affinity scope is SERVER , the affinity integrity cannot be guaranteed because they share one IPC queue. |
AFFINITYSTRICT
AFFINITYSTRICT
parameter defines two strictness levels:
MANDATORY
and
PRECEDENT
. If
AFFINITYSTRICT
is not set, the default value is
MANDATORY
.
TPENOENT
.
PRECEDENT
to implement failover.
The following parameters are for DTP applications only:
AUTOTRAN
=
{Y
| N
}
N
.
AUTOTRAN
can be specified at two levels in the configuration hierarchy:
RESOURCES
section and
SERVICES
section. When specify it in
RESOURCES
section, it applies to all the services supplied by this Oracle Tuxedo application whether they are described in
SERVICES
section or not. Once
AUTOTRAN
is specified in both
RESOURCES
and
SERVICES
section for a service, then for that service only,
SERVICES
level
AUTOTRAN
overrides the
RESOURCES
level value.
TRANTIME
=
number
0
and less than
2147483648
. The default is
30
seconds. A value of
0
implies the maximum timeout value for the machine.
TRANTIME
can be specified at two levels in the configuration hierarchy:
RESOURCES
section and
SERVICES
section. When specify it in
RESOURCES
section, it applies to all the services supplied by this Oracle Tuxedo application whether they are described in
SERVICES
section or not. Once
TRANTIME
is specified in both
RESOURCES
and
SERVICES
sections for a service, then for that service only,
SERVICES
level
TRANTIME
overrides the
RESOURCES
level value.
INTERFACES Section
This section provides information for defining application-wide default parameters for CORBA interfaces used by the application. There are no required parameters for CORBA interfaces unless you are implementing factory-based routing, a feature that allows you to distribute processing to specific server groups. If you are implementing factory-based routing, you must specify the following parameters:
For details about factory-based routing and the parameters associated with it, see ROUTING Section.
You do not need to list any CORBA interfaces if you do not want to specify any parameters.
The following optional parameters are available.
AUTOTRAN =
{Y
| N
}
AUTOTRAN
parameter is only honored for interfaces that have the
optional
transaction policy. Otherwise, this parameter is ignored. The default is
N
.
T_IFQUEUE MIB
object at run time.
Before setting the
AUTOTRAN
value, the system administrator must know the value of the transactional policy assigned to the interface by the programmer. Without knowing the policy, the administrator’s expectations of run-time
AUTOTRAN
functionality may be wrong.
If
AUTOTRAN
is set to
Y
, the
TRANTIME
parameter must also be set.
FACTORYROUTING =
criteria_name
ROUTING
section of the
UBBCONFIG
file.
LOAD =
number
LOAD
numbers assigned to other CORBA interfaces used by this application. The default is 50. The value of
LOAD
is used in a CORBA environment to select the best machine to
enqueue
a request. The routing of the request causes the server’s total load to be increased by the
LOAD
factor of the CORBA interface requested.
PRIO =
number
dequeuing
priority number for all methods of the CORBA interface. The value must be greater than 0 and less than or equal to 100. 100 is the highest priority. The default is 50.
SRVGRP =
server-group-name
INTERFACES
section applies to the interface within the specified server group. This feature lets you define, for a given CORBA interface, different parameter values in different server groups.
TRANTIME =
number
AUTOTRAN
is set to
Y
, you must set the
TRANTIME
parameter. The value must be greater than or equal to zero and must not exceed 2147483647 (2
31 - 1), or about 68 years. A value of 0 implies there is no time out for the transaction. (The default is 30 seconds.)
TIMEOUT =
number
SIGKILL
event. We recommend specifying a timeout value for the longest-running method for the interface.
ROUTING Section
This section provides information for data-dependent routing of service requests using FML buffers, XML buffers, and views. The routing criteria specified here are used only if the default routing functions _froute
, _xroute
, and _vroute
, are being used (see tuxtypes(5)
). Lines within the ROUTING
section have the form:
ROUTING_CRITERIA_NAME
required_parameters
where ROUTING_CRITERIA_NAME
is the (string_value
) name assigned to the ROUTING
parameter for a particular service entry in the SERVICES
section. ROUTING_CRITERIA_NAME
must be 127 characters or less in length.
FIELD
=
string_value
FLDTBLDIR
and
FIELDTBLS
or
FLDTBLDIR32
and
FIELDTBLS32
), or an
FML
view table (using two environment variables—
VIEWDIR
and
VIEWFILES
or
VIEWDIR32
and
VIEWFILES32
), respectively. This information is used to get the associated field value for data-dependent routing during the sending of a message. If a field in an FML or an FML32 buffer is used for routing, the value of that field must be a number less than or equal to 8191.
FIELD
parameter with the following syntax:
FIELD
=“root_element
[/child_element
][/child_element
][/. . .][/@attribute_name
]”
FIELD
specifies the name of the routing element or an element attribute. This element is assumed to be an element type (or name) or an element attribute name of an XML document or datagram. This information is used to identify the element content or element attribute value for data-dependent routing while sending a document or datagram. The element name and attribute name combined may contain no more than 30 characters. Because indexing is not supported, the Oracle Tuxedo system recognizes only the first occurrence of a given element type when processing an XML buffer for data-dependent routing.
XML strictly defines the set of characters that may be used in an attribute name. An attribute name must be a string consisting of a single letter, underscore, or colon followed by one or more name characters. Both element names and attribute names are case-sensitive.
You can find more information about XML on the World Wide Web Consortium Web site at
http://www.w3c.org/XML.
FIELDTYPE
=
type
FIELD
parameter. This parameter is used only for routing XML buffers. The value
type
can be set to one of the following:
CHAR
,
SHORT
,
LONG
,
FLOAT
,
DOUBLE
, or
STRING
. The default type of the routing field is
STRING
.
RANGES
=
string_value
string
must be enclosed in double quotes.
string
can be up to 2048 characters in length (except in Domains, where
string
can be up to 4096 characters). The format of string is a comma-separated ordered list of range/group_name pairs; for example, RANGES=
“
0-2:DBG1,3-5:DBG2,6-9:”DBG3".
O'Brien
, for example), it must be preceded by two backslashes (
'O\\'Brien'
). The value
MIN
can be used to indicate the minimum value for the data type of the associated
FIELD
on the machine. The value
MAX
can be used to indicate the maximum value for the data type of the associated
FIELD
on the machine. Thus, “
MIN - -5
” is all numbers less than or equal to -5 and “
6 - MAX
” is all numbers greater than or equal to 6. The meta-character “
*
” (wildcard) in the position of a range indicates any values not covered by the other ranges previously seen in the entry; only one wildcard range is allowed per entry and it should be last (ranges following it will be ignored).
The routing field can be of any data type supported in FML. A numeric routing field must have numeric range values, and a string routing field must have string range values.
String range values for string, carray, and character field types must be placed inside a pair of single quotes and cannot be preceded by a sign. Short and long integer values are strings of digits, optionally preceded by a plus or minus sign. Floating point numbers are of the form accepted by the C compiler or
atof(3)
: an optional sign, then a string of digits optionally containing a decimal point, then an optional
e
or
E
followed by an optional sign or space, followed by an integer.
The group name indicates the associated group to which the request is routed if the field matches the range. The meta-character “
*
” (wildcard) indicates that the request goes to the default group if the field value does not match the range or if there is match but no viable server in the group associated with the range entry, the service request is forwarded to the default group specified on the wildcard “
*
” range entry.
Within a range/group pair, the range is separated from the group name by a “
:
”.
An XML element content and attribute value must be encoded in UTF-8 and can be used for routing if it can be converted to the data type specified by the
FIELDTYPE
parameter.
When used for routing, the element content cannot contain character references, entity references, or CDATA sections.
An XML attribute value (encoded in UTF-8) can be used for routing if the element to which the attribute belongs is defined.
BUFTYPE
=
“
type1
[:
subtype1
[,
subtype2
. . . ]][;
type2
[:
subtype3
[,
. . . ]]] . . .”
FML
,
FML32
,
XML
,
VIEW
,
VIEW32
,
X_C_TYPE
, or
X_COMMON
. No subtype can be specified for types
FML
,
FML32
, or
XML
. Subtypes are required for type
VIEW
,
VIEW32
,
X_C_TYPE
, and
X_COMMON
(“*” is not allowed). Note that subtype names should not contain semicolon, colon, comma, or asterisk characters. Duplicate type/subtype pairs cannot be specified for the same routing criteria name; more than one routing entry can have the same criteria name as long as the type/subtype pairs are unique. This parameter is required. If multiple buffer types are specified for a single routing entry, the data types of the routing field for each buffer type must be the same.
An example of a routing entry is:
BRNCH FIELD=B_FLD RANGES="0-2:DBG1,3-5:DBG2,6-9:DBG3" BUFTYPE="FML"
which sends buffers with field B_FLD
values 0-2 to server group DBG1
, values 3-5 to server group DBG2
, and values 6-9 to DBG3
; no other values are allowed.
If the field value is not set (for FML buffers), or does not match any specific range and a wildcard range has not been specified, an error is returned to the application.
An example of a routing entry based on the XML element CODE
is:
PRODUCT FIELD="ORDER/CODE" RANGES="'AAA' - 'FFF':DBG1, 'GGG-ZZZ':DBG2" BUFTYPE="XML"
Here, CODE
is a child element of the root element ORDER
.
A routing entry based on the attribute ORDERNO
might look like the following example.
ORDER FIELD="ORDER/HEADER/@ORDERNO" FIELDTYPE=long RANGES="0-9999:DBG1,10000-MAX:DBG3" BUFTYPE="XML"
Here, ORDERNO
is the attribute of the XML child element HEADER
of the root element ORDER
.
UBBCONFIG(5) Additional Information
Files
The TUXCONFIG
and TUXOFFSET
environment variables are used to find the TUXCONFIG
configuration file on the MASTER
machine.
Example(s)
Example 1
# The following configuration file defines a 2-site # configuration with two machine types. Data-dependent # routing is used. *RESOURCES IPCKEY 80952 # key for well known address DOMAINID My_Domain_Name UID 4196 # user id for ipc structures GID 601 # group id for ipc structures PERM 0660 # permissions for ipc access MAXSERVERS 20 # at most 20 simultaneous servers MAXSERVICES 40 # offering at most 40 services MAXGTT 20 # at most 20 simultaneous global transactions MASTER SITE1 SCANUNIT 10 SANITYSCAN 12 BBLQUERY 180 BLOCKTIME 30 NOTIFY DIPIN OPTIONS LAN,MIGRATE SECURITY USER_AUTH AUTHSVC AUTHSVC MP # a multiprocessor based bulletin board LDBAL Y # perform load balancing # *MACHINES mach1 LMID=SITE1 TUXDIR="/usr4/tuxbin" MAXACCESSERS=25 APPDIR="/usr2/apps/bank" ENVFILE="/usr2/apps/bank/ENVFILE" TLOGDEVICE="/usr2/apps/bank/TLOG" TLOGNAME=TLOG TUXCONFIG="/usr2/apps/bank/tuxconfig" TYPE="3B2" ULOGPFX="/usr2/apps/bank/ULOG" SPINCOUNT=5 mach386 LMID=SITE2 TUXDIR="/usr5/tuxbin" MAXACCESSERS=100 MAXWSCLIENTS=50 APPDIR="/usr4/apps/bank" ENVFILE="/usr4/apps/bank/ENVFILE" TLOGDEVICE="/usr4/apps/bank/TLOG" TLOGNAME=TLOG TUXCONFIG="/usr4/apps/bank/tuxconfig" TYPE="386" ULOGPFX="/usr4/apps/bank/ULOG" # *GROUPS DEFAULT: TMSNAME=TMS_SQL TMSCOUNT=2 # For Windows, :bankdb: becomes ;bankdb; BANKB1 LMID=SITE1 GRPNO=1 OPENINFO="TUXEDO/SQL:/usr2/apps/bank/bankdl1:bankdb:readwrite" # For Windows, :bankdb: becomes ;bankdb; BANKB2 LMID=SITE2 GRPNO=2 OPENINFO="TUXEDO/SQL:/usr4/apps/bank/bankdl2:bankdb:readwrite" DEFAULT: AUTHGRP LMID=SITE1 GRPNO=3 # *NETWORK SITE1 NADDR="mach1.80952" BRIDGE="/dev/starlan" NLSADDR="mach1.serve" # SITE2 NADDR="mach386.80952" BRIDGE="/dev/starlan" NLSADDR="mach386.serve" *SERVERS # DEFAULT: RESTART=Y MAXGEN=5 REPLYQ=Y CLOPT="-A" TLR SRVGRP=BANKB1 SRVID=1 RQADDR=tlr1 CLOPT="-A -- -T 100" TLR SRVGRP=BANKB1 SRVID=2 RQADDR=tlr1 CLOPT="-A -- -T 200" TLR SRVGRP=BANKB2 SRVID=3 RQADDR=tlr2 CLOPT="-A -- -T 600" TLR SRVGRP=BANKB2 SRVID=4 RQADDR=tlr2 CLOPT="-A -- -T 700" XFER SRVGRP=BANKB1 SRVID=5 XFER SRVGRP=BANKB2 SRVID=6 ACCT SRVGRP=BANKB1 SRVID=7 ACCT SRVGRP=BANKB2 SRVID=8 BAL SRVGRP=BANKB1 SRVID=9 BAL SRVGRP=BANKB2 SRVID=10 BTADD SRVGRP=BANKB1 SRVID=11 BTADD SRVGRP=BANKB2 SRVID=12 AUTHSVR SRVGRP=AUTHGRP SRVID=20 # *SERVICES DEFAULT: LOAD=50 AUTOTRAN=N WITHDRAWAL PRIO=50 ROUTING=ACCOUNT_ID DEPOSIT PRIO=50 ROUTING=ACCOUNT_ID TRANSFER PRIO=50 ROUTING=ACCOUNT_ID INQUIRY PRIO=50 ROUTING=ACCOUNT_ID CLOSE_ACCT PRIO=40 ROUTING=ACCOUNT_ID OPEN_ACCT PRIO=40 ROUTING=BRANCH_ID BR_ADD PRIO=20 ROUTING=BRANCH_ID TLR_ADD PRIO=20 ROUTING=BRANCH_ID ABAL PRIO=30 ROUTING=b_id TBAL PRIO=30 ROUTING=b_id ABAL_BID PRIO=30 ROUTING=b_id TBAL_BID PRIO=30 ROUTING=b_id SVCTIMEOUT=300 # # *ROUTING ACCOUNT_ID FIELD=ACCOUNT_ID BUFTYPE="FML" RANGES="MIN - 9999:*,10000-59999:BANKB1,60000-109999:BANKB2,*:*" BRANCH_ID FIELD=BRANCH_ID BUFTYPE="FML" RANGES="MIN - 0:*,1-5:BANKB1,6-10:BANKB2,*:*" b_id FIELD=b_id BUFTYPE="VIEW:aud" RANGES="MIN - 0:*,1-5:BANKB1,6-10:BANKB2,*:*"
Example 2
# Self-Tuning Lock Mechanism
configration
*RESOURCES IPCKEY 123456 DOMAINID simpapp MASTER ALLEN MAXACCESSERS 10 MAXSERVERS 5 MAXSERVICES 10 MODEL SHM LDBAL N OPTIONS EXALOGIC,SPINTUNING *MACHINES ALLENHOST LMID="ALLEN" APPDIR="/home/allen/Workspace/Tuxedo11gr1/simpdir" TUXCONFIG="/home/allen/Workspace/Tuxedo11gr1/simpdir/tuxconfig" TUXDIR="/home/allen/Software/OraHome/tuxedo11gr1" SPINTUNING_FACTOR=1000 SPINTUNING_MINIDLECPU=20 *GROUPS GROUP1 LMID=ALLEN GRPNO=1 OPENINFO=NONE *SERVERS DEFAULT: CLOPT="-A" simpserv SRVGRP=GROUP1 SRVID=1 *SERVICES TOUPPER
Example 3
*Configuring WSL listen on SDP
*SERVERS
WSL SRVGRP="WSLGRP" SRVID=1000 RESTART=Y GRACE=0
CLOPT="-A -- -n 0x0002ffffaaaaaaaa -d /dev/tcp"
WSL SRVGRP="WSLGRP" SRVID=1001 RESTART=Y GRACE=0
CLOPT="-A -- -n 0x0002aaaaffffffff -d /dev/tcp -H 0x0002MMMMdddddddd"
WSL SRVGRP="WSLGRP" SRVID=1002 RESTART=Y GRACE=0
CLOPT="-A -- -n //hostname:aaaa -d /dev/tcp -H
//external_hostname:MMMM"
WSL SRVGRP=GROUP1 SRVID=1 CLOPT="-A -r -- -n //hostname:port -m1 -M10 -x20 -U 2048" # size limit set to 2048 bytes.
Example 4
*Configuring WSL listen on SDP
*SERVERS DEFAULT: CLOPT="-A" WSL SRVGRP=WSGRP SRVID=1001 CLOPT="-A -- -n sdp://IB_IP: 11101 -m1 -M10 -x1"
Example 5
*Configuring WSL listen on IPoIB
*SERVERS DEFAULT: CLOPT="-A" WSL SRVGRP=WSGRP SRVID=1001 CLOPT="-A -- -n //IB_IP: 11101 -m1 -M10 -x1"
Example 6
*Configuring
WSL listen on ethernet based TCP/IP
*SERVERS DEFAULT: CLOPT="-A" WSL SRVGRP=WSGRP SRVID=1001 CLOPT="-A -- -n //ETH_IP: 11101 -m1 -M10 -x1"
Example 7
*Configuring JSL listen on SDP
*SERVERS DEFAULT: CLOPT="-A" JSL SRVGRP=WSGRP SRVID=1001 CLOPT="-A -- -n sdp://IP_IP: 11101 -m1 -M10 -x1"
Example 8
*Configuring JSL listen on TCP/IP
*SERVERS DEFAULT: CLOPT="-A" JSL SRVGRP=WSGRP SRVID=1001 CLOPT="-A -- -n //ETH_IP: 11101 -m1 -M10 -x1"
Example 9
*Configuring SDP to be used in MP deployment model
*NETWORK
SITE1 NADDR="//IB_IP: 9003" NLSADDR="//IB_IP: 3050" SITE2 NADDR="//IB_IP: 9003" NLSADDR="//IB_IP: 3050"
Example 10
*Configuring IPoIB to be used in MP deployment model
SITE1 NADDR="//IB_IP: 9003" NLSADDR="//IB_IP: 3050"
SITE2 NADDR="//IB_IP: 9003" NLSADDR="//IB_IP: 3050"
Example 11
*Configuring ethernet based TCP/IP to be used in MP deployment model
SITE1 NADDR="//ETH_IP: 9003" NLSADDR="//ETH_IP: 3050"
SITE2 NADDR="//ETH_IP: 9003" NLSADDR="//ETH_IP: 3050"
Interoperability
In an interoperating application, the master site must be the latest release available. Parameter values for PMID
(machine ADDRESS
), LMID
, TLOGNAME
, group names, RQADDR
, service names, and ROUTING
(routing criteria names) must be identifiers (valid C identifiers that are not UBBCONFIG
keywords) when multiple releases of the Oracle Tuxedo system are interoperating with each other.
Network Addresses
Suppose the local machine on which the bridge is being run is using TCP/IP addressing and is named backus.company.com
, with address 155.2.193.18
. Further suppose that the port number at which the bridge should accept requests is 2334
. Assume that port number 2334
has been added to the network services database under the name bankapp-naddr
. The address could be represented in the following ways:
//155.2.193.18:bankapp-naddr
//155.2.193.18:2334 //backus.company.com:bankapp-naddr
//backus.company.com
:2334 0x0002091E9B02C112
The last of these representations is hexadecimal format. The 0002
is the first part of a TCP/IP address. The 091E
is the port number 2334
translated into a hexadecimal number. After that each element of the IP address 155.2.193.1
is translated into a hexadecimal number. Thus the 155
becomes 9B
, 2
becomes 02
and so on.
See Also
buildserver(1), tmadmin(1), tmboot(1), tmloadcf(1), tmshutdown(1), tmunloadcf(1), buffer(3c), tpinit(3c), servopts(5)
Setting Up an Oracle Tuxedo Application
Administering an Oracle Tuxedo Application at Run Time
Programming an Oracle Tuxedo ATMI Application Using C
viewfile(5)
Name
viewfile
—Source file for view descriptions
Description
Viewfiles are source files for descriptions of one or more C data structures, or “views.” When used as input to the viewc()
command, the viewfile forms the basis for a binary file (filename view_filename
.V
) and a header file (view_filename
.h
) (see viewc, viewc32(1)).
The binary .V
files are used two ways in the Oracle Tuxedo system:
- For programs that use
Fvftos()
andFvstof()
, the.V
file is interpreted at run-time to effect the mapping between FML buffers and C structures - For programs allocating typed buffers of type VIEW and VIEW32, the
.V
file is searched for a structure of the name provided in thesubtype
argument oftpalloc()
.
The .h
file must be included in all programs using the view so that structure members can be referenced by their logical names.
VIEW Descriptions
Each view description in a source viewfile consists of three parts:
- A line beginning with the keyword “
VIEW
”, followed by the name of the view description; the name can have a maximum of 33 characters and must be a valid C identifier (that is, it must start with an underscore or an alphabetic character and contain only alphanumeric or underscore characters); when used with tpalloc(3c), the name can only have a maximum of 16 characters. - A list of member descriptions, each line containing 7 fields.
- A line beginning with the keyword “
END
”.
The first line of each view description must begin with the keyword “VIEW
” followed by the name of the view description. A member description (or mapping entry) is a line with information about a member in the C structure. A line with the keyword “END
” must be the last line in a view description. Lines beginning with a #
are treated as comments and ignored.
Thus, a source view description has this general structure:
VIEW vname # type cname fbname count flag size null # ---- ----- ------ ----- ---- ---- ---- --------------member descriptions------------------- . . . END
In the view description, the variable fields have the following meaning:
vname
type
fbname
if the view is mapped to FML buffers.
Note: | mbstring member type is supported by VIEW32 typed buffer only. |
cname
cname
is truncated to 30 characters, so
cnames
must be unique within the first 30 characters. If the view is mapped to FML buffers, it cannot be a valid
fbname
.
fbname
count
flag
flag
options. For views not mapped to FML buffers, this field may contain the
C
and/or
L
options, or must contain a dash ( ) place holder value.
size
size
is two numbers separated by a comma, the first being the number of bytes in the decimal value (it must be greater than 0 and less than 10) and the second being the number of decimal places to the right of the decimal point (it must be greater than 0 and less than two times the number of bytes minus one). For other field types, ‘-’ should be specified, and the view compiler will compute the size.
null
NULL
value or ‘-’ to indicate the default NULL value for that field; see below for a discussion of NULL values.
Flag Options
The following is a list of the options that can be specified as the flag
element of a member description in a view description. Note that the L
and C
options generate additional structure members even for views that are not FML-based.
C
cname
", where
cname
is the
cname
entry for which the ACM is declared. For example, an ACM for a member named
parts
would be declared as follows:
short C_parts;
It is possible for the generated ACM name to conflict with structure members whose names begin with a "C_" prefix. Such conflicts will be reported by the view compiler, and are considered fatal errors by the compiler. For example, if a structure member has the name "C_parts", it would conflict with the name of an ACM generated for the member "parts". Note also that the view compiler will generate structured record definitions for ACM and ALM (see the L option, below) members when you specify the
-r
command-line option.
F
L
L
option generates an associated length member (
ALM
) for a structure member of type carray or string (even for views that are not FML-based). When transferring data from a fielded buffer to a structure, the
ALM
is set to the length of the corresponding transferred fields. If a field's length in the fielded buffer exceeds the space allocated in the mapped structure member, only the allocated number of bytes is transferred. The corresponding
ALM
is set to the size of the fielded buffer item. Therefore, if the
ALM
is greater than the dimension of the structure member array, the fielded buffer information was truncated on transfer. When transferring data from a structure member to a field in a fielded buffer, the
ALM
is used to indicate the number of bytes to transfer to the fielded buffer, if it is a carray type field. For strings, the
ALM
is ignored on transfer, but is set afterwards to the number of bytes transferred. Note that since carray fields may be of zero length, an
ALM
of 0 indicates that a zero length field should be transferred to the fielded buffer, unless the value in the associated structure member is the NULL value. An
ALM
is defined to be an unsigned short (32-bit unsigned long integer for
VIEW32
), and has a generated name of "
L_
cname
", where
cname
is the name of the structure for which the
ALM
is declared. If the number of occurrences of the member for which the
ALM
is declared is 1 (or defaults to 1), the
ALM
is declared as:
unsigned short L_cname;
whereas if the number of occurrences is greater than 1, say N, the ALM is declared as:
unsigned short L_cname[N];
and is referred to as an
ALM
Array. In this case, each element in the ALM array refers to a corresponding occurrence of the structure member (or field). It is possible for the generated
ALM
name to conflict with structure members whose names begin with a "
L_
" prefix. Such conflicts will be reported by the view compiler, and are considered fatal errors by the compiler. For example, if a structure member has the name "
L_parts
", it would conflict with the name of an
ALM
generated for the member "parts". Note also that the view compiler will generate structured record definitions for
ACM
and
ALM
(see the C option, above) members when you specify the
-r
command-line option.
Note: | For MBSTRING field in VIEW32 buffer, the viewc32(1) command automatically adds the L option and the corresponding ALM is declared. The size of the MBSTRING data prepared by Fmbpack32() must be set in the ALM by the application and it is used for Fmbunpack32() . |
N
P
S
Null Values
NULL values are used in views to indicate empty C structure members. Default NULL values are provided, and you may also define your own.
The default NULL value for all numeric types is 0 (0.0 for dec_t); for char types, it is "\"; and for string, carray, and mbstring types, it is "".
Escape convention constants can also be used to specify a NULL value. The view compiler recognizes the following escape constants: ddd
(where d
is an octal digit), 0, n, t, v, b, r, f, , ', and ".
String, carray, mbstring and char NULL values may be enclosed in double or single quotes. Unescaped quotes within a user-defined NULL value are not accepted by the view compiler.
Alternatively, an element is NULL if its value is the same as the NULL value for that element, except in the following cases:
- If the P option is set for the structure member, and the structure member is of string, carray, or mbstring type; see above for details on the P option flag.
- If a member is of type string, its value must be the same string as the NULL value.
- If a member is of type carray or mbstring, and the NULL value is of length N, the first N characters in the carray or mbstring must be the same as the NULL value.
You can also specify the keyword "NONE" in the NULL field of a view member description, which means there is no NULL value for the member.
The maximum size of defaults for string and character array members is 2660 characters.
Note that for string members, which usually end with a "0
", a "0
" is not required as the last character of a user-defined NULL value.
Environment Variables
VIEWFILES
VIEWDIR
variable (see below).
VIEWDIR
VIEWDIR
is not set, its value is taken to be the current directory.
For VIEW32
, the environment variable VIEWFILES32
and VIEWDIR32
are used.
Examples
# BEGINNING OF AN FML-BASED VIEWFILE VIEW custdb $/* This is a comment */ # #type cname fbname count flag size null # carray bug BUG_CURS 4 - 12 "no bugs" long custid CUSTID 2 - - -1 short super SUPER_NUM 1 - - 999 long youid ID 1 - - -1 float tape TAPE_SENT 1 - - -.001 char ch CHR 1 - - "0" string action ACTION 4 - 20 "no action" END # BEGINNING OF AN INDEPENDENT VIEWFILE VIEW viewx $ /* View structure for viewx information */ # #type cname fbname count flag size null # int in - 1 - - - short sh - 2 - - - long lo - 3 - - - char ch - 1 - - - float fl - 1 - - - double db - 1 - - - string st - 1 - 15 - carray ca - 1 - 15 - END
See Also
viewc, viewc32(1), tpalloc(3c), Fvftos, Fvftos32(3fml), Fvstof, Fvstof32(3fml)
Programming an Oracle Tuxedo ATMI Application Using FML
WS_MIB(5)
Name
WS_MIB
—Management Information Base for Workstation
Synopsis
#include <fml32.h>
#include <tpadm.h>
Description
The Oracle Tuxedo system MIB defines the set of classes through which a Workstation group (one WSL and its associated WSH processes) may be managed.
WS_MIB
(5) should be used in combination with the generic MIB reference page MIB(5)
to format administrative requests and interpret administrative replies. Requests formatted as described in MIB(5)
using classes and attributes described in this reference page may be used to request an administrative service using any one of a number of existing ATMI interfaces in an active application. For additional information pertaining to all WS_MIB(5)
class definitions, see WS_MIB(5) Additional Information.
WS_MIB
(5) consists of the following classes.
Each class description section has four subsections:
Overview
Attribute Table
Attribute Semantics
Limitations
Attribute Table Format
As described above, each class that is a part of this MIB is defined below in four parts. One of these parts is the attribute table. The attribute table is a one-page reference guide to the attributes within a class and how they may used by administrator's, operator's and general user's to interface with an application. There are five components to each attribute description in the attribute tables; name, type, permissions, values and default. Each of these components is discussed in MIB(5)
.
TA_FLAGS Values
MIB(5)
defines the generic TA_FLAGS
attribute which is a long valued field containing both generic and component MIB specific flag values. At this time, there are no WS_MIB
(5) specific flag values defined.
FML32 Field Tables
The field tables for the attributes described in this reference page are found in the file udataobj/tpadm
relative to the root directory of the Oracle Tuxedo system software installed on the system. The directory ${TUXDIR}/udataobj
should be included by the application in the colon-separated list specified by the FLDTBLDIR
environment variable and the field table name tpadm
should be included in the comma-separated list specified by the FIELDTBLS
environment variable.
Limitations
Access to the header files and field tables for this MIB is being provided only on Oracle Tuxedo system 6.0 sites and later, both native and Workstation.
T_WSH Class Definition
Overview
The T_WSH
class represents run-time attributes of WSH client processes. These attribute values characterize Workstation statistics specific to a particular WSH client process. This class is linked to the T_WSL
class by the common key fields, TA_SRVGRP
and TA_SRVID
. It is also linked to the T_CLIENT
class (see TM_MIB(5)
) by the common key field TA_WSHCLIENTID
.
Attribute Table
1 All attributes in the T_WSH
class are local attributes.
2 Maximum string length for this attribute is 78 bytes for Oracle Tuxedo 8.0 or earlier.
Attribute Semantics
TA_CLIENTID
: string
[1..78]
TA_WSHCLIENTID
: string
[1..78]
T_CLIENT
objects. This field value is always equal to the value for the
TA_CLIENTID
attribute for this class.
TA_SRVGRP
: string
[1..30]
TA_SRVID
: 1 <= num
< 30,001
TA_STATE
:
T_CLIENT
class in
TM_MIB(5)
may be returned or set as indicated on that reference page. State changes to the SUSpended state are transitive to all clients associated with this WSH as is the resetting of a SUSpended WSH to ACTive. Additionally, SUSpended WSH clients will not be assigned any additional incoming clients by the WSL. Note that the state of a WSH client may not be set to
DEAD
when accessing the
T_CLIENT
class; however, the state transition to
DEAD
is allowed via the
T_WSH
class and will result in all connections being handled by the targeted WSH to be dropped abortively.
TA_LMID
: LMID
TA_PID
: 1 = num
TA_NADDR
: string
[1..256] (up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
TA_HWCLIENTS
: 1 <= num
<32,767
TA_MULTIPLEX
: 1 <= num
<32,767
TA_CURCLIENTS
: 1 <= num
<32,767
TA_TIMELEFT
: 0 <= num
TA_ACTIVE
: {Y
| N
}
Y
indicates that the WSH is currently performing work on behalf of one of its associated Workstation clients. A value of
N
indicates that the WSH is currently waiting for work to perform on behalf of one of its associated Workstation clients.
TA_TOTACTTIME
: 0 <= num
TA_TOTIDLTIME
: 0 <= num
TA_CURWORK
: 0 <= num
TA_FLOWCNT
: 0 <= num
TA_NUMBLOCKQ
: 0 <= num
TA_RCVDBYT
: 0 <= num
TA_RCVDNUM
: 0 <= num
TA_SENTBYT
: 0 <= num
TA_SENTNUM
: 0 <= num
Limitations
This class represents a specialization of the T_CLIENT
class and as such represents certain attributes that are duplicated in the corresponding T_CLIENT
objects. Attributes not listed that are included in the T_CLIENT
class must be accessed via that class and are not available through the T_WSH
class.
The attributes of WSH servers are meaningful only in a run-time environment. Therefore they cannot be changed, in an unbooted environment, by using the tpadmcall(3c) function.
T_WSL Class Definition
Overview
The T_WSL
class represents configuration and run-time attributes of WSL server processes configured to manage Workstation groups. These attribute values identify and characterize Workstation specific configuration attributes for WSL T_SERVER
objects within the application. This class is linked to the T_WSH
class by the common key fields, TA_SRVGRP
and TA_SRVID
.
Attribute Table
1 If a value for this attribute is not specified at the time the object is created, a value of 0 will be assigned. A value of 0 for this attribute indicates that the effective value is determined at activation time from the current setting for TA_MAXHANDLERS
and the T_MACHINE
class setting for TA_MAXWSCLIENTS
. Note that a GET
operation with the MIB_LOCAL
flag set will get the effective value for objects with an activation time default setting.
2 Link-level encryption value of 40 bits is provided for backward compatibility.
3 Maximum string length for this attribute is 78 bytes for Oracle Tuxedo 8.0 or earlier.
Attribute Semantics
TA_SRVGRP
: string
[1..30]
TA_SRVID
: 1 <= num
< 30,001
TA_GRPNO
: 1 <= num
< 30,001
TA_STATE
:
T_SERVER
class in
TM_MIB(5)
may be returned or set as indicated on that reference page.
TA_LMID
: LMID
TA_PID
: 1 = num
TA_DEVICE
: string
[0..78]
TA_NADDR
: string
[1..256] (up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
string
has the form
“0x
hex-digits
”
or
“\\x
hex-digits
”
, it must contain an even number of valid hex digits. These forms are translated internally into a character array containing TCP/IP addresses. The value of
string
may also be represented in any of the following forms shown in
Table 77.
hostname
is resolved to a TCP/IP host address at the time the address is bound using the locally configured name resolution facilities accessed via
gethostbyname
(3c). For Ipv4, the string
#.#.#.#
is the dotted decimal format in which each
#
represents a decimal number in the range 0 to 255.
Port_number
is a decimal number in the range 0 to 65535.
Note: | Some port numbers may be reserved for the underlying transport protocols (such as TCP/IP) used by your system. Check the documentation for your transport protocols to find out which numbers, if any, are reserved on your system. |
TA_EXT_NADDR
: string
[0..78]
TA_NADDR
except that it substitutes the port number with same length of character M to indicate the position of the combined network address will be copied from the WSH network address. For example when Address template is 0x0002MMMMdddddddd and WSH network address is 0x00021111ffffffff then the well known network address will be 0x00021111dddddddd. When address template starts with "//" network address type assumes to be IP based and the TCP/IP port number of WSH network address will be copied into the address template to form the combined network address. This feature is useful when Workstation client needs to connect to a WSH through a router which performs Network Address Translation. Empty
TA_EXT_NADDR
string in a
SET
operation on an existing
T_WSL
object will eliminate the
-H
entry from the
TA_CLOPT
attribute.
Note: | Tuxedo IPv6 addressing does not support TA_EXT_NADDR. |
TA_WSHNAME
: string
[1..78]
buildwsh()
. See the Customization section and the
buildwsh(1) reference page for more details.
TA_MINHANDLERS
: 0 <= num
< 256
TA_MAXHANDLERS
: 0 <= num
< 32,767
TA_MULTIPLEX
: 1 <= num
< 32,767
TA_MINENCRYPTBITS
: {0
| 40
| 56
| 128
| 256
}
0
means no encryption, while
40
,
56
, and
128
specify the encryption key length (in bits). If this minimum level of encryption cannot be met, link establishment fails. The default is 0.
Note: | The link-level encryption value of 40 bits is provided for backward compatibility. |
TA_MAXENCRYPTBITS
: {0
| 40
| 56
| 128
| 256
}
0
means no encryption, while
40
,
56
, and
128
specify the encryption length (in bits). The default is
128
.
Note: | The link-level encryption value of 40 bits is provided for backward compatibility. |
TA_CERTIFICATE_AUTHENTICATION
: “
{Y
| N
}”
TA_SECUREPORT
: 0 <= num
< 32,767
TA_SSL_RENEGOTIATION
: 0 <= num
< 35,791,394
TA_MINWSHPORT
: 0 <= num
< 65,535
TA_MAXWSHPORT
: 0 <= num
< 65,535
TA_MAXIDLETIME
: 0 <= num
< 35,204,650
TA_MAXINITTIME
: 1 <= num
< 32,767
TA_CMPLIMIT
: threshold
threshold
value may be either non-negative numeric values or the string
MAXLONG
, which is dynamically translated to the maximum long setting for the machine. Limitation: This attribute value is not used for Workstation clients running Oracle Tuxedo Workstation release 6.1 or earlier.
TA_CLOPT
: string
[0..1024]
servopts(5)
reference page for details. Limitations: Run-time modifications to this attribute will not affect a running WSL server. Server specific options (that is, those after a double-dash "--") may not be set and will not be returned.
TA_ENVFILE
: string
[0..256] (up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
T_MACHINE:TA_ENVFILE
for a complete discussion of how this file is used to modify the environment. Limitation: Run-time modifications to this attribute will not affect a running WSL server.
TA_GRACE
: 0 <= num
T_WSL:TA_MAXGEN
limit applies. This attribute is meaningful only for restartable WSL servers, that is, if the
T_WSL:TA_RESTART
attribute is set to "
Y
". When a restarting server would exceed the
TA_MAXGEN
limit but the
TA_GRACE
period has expired, the system resets the current generation (
T_SERVER:TA_GENERATION
) to 1 and resets the initial boot time (
T_SERVER:TA_TIMESTART
) to the current time. A value of 0 for this attribute indicates that the WSL server should always be restarted.
TA_KEEPALIVE
: “
{client
| handler
| both
| none
}”
“none”
.
TA_MAXGEN
: 1 <= num
< 256
T_WSL:TA_RESTART == "Y"
) over the specified grace period (
T_WSL:TA_GRACE
). The initial activation of the WSL server counts as one generation and each restart also counts as one. Processing after the maximum generations is exceeded is discussed above with respect to
TA_GRACE
.
TA_NETTIMEOUT
: 0 <= num
<= MAXLONG
TA_NETTIMEOUT
is the minimum number of seconds that a Workstation client is allowed to wait to receive a response from the WSL/WSH. A value of 0 indicates no network timeout.
TA_RCMD
: string
[0..256] (up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
TA_RESTART
: “
{Y
| N
}”
“Y”
) or non-restartable (
“N”
) WSL server. If server migration is specified for this server group (
T_RESOURCE:TA_OPTIONS/MIGRATE T_GROUP:TA_LMID
w/ alternate site), this attribute must be set to
“Y”
.
TA_SEQUENCE
: 1 <= num
< 10,000
T_WSL
objects added without a
TA_SEQUENCE
attribute specified or with an invalid value will have one generated for them that is 10,000 or more and is higher than any other automatically selected default. Servers are booted by
tmboot()
in increasing order of sequence number and shutdown by
tmshutdown()
in decreasing order. Run-time modifications to this attribute affect only
tmboot()
and
tmshutdown()
and will affect the order in which running servers may be shutdown by a subsequent invocation of
tmshutdown()
.
TA_CURHANDLERS
: 0 <= num
TA_HWHANDLERS
: 0 <= num
TA_WSPROTO
: 0 <= num
TA_SUSPENDED
: “
{NEW
| ALL
| NONE
}”
“NEW”
indicates that new incoming clients may not connect through this WSL object. A value of
“ALL”
indicates that Workstation clients already connected to the application through this WSL have been suspended (see
TM_MIB(5)
) in addition to disallowing new incoming connections. A value of
“NONE”
indicates that no suspension characteristics are in effect.
TA_VIEWREFRESH
: Y
Y
will cause all active WSHs in the Workstation group to refresh their
VIEW
buffer type cache.
Limitations
This class represents a specialization of the T_SERVER
class and as such represents certain attributes that are duplicated in the corresponding T_SERVER
objects. Attributes not listed that are included in the T_SERVER
class must be accessed via that class and are not available through the T_WSL
class.
WS_MIB(5) Additional Information
Diagnostics
There are two general types of errors that may be returned to the user when interfacing with WS_MIB
(5). First, any of the three ATMI verbs (tpcall()
, tpgetrply()
and tpdequeue()
) used to retrieve responses to administrative requests may return any error defined for them. These errors should be interpreted as described on the appropriate reference pages.
If, however, the request is successfully routed to a system service capable of satisfying the request and that service determines that there is a problem handling the request, failure may be returned in the form of an application level service failure. In these cases, tpcall()
and tpgetrply()
will return an error with tperrno
set to TPESVCFAIL
and return a reply message containing the original request along with TA_ERROR
, TA_STATUS
and TA_BADFLD
fields further qualifying the error as described below. When a service failure occurs for a request forwarded to the system through the TMQFORWARD(5)
server, the failure reply message will be enqueued to the failure queue identified on the original request (assuming the -d
option was specified for TMQFORWARD
).
When a service failure occurs during processing of an administrative request, the FML32 field TA_STATUS
is set to a textual description of the failure, the FML32 field TA_ERROR
is set to indicate the cause of the failure as indicated below. All error codes specified below are guaranteed to be negative.
[other
]
MIB(5)
reference page. These error codes are guaranteed to be mutually exclusive with any
WS_MIB
(5) specific error codes defined here.
The following diagnostic codes are returned in TA_ERROR
to indicate successful completion of an administrative request. These codes are guaranteed to be non-negative.
[other
]
MIB(5)
reference page. These return codes are guaranteed to be mutually exclusive with any
WS_MIB
(5) specific return codes defined here.
Interoperability
The header files and field tables defined in this reference page are available on Oracle Tuxedo release 5.0 and later. Fields defined in these headers and tables will not be changed from release to release. New fields may be added which are not defined on the older release site. Access to the AdminAPI is available from any site with the header files and field tables necessary to build a request. The T_WSL
and T_WSH
classes are new with Oracle Tuxedo system release 6.0; therefore, local administration of WSL and WSH processes on earlier release sites via the AdminAPI is not available. However, many of the administrative actions defined in this reference page are available for pre-release 6.0 sites if they are interoperating with a release 6.0 site. If sites of differing releases, both greater than or equal to release 6.0, are interoperating, information on the older site is available for access and update as defined in the MIB reference page for that release and may be a subset of the information available in the later release.
Portability
The existing FML32 and ATMI functions necessary to support administrative interaction with Oracle Tuxedo system MIBs, as well as the header file and field table defined in this reference page, are available on all supported native and Workstation platforms.
Example
Following is a sequence of code fragments that deactivate a Workstation group in an orderly fashion using a combination of TM_MIB(5)
and WS_MIB
(5).
Field Tables
The field table tpadm must be available in the environment to have access to attribute field identifiers. This can be done at the shell level as follows:
$ FIELDTBLS=tpadm $ FLDTBLDIR=${TUXDIR}/udataobj $ export FIELDTBLS FLDTBLDIR
Header Files
The following header files are included.
#include <atmi.h> #include <fml32.h> #include <tpadm.h>
Suspend Workstation Group
The following code fragment sets the state of the Workstation group to SUSpended
. This disables the Workstation group from accepting new connections from Workstation clients and suspends all Workstation clients that are currently part of the group. This code fragment and those that follow assume that the local variables ta_srvgrp
and ta_srvid
are already set to identify the Workstation group with which we are working.
/* Allocate input and output buffers */ ibuf = tpalloc("FML32", NULL, 1000); obuf = tpalloc("FML32", NULL, 1000); /* Set MIB(5) attributes defining request type */ Fchg32(ibuf, TA_OPERATION, 0, "SET", 0); Fchg32(ibuf, TA_CLASS, 0, "T_WSL", 0); /* Set WS_MIB(5) attributes */ Fchg32(ibuf, TA_SRVGRP, 0, ta_srvgrp, 0); Fchg32(ibuf, TA_SRVID, 0, (char *)ta_srvid, 0); Fchg32(ibuf, TA_SUSPENDED, 0, "ALL", 0); /* Make the request */ if (tpcall(".TMIB", (char *)ibuf, 0, (char **)obuf, olen, 0) 0) { fprintf(stderr, "tpcall failed: %s\en", tpstrerror(tperrno)); if (tperrno == TPESVCFAIL) { Fget32(obuf, TA_ERROR, 0,(char *)ta_error, NULL); ta_status = Ffind32(obuf, TA_STATUS, 0, NULL); fprintf(stderr, "Failure: %ld, %s\en", ta_error, ta_status); } /* Additional error case processing */ } /* Copy the logical machine identifier for later use */ strcpy(ta_lmid, Ffind32(obuf, TA_LMID, 0, NULL));
Get List of WSH Objects
Using the existing input buffer, simply change the class and operation and make a new request. We'll retrieve all T_WSH
objects associated with the given T_WSL
object key fields, ta_srvgrp
and ta_srvid
. Set the TA_FILTER
attribute to limit the retrieval for efficiency.
/* Set MIB(5) attributes defining request type */ Fchg32(ibuf, TA_CLASS, 0, "T_WSH", 0); Fchg32(ibuf, TA_OPERATION, 0, "GET", 0); longval = TA_WSHCLIENTID; Fchg32(ibuf, TA_FILTER, 0, (char *)longval, 0); /* Set WS_MIB(5) attributes */ Fchg32(ibuf, TA_LMID, 0, ta_lmid, 0); /* Allocate a separate output buffer to save the TA_WSHCLIENTID values */ wshcltids = tpalloc("FML32", NULL, 1000); /* Make the request */ tpcall(".TMIB", (char *)ibuf, 0, (char **)wshcltids, olen, 0); /* See how many we got */ Fget32(wshcltids, TA_OCCURS, 0,(char *)wshcltcnt, NULL);
Get T_CLIENT Objects
Use the retrieved TA_WSHCLIENTID
values to get a list of associated TA_CLIENTID
values for Workstation clients in this Workstation group.
/* Initialize request buffer */ Finit32(ibuf, Fsizeof32(ibuf)); /* Set MIB(5) attributes defining request type */ Fchg32(ibuf, TA_OPERATION, 0, "GET", 0); Fchg32(ibuf, TA_CLASS, 0, "T_CLIENT", 0); longval = TA_CLIENTID; Fchg32(ibuf, TA_FILTER, 0, (char *)longval, 0); longval = TA_WSHCLIENTID; Fchg32(ibuf, TA_FILTER, 1, (char *)longval, 0); /* Set WS_MIB(5) attributes */ Fchg32(ibuf, TA_LMID, 0, ta_lmid, 0); Fchg32(ibuf, TA_WSC, 0, "Y", 0); if (wshcltcnt == 1) { /* Since only 1, use it as key field. */ Fchg32(ibuf, TA_WSHCLIENTID, 0, Ffind32(wshcltids, TA_WSHCLIENTID, 0, NULL)); } /* Allocate output buffer to save TA_CLIENTID/TA_WSHCLIENTID values */ cltids = tpalloc("FML32", NULL, 1000); /* Make the request */ tpcall(".TMIB", (char *)ibuf, 0, (char **)cltids, olen, 0); /* See how many we got */ Fget32(cltids, TA_OCCURS, 0,(char *)cltcnt, NULL); /* Eliminate unassociated clients if necessary */ if (wshcltcnt > 1) { for (i=(cltcnt-1); i >= 0 ;i--) { p = Ffind32(cltids, TA_WSHCLIENTID, i, NULL); for (j=0; j wshcltcnt ;j++) { q = Ffind32(wshcltids, TA_WSHCLIENTID, j, NULL); if (strcmp(p, q) == 0) { break; /* This client is in our group */ } } if (j >= wshcltcnt) { /* Client not found, delete it from list */ Fdel32(cltids, TA_CLIENTID, i); Fdel32(cltids, TA_WSHCLIENTID, i); cltcnt--; } } }
Notify T_CLIENT Objects
Use the retrieved TA_CLIENTID
values to notify Workstation clients in this Workstation group that they should log off.
notstr = tpalloc("STRING", NULL, 100); (void)strcpy(notstr, "Please logoff now!"); /* Now loop through affected clients and suspend/notify them */ for (i=0; i cltcnt ;i++) { p = Ffind32(cltids, TA_CLIENTID, i, NULL); /* Notify the client to logoff */ tpconvert(p, (char *)ci, TPCONVCLTID); tpnotify(ci, notptr, 0, 0); }
Deactivate Remaining T_CLIENT Objects
Use the retrieved TA_CLIENTID
values to deactivate any remaining Workstation clients in this Workstation group. Note that those that are already gone will return an error on the SET that we will ignore.
/* Initialize request buffer */ Finit32(ibuf, Fsizeof32(ibuf)); /* Set MIB(5) attributes defining request type */ Fchg32(ibuf, TA_OPERATION, 0, "SET", 0); Fchg32(ibuf, TA_CLASS, 0, "T_CLIENT", 0); Fchg32(ibuf, TA_STATE, 0, "DEAd", 0); /* Now loop through affected clients and deactivate them */ for (i=0; i cltcnt ;i++) { p = Ffind32(cltids, TA_CLIENTID, i, NULL); Fchg32(ibuf, TA_CLIENTID, 0, p); /* Make the request */ tpcall(".TMIB", (char *)ibuf, 0, (char **)obuf, olen, 0); }
Deactivate T_WSL Object
Now deactivate the T_WSL
object. This will automatically deactivate any associated active T_WSH
objects.
/* Set MIB(5) attributes defining request type */ Fchg32(ibuf, TA_OPERATION, 0, "SET", 0); Fchg32(ibuf, TA_CLASS, 0, "T_WSL", 0); Fchg32(ibuf, TA_STATE, 0, "INActive", 0); /* Set WS_MIB(5) attributes */ Fchg32(ibuf, TA_SRVGRP, 0, ta_srvgrp, 0); Fchg32(ibuf, TA_SRVID, 0, (char *)ta_srvid, 0); /* Make the request */ tpcall(".TMIB", (char *)ibuf, 0, (char **)obuf, olen, 0); }
Files
${TUXDIR}/include/tpadm.h, ${TUXDIR}/udataobj/tpadm
See Also
tpacall(3c), tpalloc(3c), tpcall(3c), tpdequeue(3c), tpenqueue(3c), tpgetrply(3c), tprealloc(3c), Introduction to FML Functions, Fadd, Fadd32(3fml), Fchg, Fchg32(3fml), Ffind, Ffind32(3fml), MIB(5)
, TM_MIB(5)
Setting Up an Oracle Tuxedo Application
Administering an Oracle Tuxedo Application at Run Time
Programming an Oracle Tuxedo ATMI Application Using C
Programming an Oracle Tuxedo ATMI Application Using FML
WSL(5)
Name
WSL
—Workstation Listener server
Synopsis
WSL SRVGRP="identifier
" SRVID="number
" CLOPT="[-A] [servoptsoptions
] -- -nnetaddr
[-ddevice
] [-wWSHname
] [-ttimeout-factor
] [-TClient-timeout
] [-mminh
] [-Mmaxh
] [-xmpx-factor
] [-pminwshport
] [-Pmaxwshport
] [-Iinit-timeout
] [-ccompression-threshold
] [-kcompression-threshold
] [-K {client|handler|both|none}] [-z
bits
] [-Z
bits
] [-H
external-netaddr
][-N
network-timeout
]
[-U
inbound-message-size-limit-in-bytes]
[-a] [-v{detect|warn|none}] [-R renegotiation_interval] [-S secure_port]”
Description
The workstation listener is an Oracle Tuxedo system-supplied server that enables access to native services by Workstation clients. The application administrator enables workstation access to the application by specifying the workstation listener server as an application server in the SERVERS
section. The associated command-line options are used to parameterize the processing of the workstation listener and workstation handlers.
The location, server group, server ID, and other generic server related parameters are associated with the workstation listener using the already defined configuration file mechanisms for servers. Workstation listener specific command-line options are specified to allow for customization.
Each WSL booted as part of an application facilitates application access for a large number of Workstation clients by providing access via a single well known network address to a set of workstation handlers (WSHs) acting as surrogate clients for the users running on the workstations. The WSHs are started and stopped dynamically by the WSL as necessary to meet the incoming load from the application workstations. The advantages to the application administrator are that a small number of native site processes (WSHs) can support a much larger number of clients, thus reducing the process count on the native site, and that the native site does not need to incur the overhead of maintaining bulletin board information on the workstation sites, which may be quite numerous.
The following WSL-specific command-line options are available and may be listed after the double-dash (--) in the CLOPT
parameter.
-n
netaddr
netaddr
(which may contain from 1 to 78 characters) has the form
“0x
hex-digits
”
or
“\\x
hex-digits
”
, it must contain an even number of valid hex digits. These forms are translated internally into a character array containing TCP/IP addresses. The address may also be represented in any of the following forms as shown in
Table 78.
For IPv4, the string
#.#.#.#
is the dotted decimal format in which each
#
represents a decimal number in the range 0 to 255. The value of
port_number
is a decimal number in the range 0 to 65535.
Note: | Some port numbers may be reserved for the underlying transport protocols (such as TCP/IP) used by your system. Check the documentation for your transport protocols to find out which numbers, if any, are reserved on your system. |
[-d
device
]
[-w
WSHname
]
buildwsh()
. See the
buildwsh(1) reference page for more details.
[-t
timeout-factor
]
-I
option and is being supported for upward compatibility in Oracle Tuxedo release 6.0 but may be removed in future releases. The number, when multiplied by
SCANUNIT
, results in the amount of time in seconds that should be allowed for a Workstation client to complete initialization processing through the WSH before being timed out by the WSL. The default for this parameter is 3 in a non-security application and 6 in a security application. The legal range is between 1 and 255.
[-T
client-timeout
]
Client-timeout
is the amount of time (in minutes) a client is allowed to stay idle. If a client does not make any requests within this time period, the WSH disconnects the client. The option can be used for client platforms that are unstable (such as a personal computer that might be turned off without calling
tpterm()
). Note that the option also affects clients that get unsolicited message notifications and do not follow up on them. If
-T
is specified without an argument, there is no timeout.
[-m
minh
]
[-M
maxh
]
MAXWSCLIENTS
on the logical machine divided by the multiplexing factor for this WSL (see
-x
option below) rounded up by one. The legal range for this parameter is between 1 and 4096. The value must be greater than or equal to
minh
.
[-x
mpx-factor
]
[-p
minwshport
]
[-P
maxwshport
]
minwshport
and 65535 for
maxwshport
.
Note: | Some port numbers may be reserved for the underlying transport protocols (such as TCP/IP) used by your system. Check the documentation for your transport protocols to find out which numbers, if any, are reserved on your system. |
[-I
init-timeout
]
-t
option and is the recommended method for setting client initialization timeout intervals. The time, in seconds that should be allowed for a Workstation client to complete initialization processing through the WSH before being timed out by the WSL. The default for this parameter is 60. The legal range is between 1 and 32,767.
[-c
compression-threshold
]
[-k
compression-threshold
]
-c
option, others using the
-k
option. The
-k
works exactly like
-c
.
[-K
{client
| handler
| both
| none
}]
-K
option turns on the network keep-alive feature for the
client
, the
handler
, or
both
. You can turn off this option for both the client and handler by specifying
none
.
[-z
[0
| 40
| 56
| 128|256
]]
0
means no encryption, while
40
,
56
,
128
, and
256
specify the length (in bits) of the encryption key. If this minimum level of encryption cannot be met, link establishment fails. The default is
0
. This option is available only if Oracle Tuxedo Security (either 56-bit or 128/256-bit) is installed.
Note: | The link-level encryption value of 40 bits is provided for backward compatibility. 256-bit encryption is currently possible only when using SSL. |
[-Z
[0
| 40
| 56
| 128
|256
]]
0
means no encryption, while
40
,
56
,
128
, and
256
specify the length (in bits) of the encryption key. The default is 128 for LLE and 256 for SSL. This option is available only if Oracle Tuxedo Security (either 56-bit or 128/256-bit) is installed.
Note: | The link-level encryption value of 40 bits is provided for backward compatibility. 256-bit encryption is currently possible only when using SSL. |
[-H
external-netaddr
]
-n
option except that it substitutes the port number with same length of character
M
to indicate the position of the combined network address will be copied from the WSH network address. For example when address template is 0x0002MMMMdddddddd and WSH network address is 0x00021111ffffffff then the well known network address will be 0x00021111dddd dddd. When address template starts with "//" network address type assumes to be IP based and the TCP/IP port number of WSH network address will be copied into the address template to form the combined network address. This feature is useful when Workstation client needs to connect to a WSH through a router which performs Network Address Translation.
Note: | Tuxedo IPv6 addressing does not support -H option. |
[-N
network-timeout
]
[-U
inbound-message-size-limit-in-bytes
]
[-a
]
[-v
{detect|warn|none}
]
detect
value of causes the Oracle Tuxedo to verify that the host specified in the object reference used to make the connection matches the domain name specified in the peer server’s digital certificate. If the comparison fails, the Oracle Tuxedo refuses the authenticate the peer and drops the connection. The
detect
value is the default value.
A
warn
value causes the Oracle Tuxedo to verify that the host specified in the object reference used to make the connection matches the domain name specified in the peer’s digital certificate. If the comparison fails, the Oracle Tuxedo logs a message to the user log but continues to process the connection.
A
none
value of causes the Oracle Tuxedo to not perform the peer validation and to continue to process the connection.
The
-v
parameter is only available if licenses for SSL or LLE (link level encryption) are installed.
[-R renegotiation-interval
]
Note: | If the -R parameter is specified and the -S parameter is not specified or set to 0, the WSL sends a warning message to the userlog. |
[-S secure-port
]
-S
and
-n
options to the same value. The value must be greater than or equal to 0 and less than or equal to 32767. The default value is 0.
Note: | If the -R parameter is specified and the -S parameter is not specified or set to 0, the WSL sends a warning message to the userlog. |
Any configuration that prevents the WSL from supporting Workstation clients will cause the WSL to fail at boot time, for example, if the MAXWSCLIENTS
value for the site is 0.
Portability
WSL
is supported as an Oracle Tuxedo system-supplied server on all supported server platforms.
Interoperability
WSL
may be run in an interoperating application, but it must run on an Oracle Tuxedo release 4.2 or later node.