|
This section describes the format of miscellaneous tables and files.
The page named compilation(5) summarizes information about header files, libraries, and environment variables needed when compiling application source code.
The section includes descriptions of Oracle Tuxedo system-supplied servers. Applications wishing to use the Oracle Tuxedo system-supplied servers should specify them in the configuration file for the application.
The servopts page describes options that can be specified in the configuration file as the CLOPT parameter of application servers.
The Oracle Tuxedo Management Information Base is documented in the MIB(5) reference page and in the following component MIB pages:
ACL_MIB—Management Information Base for ACLs
#include <fml32.h>
#include <tpadm.h>
The Oracle Tuxedo MIB defines the set of classes through which access control lists (ACLs) may be managed. An Oracle Tuxedo configuration with SECURITY set to USER_AUTH, ACL, or MANDATORY_ACL must be created before accessing or updating these classes. ACL_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 ACL_MIB(5) class definitions, see ACL_MIB(5) Additional Information.
ACL_MIB(5) consists of the following classes.
Each class description section has four subsections:
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 reference guide to the attributes within a class and how they may used by administrators, operators and general users 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).
MIB(5) defines the generic TA_FLAGS attribute which is a long containing both generic and component MIB specific flag values. At this time, there are no ACL_MIB(5) specific flag values defined.
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.
Access to the header files and field tables for this MIB is provided only at sites running Oracle Tuxedo release 6.0 and later, both native and Workstation.
The T_ACLGROUP class represents groups of Oracle Tuxedo application users and domains.
TA_GROUPNAME: string[1..30]
TA_GROUPID: 0 <= num < 16,384
TA_STATE:
GET operation will retrieve configuration information for the selected T_ACLGROUP object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request.
SET operation will update configuration information for the selected T_ACLGROUP object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
A user can be associated with exactly one ACL group. For someone to take on more than one role or be associated with more than one group, multiple user entries must be defined.
The T_ACLPERM class indicates what groups are allowed to access Oracle Tuxedo system entities. These entities are named via a string. The names currently represent service names, event names, and application queue names.
TA_ACLNAME: string
TA_ACLTYPE: ENQ | DEQ | SERVICE | POSTEVENT
TA_ACLGROUPIDS: string
string is limited only by the amount of disk space on the machine.
TA_STATE:
GET operation will retrieve configuration information for the selected T_ACLPERM object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request.
SET operation will update configuration information for the selected T_ACLPERM object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
Permissions are defined at the group level, not on individual user identifiers.
The T_ACLPRINCIPAL class represents users or domains that can access an Oracle Tuxedo application and the group with which they are associated. To join the application as a specific user, it is necessary to present a user-specific password.
TA_PRINNAME: string
TA_PRINCLTNAME: string
*). A client name is a string of printable characters and cannot contain a colon, or newline.
TA_PRINID: 1 <= num < 131,072
TA_PRINGRP: 0 <= num < 16,384
TA_PRINPASSWD: string
TA_STATE:
GET operation will retrieve configuration information for the selected T_ACLPRINCIPAL object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request.
SET operation will update configuration information for the selected T_ACLPRINCIPAL object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
A user or domain can be associated with exactly one ACL group. For someone to take on more than one role or be associated with more than one group, multiple principal entries must be defined.
There are two general types of errors that may be returned to the user when interfacing with ACL_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.
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 ACL_MIB(5) specific return codes defined here.
The header files and field tables defined in this reference page are available on Oracle Tuxedo release 6.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_ACLPRINCIPAL, T_ACLGROUP, and T_ACLPERM classes are new with Oracle Tuxedo release 6.0.
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.
Following is a sequence of code fragments that adds a user to a group and adds permissions for that group to a service name.
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
The following header files are included.
#include <atmi.h>
#include <fml32.h>
#include <tpadm.h>
The following code fragment adds a user to the default group “other.”
/* 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_ACLPRINCIPAL", 0);
/* Set ACL_MIB(5) attributes */
Fchg32(ibuf, TA_PRINNAME, 0, ta_prinname, 0);
Fchg32(ibuf, TA_PRINID, 0, (char *)ta_prinid, 0);
Fchg32(ibuf, TA_STATE, 0, (char *)"NEW", 0);
Fchg32(ibuf, TA_PRINPASSWD, 0, (char *)passwd, 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 */
}
${TUXDIR}/include/tpadm.h, ${TUXDIR}/udataobj/tpadm,
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
Programming an Oracle Tuxedo ATMI Application Using C
Programming an Oracle Tuxedo ATMI Application Using FML
APPQ_MIB—Management Information Base for /Q
#include <fml32.h>
#include <tpadm.h>
The /Q MIB defines classes through which application queues can be managed.
APPQ_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 on 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. Application queues in an inactive application may also be administered using the tpadmcall() function interface. For additional information pertaining to all APPQ_MIB(5) class definitions, see APPQ_MIB(5) Additional Information.
APPQ_MIB(5) consists of the following classes.
Note that this MIB refers to application-defined persistent (reliable disk-based) and non-persistent (in memory) queues (that is, /Q queues), and not server queues (the T_QUEUE class of the TM_MIB(5) component).
Each class description section has four subsections:
Each class that is a part of this MIB is documented in four parts. One part is the attribute table. The attribute table is a reference guide to the attributes within a class and how they may used by administrators, operators, and general users 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).
MIB(5) defines the generic TA_FLAGS attribute which is a long containing both generic and component MIB-specific flag values. The following flag values are defined for the APPQ_MIB(5) component. These flag values should be OR’d with any generic MIB flags.
QMIB_FORCECLOSE
TA_STATE attribute of a T_APPQSPACE object to CLEaning, this flag indicates that the state change should succeed even if the state of the queue space is ACTive.
QMIB_FORCEDELETE
TA_STATE attribute of a T_APPQSPACE object to INValid, this flag indicates that the state change should succeed even if the queue space is ACTive or if messages are present in any of its queues. Similarly, when setting the TA_STATE attribute of a T_APPQ object to INValid, this flag allows the queue to be deleted even if messages are present or processes are attached to the queue space.
QMIB_FORCEPURGE
TA_STATE attribute of a T_APPQ object to INValid, this flag indicates that the state change should succeed even if messages are present on the queue. If, however, a message stored in the selected T_APPQ object is currently involved in a transaction, the state change will fail and an error will be written to the user log.
The field table for the attributes described on this reference page is found in the file udataobj/tpadm relative to the root directory of the Oracle Tuxedo software installed on the system. The directory ${TUXDIR}/udataobj should be included by the application in the path list (semicolon-separated list on Windows and colon-separated list otherwise) 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.
This MIB is provided only on Oracle Tuxedo system 6.0 sites and later, both native and Workstation.
If a site running an Oracle Tuxedo release earlier than release 6.0 is active in the application, administrative access through this MIB is limited as follows.
The T_APPQ class represents application queues. One or more application queues may exist in a single application queue space.
It is not possible to retrieve all instances of this class by leaving all key fields unset. Instead, sufficient key fields must be supplied to explicitly target a single application queue space. These required key fields are TA_APPQSPACENAME, TA_QMCONFIG, and TA_LMID, except when the application is unconfigured (that is, when the TUXCONFIG environment variable is not set), in which case TA_LMID must be omitted. For example, if the TA_APPQSPACENAME, TA_QMCONFIG, and TA_LMID attributes are set in a request using tpcall(), all T_APPQ objects within the specified queue space will be retrieved.
a All attributes of class T_APPQ are local attributes.
b TA_LMID must be specified as a key field except when the application is unconfigured (that is, the TUXCONFIG environment variable is not set).
c All operations on T_APPQ objects—both GET and SET—silently open the associated queue space (that is, implicitly set the state of the queue space to OPEn if it is not already OPEn or ACTive). This may be a time-consuming operation if the queue space is large.
d TA_APPQORDER cannot be modified after the application queue is created.
e Maximum string length for this attribute is 78 bytes for Oracle Tuxedo 8.0 or earlier.
f Sufficient key fields must be supplied in a GET operation to explicitly target a single application queue space.
TA_APPQNAME: string[1..127]
TA_APPQSPACENAME: string[1..15]
TA_QMCONFIG: string[1..78]
TA_LMID: string[1..30] (no comma)
TA_STATE:
GET operation retrieves information about the selected application queues. The following list describes the meaning of the TA_STATE attribute returned in response to a GET request.
SET operation changes characteristics of the selected application queue or creates a new queue. The following list describes the meaning of the TA_STATE attribute returned by a SET request. States not listed cannot be set.
TA_APPQORDER:
PRIO, TIME, or EXPIR. A combination of sort criteria may be specified with the most significant criterion specified first, followed by other criteria, and optionally followed by either LIFO or FIFO, which are mutually exclusive. If EXPIR is specified, messages with no expiration time are dequeued after all messages with an expiration time. If neither FIFO nor LIFO is specified, FIFO is assumed. If no order is specified when a queue is created, the default order is FIFO. For example, the following are settings are legal:
TA_CMD: shell-command-string[0..127]
TA_CMDHW, is reached. The command will be re-executed when the high water mark is reached again after the low water mark, TA_CMDLW, has been reached.
TA_CMDHW: 0 <= num[bBm%]
TA_CMDLW: 0 <= num[bBm%]
TA_CMD attribute. Each is an integer greater than or equal to zero. Both TA_CMDHW and TA_CMDLW must be followed by one of the following key letters and the key letters must be consistent for TA_CMDHW and TA_CMDLW.
TA_CMDLW is 50m and TA_CMDHW is 100m, the command specified in TA_CMD will be executed when 100 messages are on the queue, and it will not be executed again until the queue has been drained below 50 messages and has filled again to 100 messages.
TA_CMDNONPERSIST: shell-command-string[0..127]
TA_CMDNONPERSIST attribute is 78 bytes.
TA_CMDNONPERSISTHW: 0 <= num[bB%]
TA_CMDNONPERSISTLW: 0 <= num[bB%]
TA_CMDNONPERSIST attribute. Each is an integer greater than or equal to zero followed by one of the following key letters. The key letters must be consistent for TA_CMDNONPERSISTHW and TA_CMDNONPERSISTLW.
TA_CMDHW and TA_CMDLW attributes (when followed by an m) applies to all messages in a queue, including both persistent and non-persistent messages, and therefore is not available as a threshold type for TA_CMDNONPERSISTHW and TA_CMDNONPERSISTLW.
TA_CURBLOCKS: 0 <= num
TA_CURMSG: 0 <= num
TA_DEFAULTEXPIRATIONTIME:
NONE. The relative expiration time is determined by associating a fixed amount of time with a message after the message arrives at the queue manager process. When a message's expiration time is reached and the message has not been dequeued or administratively deleted, all resources associated with the message are reclaimed by the system and statistics are updated. If a message expires during a transaction, the expiration does not cause the transaction to fail. Messages that expire while being enqueued or dequeued within a transaction are removed from the queue when the transaction ends. There is no notification that the message has expired. If no default expiration time is specified for a queue, messages without an explicit expiration time do not expire. When the queue's expiration time is modified, the expiration times of messages that were in the queue before the modification are not changed.
+seconds where seconds is the number of seconds allowed to lapse between the time that the queue manager successfully completes the operation and the time that the message is to expire. If seconds is set to zero (0) the message expires immediately.
The value of this attribute may also be set to the string NONE. The NONE string indicates that messages enqueued to the queue with no explicit expiration time do not expire. You may change the expiration time for messages already in a queue with the TA_EXPIRETIME attribute of the T_APPQMSG class in the APPQ_MIB.
TA_DEFDELIVERYPOLICY:
PERSIST, messages enqueued to the queue without an explicitly specified delivery mode are delivered using the persistent (disk-based) delivery method. When the value is NONPERSIST, messages enqueued to the queue without an explicitly specified delivery mode are delivered using the non-persistent (in memory) delivery method.When a queue's default delivery policy is modified, the delivery quality of service of messages that are in the queue before the modification are not changed. If the queue being modified is the reply queue named for any messages currently in the queue space, the reply quality of service is not changed for those messages as a result of changing the default delivery policy of the queue.
TA_MEMNONPERSIST attribute of the T_APPQSPACE class is zero (0) for a queue space, no space is reserved for non-persistent messages. In such a case, any attempt to enqueue a non-persistent message fails. This type of failure results, for example, when no delivery quality of service has been specified for a message and the TA_DEFDELIVERYPOLICY attribute for the target queue has been set to NONPERSIST.
TA_MAXRETRIES: 0 <= num
TA_OUTOFORDER: {NONE | TOP | MSGID}
TA_RETRYDELAY: 0 <= num
TA_CURNONPERSISTBYTES: 0 <= num
TA_CURNONPERSISTMSG: 0 <= num
The T_APPQMSG class represents messages stored in application queues. A message is not created by an administrator; instead, it comes into existence as a result of a call to tpenqueue(). A message can be destroyed either by a call to tpdequeue() or by an administrator. In addition, certain attributes of a message can be modified by an administrator. For example, an administrator can move a message from one queue to another queue within the same queue space or change its priority.
It is not possible to retrieve all instances of this class by leaving all key fields unset. Instead, sufficient key fields must be supplied to explicitly target a single application queue space. These required key fields are TA_APPQSPACENAME, TA_QMCONFIG, and TA_LMID, except when the application is unconfigured (that is, the TUXCONFIG environment variable is not set), in which case TA_LMID must be omitted. For example, if the TA_APPQSPACENAME, TA_QMCONFIG, and TA_LMID attributes are set in a request using tpcall(), all T_APPQMSG objects in all queues of the specified queue space will be retrieved.
aAll attributes of class T_APPQMSG are local attributes.
bTA_LMID must be specified as a key field except when the application is unconfigured (that is, the TUXCONFIG environment variable is not set).
cAll operations on T_APPQMSG objects—both GET and SET—silently open the associated queue space (that is, implicitly set the state of the queue space to OPEn if it is not already OPEn or ACTive). This may be a time-consuming operation if the queue space is large.
dSufficient key fields must be supplied in a GET operation to explicitly target a single application queue space.
TA_APPQMSGID: string[1..32]
GET or SET operations. No significance should be placed on this value beyond using it for equality comparisons.
TA_APPQNAME: string[1..127]
TA_APPQSPACENAME: string[1..15]
TA_QMCONFIG: string[1..78]
TA_LMID: string[1..30] (no comma)
TA_STATE:
GET operation retrieves information about the selected messages. The following list describes the meaning of the TA_STATE attribute returned in response to a GET request.
SET operation changes characteristics of the selected message. The following list describes the meaning of the TA_STATE attribute returned by a SET request. States not listed cannot be set.
TA_CURRETRIES: 0 <= num
TA_CORRID: string[0..32]
TA_EXPIRETIME:
GET operation if the expiration time is not set. The TA_EXPIRETIME format is one of the following:
TA_LOWPRIORITY: 1 <= num <= 100 TA_HIGHPRIORITY: 1 <= num <= 100
T_APPQMSG objects. These attributes may only be used as key fields with GET operations.
TA_MSGEXPIRESTARTTIME:TA_MSGEXPIREENDTIME:
T_APPQMSG objects. The range is inclusive. A start or end time must be specified as an absolute time value; see TA_EXPIRETIME for the format. These attributes may only be used as key fields with GET operations.
TA_MSGSIZE: 0 <= num
TA_MSGSTARTTIME: TA_MSGENDTIME:
T_APPQMSG objects. The range is inclusive. A start or end time must be specified as an absolute time value; see
TA_TIME for the format. These attributes may only be used as key fields with GET operations.
TA_NEWAPPQNAME: string[1..127]
VALid for this operation to succeed. This attribute is not returned by a GET operation. The delivery quality of service of messages that are moved will not be changed as a result of the default delivery policy of the new queue. When messages with an expiration time are moved, the expiration time is considered an absolute expiration time in the new queue, even if it was previously specified as a relative expiration time.
TA_PERSISTENCE:
NONPERSIST for non-persistent messages and PERSIST for persistent messages.
TA_PRIORITY: 1 <= num <= 100
TA_REPLYPERSISTENCE:
NONPERSIST for non-persistent, PERSIST for persistent, and DEFAULT when the reply is to use the default persistence established for the queue where the reply is to be enqueued.
TA_TIME:
seconds in the future. The value zero (0) specifies that the message should be processed immediately.
The T_APPQSPACE class represents application queue spaces. An application queue space is an area in an Oracle Tuxedo system device; see the T_DEVICE class in TM_MIB(5) for more information about devices and their attributes. Each queue space typically contains one or more application queues, and each queue may have messages stored in it.
A queue space is uniquely identified by several attributes: its name (TA_APPQSPACENAME attribute), the device that contains it (TA_QMCONFIG attribute), and the logical machine where the device is located (TA_LMID attribute).
A queue space is typically associated with exactly one server group in a configured application. The queue space name as well as the device name are components of the TA_OPENINFO attribute of the T_GROUP object.
It is not possible to retrieve all instances of this class by leaving all key fields unset. Instead, all three key fields must be supplied to explicitly target a single application queue space. The single exception occurs when accessing a local queue space via tpadmcall() in the context of an unconfigured application (that is, the TUXCONFIG environment variable is not set). In this case the TA_LMID key field must be omitted.
The above limitation regarding accessibility of queue spaces also applies to T_APPQ, T_APPQMSG, and T_APPQTRANS objects because operations on all objects in the /Q MIB implicitly involve queue spaces.
a.All attributes of class T_APPQSPACE are local attributes.
b.TA_LMID must be specified as a key field except when the application is unconfigured (that is, the TUXCONFIG environment variable is not set).
c.All operations on T_APPQ, T_APPQMSG, and T_APPQTRANS objects (both GET and SET) silently open the associated queue space (that is, implicitly set the state of the queue space to OPEn if it is not already OPEn or ACTive). This may be a time-consuming operation if the queue space is large.
d.TA_MAXQUEUES cannot be modified after the queue space is created.
TA_APPQSPACENAME: string[1..15]
TA_QMCONFIG: string[1..78]
TA_LMID: string[1..30] (no comma)
TA_STATE:
GET operation retrieves information about the selected application queue space. The following list describes the meaning of the TA_STATE attribute returned in response to a GET request.
Shared memory and other IPC resources for the queue space have been allocated and initialized, and at least one process is currently attached to the shared memory. These processes can be the queue servers (
TMS_QM, TMQUEUE, and perhaps TMQFORWARD) associated with the queue space, or they can be administrative processes such as qmadmin(1), or they can be processes associated with another application.
|
SET operation changes the selected application queue space or creates a new one. The following list describes the meaning of the TA_STATE attribute returned by a SET request. States not listed cannot be set.
TA_BLOCKING: 0 <= num
TA_CURACTIONS: 0 <= num
OPEn or ACTive, or if the queue space is newly created. If none of the conditions apply, the value – 1 is returned.
TA_CURCURSORS: 0 <= num
OPEn or ACTive, or if the queue space is newly created. If none of the conditions apply, the value – 1 is returned.
TA_CUREXTENT: 0 <= num <= 100
TA_MAXPAGES attribute is increased, a new extent is allocated. When this attribute is modified, all non-persistent messages in the queue space are permanently lost.
TA_CURHANDLES: 0 <= num
OPEn or ACTive, or if the queue space is newly created. If none of the conditions apply, the value – 1 is returned.
TA_CURMEMFILTERS: 0 <= num
OPEn or ACTive, or if the queue space is newly created. If none of the conditions apply, the value – 1 is returned.
TA_CURMEMNONPERSIST: 0 <= num
OPEn or ACTive, or if the queue space is newly created. If none of the conditions apply, the value – 1 is returned.
TA_CURMEMOVERFLOW: 0 <= num
OPEn or ACTive, or if the queue space is newly created. If none of the conditions apply, the value – 1 is returned.
TA_CURMSG: 0 <= num
OPEn or ACTive, or if the queue space is newly created. If none of these conditions are met, the value -1 is returned.
TA_CUROWNERS: 0 <= num
OPEn or ACTive, or if the queue space is newly created. If none of the conditions apply, the value – 1 is returned.
TA_CURPROC: 0 <= num
TA_CURQUEUES: 0 <= num
OPEn or ACTive, or if the queue space is newly created. If none of these conditions are met, the value -1 is returned.
TA_CURTMPQUEUES: 0 <= num
OPEn or ACTive, or if the queue space is newly created. If none of the conditions apply, the value – 1 is returned.
TA_CURTRANS: 0 <= num
TA_ERRORQNAME: string[0..127]
GET request.
TA_FORCEINIT: {Y | N}
TA_HWACTIONS: 0 <= num
CLEaning.
TA_HWCURSORS: 0 <= num
CLEaning.
TA_HWHANDLES: 0 <= num
CLEaning.
TA_HWMEMFILTERS: 0 <= num
CLEaning.
TA_HWMEMNONPERSIST: 0 <= num
CLEaning.
TA_HWMEMOVERFLOW: 0 <= num
CLEaning.
TA_HWMSG: 0 <= num
CLEaning.
TA_HWOWNERS: 0 <= num
CLEaning.
TA_HWPROC: 0 <= num
CLEaning.
TA_HWQUEUES: 0 <= num
CLEaning.
TA_HWTMPQUEUES: 0 <= num
CLEaning.
TA_HWTRANS: 0 <= num
TUXCONFIG environment variable. The number is reset to 0 when the queue space state is set to CLEaning.
TA_IPCKEY: 32769 <= num <= 262143
TA_MAXACTIONS: 0 <= num
TA_MAXCURSORS: 0 <= num
TA_MAXHANDLES: 0 <= num
TA_MAXMSG: 0 <= num
TA_MAXOWNERS: 0 <= num
TA_MAXPAGES: 0 <= num
TA_MAXPAGES attribute is increased, a new extent is allocated (see TA_CUREXTENT). It is not possible to decrease the number of pages by setting this attribute to a lower number; an error is reported in this case.
TA_MAXPROC: 0 <= num
TA_MAXQUEUES: 0 <= num
TA_MAXTMPQUEUES: 0 <= num
TA_MAXTRANS: 0 <= num
TA_MEMFILTERS: 0 <= num
TA_MEMNONPERSIST: 0 <= num [bB]
TA_MEMNONPERSIST is successfully changed.
If TA_MEMNONPERSIST for a queue space is zero (0) for a queue space, no space is reserved for non-persistent messages. In this case, any attempt to enqueue a non-persistent message fails. This type of failure results, for example, when no delivery quality of service has been specified for a message and the TA_DEFDELIVERYPOLICY attribute of the T_APPQ class for the target queue has been set to NONPERSIST. For non-persistent delivery, if the memory area is exhausted or fragmented such that a message cannot be enqueued, the enqueuing operation fails, even if there is sufficient persistent storage for the message. Similarly, if the persistent storage area is exhausted or fragmented such that a message cannot be enqueued, the enqueuing operation fails, even if there is sufficient non-persistent storage for the message.
TA_MEMOVERFLOW: 0 <= num
TA_MEMSYSTEMRESERVED: 0 <= num
TA_MEMTOTALALLOCATED: 0 <= num
TA_PERCENTINIT: 0 <= num <= 100
The T_APPQTRANS class represents run-time attributes of transactions associated with application queues.
It is not possible to retrieve all instances of this class by leaving all key fields unset. Instead, sufficient key fields must be specified to explicitly target a single application queue space. For example, if all key fields except TA_XID are set in an request using tpcall(), all T_APPQTRANS objects associated with the specified queue space will be retrieved.
It is important to keep in mind that transactions represented by objects of this class are not necessarily associated with the application in which they are retrieved. Care must be taken when heuristically committing or aborting a transaction because the transaction may actually belong to or have an effect on another application. The value of the TA_XID attribute is not guaranteed to be unique across applications.
a. All attributes of class T_APPQTRANS are local attributes.
b. All operations on T_APPQTRANS objects—both GET and SET—silently open the associated queue space (that is, implicitly set the state of the queue space to OPEn if it is not already OPEn or ACTive). This may be a time-consuming operation if the queue space is large.
c. Sufficient key fields must be supplied in a GET operation to explicitly target a single application queue space.
TA_XID: string[1..78]
tx_info() and mapped to a string representation. The data in this field should not be interpreted directly by the user except for equality comparison.
TA_APPQSPACENAME: string[1..15]
TA_QMCONFIG: string[1..78]
TA_LMID: string[1..30] (no comma)
TA_STATE:
GET operation retrieves run-time information about the selected transactions. The following list describes the meaning of the TA_STATE attribute returned in response to a GET request. All states are ACTive equivalent for purposes of permissions checking.
SET operation updates the state of the selected transactions. The following list describes the meaning of the TA_STATE attribute returned by a SET request. States not listed cannot be set.
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 mentioned on this reference page, are available on all supported native and Workstation platforms.
This MIB is provided only on Oracle Tuxedo 6.0 sites and later, both native and Workstation.
If a site running an Oracle Tuxedo release earlier than release 6.0 is active in the application, administrative access through this MIB is limited as follows:
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 on the MIB reference page for that release and may be a subset of the information available in the later release.
Following is a set of code fragments that illustrate how to perform various operations on application queue spaces, queues, messages, and transactions.
Each fragment should be preceded by code that allocates an FML32 typed buffer, such as the following:
rqbuf = tpalloc("FML32", NULL, 0);After the buffer is populated, each fragment should be followed by code that sends the request and receives the reply, such as the following:
flags = TPNOTRAN | TPNOCHANGE | TPSIGRSTRT;
rval = tpcall(".TMIB", rqbuf, 0, rpbuf, rplen, flags);
See MIB(5) for additional information.
The field table tpadm must be available in the environment to allow access to attribute field identifiers. This can be done at the shell level as follows:
$ FIELDTBLS=tpadm
$ FLDTBLDIR=${TUXDIR}/udataobj
$ export FIELDTBLS FLDTBLDIR
The following header files are needed.
#include <atmi.h>
#include <fml32.h>
#include <tpadm.h>
${TUXDIR}/lib/libtmib.a, ${TUXDIR}/lib/libqm.a, ${TUXDIR}/lib/libtmib.so.<rel>, ${TUXDIR}/lib/libqm.so.<rel>, ${TUXDIR}/lib/libqm.lib
The libraries must be linked manually when using buildclient. The user must use: -L${TUXDIR}/lib -ltmib -lqm
Creating an application queue space typically involves two operations: the first to create the Oracle Tuxedo system device in which the queue space will be allocated, and the second to create the queue space itself.
/* Allocate the buffer; see above */
/* Build the request to create a new device on SITE1 */
Fchg32(rqbuf, TA_OPERATION, 0, "SET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_DEVICE", 0);
Fchg32(rqbuf, TA_STATE, 0, "NEW", 0);
Fchg32(rqbuf, TA_CFGDEVICE, 0, "/dev/q/dsk001", 0);
Fchg32(rqbuf, TA_LMID, 0, "SITE1", 0);
size = 500;
Fchg32(rqbuf, TA_DEVSIZE, 0, (char *)size, 0);
/* Make the request; see above */
/* Reinitialize the same buffer for reuse */
Finit32(rqbuf, (FLDLEN) Fsizeof32(rqbuf));
/* Build the request to create the queue space */
Fchg32(rqbuf, TA_OPERATION, 0, "SET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_APPQSPACE", 0);
Fchg32(rqbuf, TA_STATE, 0, "NEW", 0);
Fchg32(rqbuf, TA_APPQSPACENAME, 0, "QSPACE1", 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, "/dev/q/dsk001", 0);
Fchg32(rqbuf, TA_LMID, 0, "SITE1", 0);
Fchg32(rqbuf, TA_ERRORQNAME, 0, "errque", 0);
ipckey = 123456;
Fchg32(rqbuf, TA_IPCKEY, 0, (char *)ipckey, 0);
maxmsg = 100;
Fchg32(rqbuf, TA_MAXMSG, 0, (char *)maxmsg, 0);
maxpages = 200;
Fchg32(rqbuf, TA_MAXPAGES, 0, (char *)maxpages, 0);
maxproc = 50;
Fchg32(rqbuf, TA_MAXPROC, 0, (char *)maxproc, 0);
maxqueues = 10;
Fchg32(rqbuf, TA_MAXQUEUES, 0, (char *)maxqueues, 0);
maxtrans = 100;
Fchg32(rqbuf, TA_MAXTRANS, 0, (char *)maxtrans, 0);
/* Make the request; see above */
The following code creates a new queue in the queue space created in the previous example.
/* Build the request */
Fchg32(rqbuf, TA_OPERATION, 0, "SET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_APPQ", 0);
Fchg32(rqbuf, TA_STATE, 0, "NEW", 0);
Fchg32(rqbuf, TA_APPQNAME, 0, "errque", 0);
Fchg32(rqbuf, TA_APPQSPACENAME, 0, "QSPACE1", 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, "/dev/q/dsk001", 0);
Fchg32(rqbuf, TA_LMID, 0, "SITE1", 0);
Fchg32(rqbuf, TA_APPQORDER, 0, "PRIO", 0);
/* Make the request; see above */
To list the application queue spaces known to an application, a two-level search is used. First, the groups using the /Q transaction manager TMS_QM are retrieved from the application configuration, and then the queue space referenced by each group is retrieved. The following code fragment assumes that each GROUP entry involving a queue space has a single logical machine associated with it (that is, server migration is not used).
/* Build the request to retrieve all TMS_QM groups */
Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_GROUP", 0);
Fchg32(rqbuf, TA_TMSNAME, 0, "TMS_QM", 0);
fldid1 = TA_OPENINFO;
fldid2 = TA_LMID;
Fchg32(rqbuf, TA_FILTER, 0, (char *)fldid1, 0);
Fchg32(rqbuf, TA_FILTER, 0, (char *)fldid2, 1);
/* Make the request, assuming we are joined to the application */
rval = tpcall(".TMIB", rqbuf, 0, rpbuf, rplen, flags);
/* For each TMS_QM group, build the request to retrieve its queue space */
rval = Fget32(*rpbuf, TA_OCCURS, 0, (char *)occurs, NULL);
for (i = 0; i occurs; i++) {
/* Reinitialize the buffer and set all common attributes */
Finit32(rqbuf, (FLDLEN) Fsizeof32(rqbuf));
Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_APPQSPACE", 0);
/* Get the OPENINFO to determine device and queue space name */
/* OPENINFO has the format <resource-mgr>:<qmconfig>:<appqspacename> */
/* or on Windows <resource-mgr>:<qmconfig>;<appqspacename> */
rval = Fget32(rpbuf, TA_OPENINFO, i, openinfo, NULL);
/* The device is the 2nd field in OPENINFO */
qmconfig = strchr(openinfo, ':') + 1;
/* The queue space name is the 3rd field in OPENINFO */
#if defined(_TMDOWN) || defined(_TM_NETWARE)
#define pathsep ";" /* separator for PATH */
#else
#define pathsep ":" /* separator for PATH */
#endif
appqspacename = strchr(qmconfig, pathsep);
appqspacename[0] = '\e0'; /* NULL-terminate qmconfig */
appqspacename++; /* bump past the NULL */
/* Set the APPQSPACENAME and QMCONFIG keys */
Fchg32(rqbuf, TA_APPQSPACENAME, 0, appqspacename, 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, qmconfig, 0);
/* Get the LMID (assume no migration for this group) */
rval = Fget32(rpbuf, TA_LMID, i, lmid, NULL);
Fchg32(rqbuf, TA_LMID, 0, lmid, 0);
/* Make the request */
rval = tpcall(".TMIB", rqbuf, 0, rpbuf2, rplen2, flags);
}
The above technique does not find any queue space that has been created but does not yet have a corresponding GROUP entry in the application configuration. Such queue spaces must be retrieved by knowing a priori the key fields (that is, TA_APPQSPACENAME, TA_QMCONFIG, and TA_LMID) for the queue space.
The following code retrieves all messages in the queue STRING in the queue space QSPACE1 in device /dev/q/dsk001 on logical machine SITE1.
/* Build the request */ Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_APPQMSG", 0);
Fchg32(rqbuf, TA_APPQNAME, 0, "STRING", 0);
Fchg32(rqbuf, TA_APPQSPACENAME, 0, "QSPACE1", 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, "/dev/q/dsk001", 0);
Fchg32(rqbuf, TA_LMID, 0, "SITE1", 0);
/* Make the request; see above */
The following fragment retrieves all transactions involving (any queue in) the queue space QSPACE1.
/* Build the request */ Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_APPQTRANS", 0);
Fchg32(rqbuf, TA_APPQSPACENAME, 0, "QSPACE1", 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, "/dev/q/dsk001", 0);
Fchg32(rqbuf, TA_LMID, 0, "SITE1", 0);
/* Make the request; see above */
${TUXDIR}/include/tpadm.h ${TUXDIR}/udataobj/tpadm
tpacall(3c), tpadmcall(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
AUTHSVR—Server providing per-user authentication
AUTHSVR SRVGRP="identifier" SRVID=number other_parms CLOPT="-A"
AUTHSVR is an Oracle Tuxedo provided server that offers the authentication service. This server may be used in a secure application to provide per-user authentication when clients join the application. This server accepts service requests containing TPINIT typed buffers for client processes requesting access to the application. It uses the data field of the TPINIT typed buffer as a user password and validates it against the configured password. If the request passes validation, an application key is returned with a successful return as the ticket to be used by the client.
The rcode parameter of tpreturn(3c) is used to set the application key. It is returned (in tpurcode) to the code that has called tpinit(3c) upon either successful validation or permission failure.
For additional information pertaining to AUTHSVR, see AUTHSVR Additional Information.
If SECURITY is set to USER_AUTH, per-user authentication is enforced. The name of the authentication service can be configured for the application using the AUTHSVC parameter in the RESOURCES section of the UBBCONFIG file. For example, the following AUTHSVC parameter setting specifies the authentication service (AUTHSVC) advertised by AUTHSVR when SECURITY is set to USER_AUTH.
*RESOURCES
SECURITY USER_AUTH
AUTHSVC AUTHSVC
If the AUTHSVC parameter is not specified, the authentication service defaults to AUTHSVC.
By default, the file tpusr in the directory referenced by the first pathname defined in the application’s APPDIR variable is searched for password information; /etc/passwd is used if this file does not exist (although this file cannot be used correctly on systems that have a shadow password file). The file can be overridden by specifying the filename using a "-f filename" option in the server command-line options (for example, CLOPT="-A -- -f /usr/tuxedo/users"). Note that automatic propagation of the user file from the master machine to other machines in the configuration is done only if $APPDIR/tpusr is used.
The user file is searched for a matching username and client name. There are four types of entries in the user file. They are listed below in order of matching precedence when validating a user against the file.
An authentication request is authenticated against only the first matching password file entry. These semantics allow for a single user to have multiple entries (usually with different client names) and the username may be a wildcard. These semantics are allowed if the user file is maintained using tpaddusr(), tpdelusr(), and tpmodusr(). Note that use of these semantics is not compatible with the semantics for ACL and MANDATORY_ACL and will make migration to these security levels difficult. To get the restricted semantics for compatibility with ACL security, use the tpusradd(), tpusrdel(), and tpusrmod() programs to maintain the user file.
| Note: | To use tpusradd(), tpusrdel(), and tpusrmod(), SECURITY for the target application must be set to USER_AUTH, ACL, or MANDATORY_ACL. Otherwise, the system returns an error when you attempt to use these programs. |
The reserved client name values tpsysadm (system administrator) and tpsysop (system operator) are treated specially by AUTHSVR(5) when processing authentication requests. These values are not allowed to match wildcard client names in the user file.
The application key that is returned by the AUTHSVR is the user identifier. This application key is passed to every service in the appkey element of the TPSVCINFO structure.
Note that a standard AUTHSVR is shipped as part of the system in ${TUXDIR}/bin/AUTHSVR and has the semantics as described above. Sample source code is provided in ${TUXDIR}/lib/AUTHSVR.c. The AUTHSVR can be replaced by an application authentication server that validates users and user data (which may not be a password) in an application-dependent fashion (for example, using Kerberos). If you plan to replace AUTHSVR, take special note of the warning later in this reference page. It is also up to the application to determine what value is returned from the authentication service to be used for the application key (which is passed to each service).
The application keys that correspond to tpsysadm and tpsysop are 0x80000000 and 0xC0000000, respectively.
If SECURITY is set to ACL or MANDATORY_ACL, per-user authentication is enforced, and access control lists are supported for access to services, application queues, and events. The name of the authentication service can be configured for the application using the AUTHSVC parameter in the RESOURCES section of the UBBCONFIG file. For example, the following AUTHSVC parameter setting specifies the authentication service (..AUTHSVC) advertised by AUTHSVR when SECURITY is set to ACL or MANDATORY_ACL.
*RESOURCES
SECURITY ACL
AUTHSVC ..AUTHSVC
If the AUTHSVC parameter is not specified, the authentication service defaults to ..AUTHSVC.
| Note: | 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. |
The user file must be $APPDIR/tpusr. It is automatically propagated from the master machine to other active machines in the configuration. One instance of the AUTHSVR must be run on the master machine. Additional copies can be run on other active machines in the configuration.
The user file is searched for a matching username and client name. The entry must match exactly on the username. The client name must either match exactly, or the client name value in the user file can be specified as the wildcard (*) which will match any client name. A single user can have only one entry in the user file and cannot be a wildcard. The user file can be maintained through the tpusradd(), tpusrdel(), and tpusrmod() programs, the graphical user interface, or the administrative interface.
The reserved client name values tpsysadm (system administrator) and tpsysop (system operator) are treated specially by AUTHSVR(5) when processing authentication requests. These values are not allowed to match wildcard client names in the user file.
The application key that is returned by the AUTHSVR is the user identifier in the low order 17 bits and the group identifier in the next 14 bits (the high order bit is reserved for administrative keys). The application keys that correspond to tpsysadm and tpsysop are 0x80000000 and 0xC0000000, respectively. This application key is passed to every service in the appkey element of the TPSVCINFO structure.
For SECURITY ACL or MANDATORY_ACL, you must use the standard AUTHSVR shipped as part of the system in ${TUXDIR}/bin/AUTHSVR.
| WARNING: | ${TUXDIR}/lib/AUTHSVR.c is not the source file used to generate ${TUXDIR}/bin/AUTHSVR (don't clobber this executable); if you provide your own AUTHSVR, it is recommended that you install it in ${APPDIR}. |
AUTHSVR is supported as an Oracle Tuxedo-supplied server on non-Workstation platforms.
# Using USER_AUTH
*RESOURCES
SECURITY USER_AUTH
AUTHSVC AUTHSVC
*SERVERS
AUTHSVR SRVGRP="AUTH" CLOPT="-A -- -f /usr/tuxedo/users" \
SRVID=100 RESTART=Y GRACE=0 MAXGEN=2
#
#
# Using ACLs
*RESOURCES
SECURITY ACL
AUTHSVC ..AUTHSVC
*SERVERS
AUTHSVR SRVGRP="AUTH" SRVID=100 RESTART=Y GRACE=0 MAXGEN=2
#
#
# Using a custom authentication service
*RESOURCES
SECURITY USER_AUTH
AUTHSVC KERBEROS
*SERVERS
KERBEROSSVR SRVGRP="AUTH1" SRVID=100 RESTART=Y GRACE=0 MAXGEN=2
tpaddusr(1), tpusradd(1), UBBCONFIG(5)
Setting Up an Oracle Tuxedo Application
Administering an Oracle Tuxedo Application at Run Time
Programming an Oracle Tuxedo ATMI Application Using C
Accesslog(5)—Monitors Tuxedo client validity
Accesslog(5) assists with recording client login/logoff action with timestamp and location information. It creates an access log file and adds one line to the Tuxedo ULOG file. For more information, see Examples and ULOG File Entry.
Accesslog automatically creates a new file every 24-hour period to the acces log file. It creates an access log output file using the following format:
hhmmss.uname!pname.pid.tid.ctx: total client ($currentclientcount), $event: $protocol [IP ($clientip)] cltname ($clientname) [usrname ($username)] success.
$currentclientcount = numeric_value
$event = enum_value
$protocol = enum_value
$clientip = string_value
$clientname = string_value
$username = string_value
Listing 2 shows an example Accesslog file output.
112749.ubuntu!?proc.31212.3079091888.0: total client (2), logon: NATIVE cltname () success
112749.ubuntu!?proc.31212.3079091888.0: total client (2), logoff: NATIVE cltname () success
112749.ubuntu!WSH.31211.3078347248.0: total client (2), logon: /WS IP (//127.0.1.1:39224), cltname () success
112749.ubuntu!WSH.31211.3078347248.0: total client (2), logoff: /WS IP (//127.0.1.1:39224), cltname () success
Tuxedo also automatically logs high-water client count to ULOG at each log entry header.
| Notes: | In the ULOG, Accesslog(5) output does not include system server, app server statistics. highwater and currentclientcount may be empty if it was not printed by BBL. |
It inserts a line to the ULOG output file using the following format:
hhmmss.uname!pname.pid.tid.ctx: mm-dd-yyyy: client high water ($highwater), total client ($currentclientcount)
Listing 3 shows an example ULOG file with added Accesslog(5) line.
145622.ubuntu!tmloadcf.4568.3079399872.-2: 12-17-2008: client high water (0), total client (0)
/*Not Printed by BBL*/145625.ubuntu!tmloadcf.4568.3079399872.-2: 12-17-2008: client high water (), total client ()
$highwater = numeric-value
$currentclientcount = numeric-value
The following environment variables should be set and exported:
ALOGPFX
ALOGPFX=string_value
If environment ALOGPFX is not specified, the default $APPDIR/access is used. The date "mmddyy" (month, day, year) is appended to the log filename prefix. The access log filename length should less then 255 characters.
ALOGRTNSIZE=numeric_value
ALOGRTNSIZE=numeric_value
Specifies the access log file size. If the file size is larger that the set file size, an additional access log file is created. The default file size is 2GB.
compilation—Instructions for compilation of Oracle Tuxedo ATMI system application components.
In order to compile application clients and servers, and subroutines that are link edited with the Oracle Tuxedo system, programmers need to know:
A programmer who has finished writing code modules and is ready to build an executable program must:
The Oracle Tuxedo system provides two commands that perform both of these operations for client and server modules: buildclient() and buildserver(), respectively. If you run one of these commands to perform both operations, be sure to specify, on the command line, the libraries with which your files need to be link edited. (For details, see buildclient(1) or buildserver(1) in Oracle Tuxedo Command Reference.)
Link editing must be done by running buildclient or buildserver, but the system allows more flexibility about how compiling is done. If you prefer, you can use the compile command of your choice to compile your files, and then run buildclient or buildserver to perform the link editing.
This rest of this reference page specifies the header files and environment variables required for various types of programs.
In terms of header file sequence, UNIX header files should always be included before any Oracle Tuxedo system header files. Commonly used UNIX header files are stdio.h and ctype.h.
The following environment variables should be set and exported:
TUXDIR
PATH
ULOGPFX
ULOGPFX is ULOG.
|
|
| Note: | More information about these variables can be found in Programming an Oracle Tuxedo ATMI Application Using C, Programming an Oracle Tuxedo ATMI Application Using COBOL, and Setting Up an Oracle Tuxedo Application. |
After the system has been built with shared libraries and before you execute a client, you must set a variable that defines the location of the shared libraries.
| Note: | More information about options for servers can be found on the servopts(5) reference page. |
In terms of header file sequence, C programs that call FML functions should include the following header files, in the following order:
#include <UNIX_header_files> (if needed by the application)
#include "fml.h"
To compile a program that contains FML functions, execute:
cc pgm.c -I $TUXDIR/include -L $TUXDIR/lib -lfml -lengine -o pgm
where pgm is the name of the executable file.
If the -L option is not locally supported, use the following command, instead:
cc pgm.c -I $TUXDIR/include $TUXDIR/lib/libfml.a $TUXDIR/lib/libengine.a -o pgm
| Note: | The order in which the libraries are specified is significant. Use the order given above. |
To use the FML view compiler, execute the following:
viewc view_file
Here view_file is a set of one or more files containing source view descriptions.
| Note: | viewc invokes the C compiler. The environment variable CC can be used to designate the compiler to use. The environment variable CFLAGS can be used to pass a set of parameters to the compiler. |
The following environment variables should be set and exported when running an application that uses FML.
FIELDTBLS
FLDTBLDIR
The following environment variables should be set and exported when executing viewc.
FIELDTBLS
FLDTBLDIR
VIEWDIR
buildclient(1), buildserver(1), viewc, viewc32(1)cc(1), mc(1) in a UNIX system reference manual
DMADM—Domains administrative server
DMADM SRVGRP = "identifier"
SRVID = "number"
REPLYQ = "N"
The Domains administrative server (DMADM) is an Oracle Tuxedo system-supplied server that provides run-time access to the BDMCONFIG file.
DMADM is described in the SERVERS section of the UBBCONFIG file as a server running within a group, for example, DMADMGRP. There should be only one instance of the DMADM running in this group, and it must not have a reply queue (REPLYQ must be set to “N”).
The following server parameters can also be specified for the DMADM server in the SERVERS section: SEQUENCE, ENVFILE, MAXGEN, GRACE, RESTART, RQPERM, and SYSTEM_ACCESS.
The BDMCONFIG environment variable should be set to the pathname of the file containing the binary version of the DMCONFIG file.
DMADM is supported as an Oracle Tuxedo system-supplied server on all supported server platforms.
DMADM must be installed on Oracle Tuxedo release 5.0 or later; other machines in the same domain with a release 5.0 gateway may be release 4.1 or later.
The following example illustrates the definition of the administrative server and a gateway group in the UBBCONFIG file. This example uses the GWTDOMAIN gateway process to provide connectivity with another Oracle Tuxedo domain.
#
*GROUPS
DMADMGRP LMID=mach1 GRPNO=1
gwgrp LMID=mach1 GRPNO=2
#
*SERVERS
DMADM SRVGRP="DMADMGRP" SRVID=1001 REPLYQ=N RESTART=Y GRACE=0
GWADM SRVGRP="gwgrp" SRVID=1002 REPLYQ=N RESTART=Y GRACE=0
GWTDOMAIN SRVGRP="gwgrp" SRVID=1003 RQADDR="gwgrp" REPLYQ=Y RESTART=Y MIN=1 MAX=1
dmadmin(1), tmboot(1), DMCONFIG(5), GWADM(5), servopts(5), UBBCONFIG(5)
Setting Up an Oracle Tuxedo Application
Administering an Oracle Tuxedo Application at Run Time
Using the Oracle Tuxedo TOP END Domain Gateway with ATMI Applications
DMCONFIG—Text version of a Domains configuration file
A Domains configuration is a set of two or more domains (business applications) that can communicate and share services with the help of the Oracle Tuxedo Domains component. How multiple domains are connected and which services they make accessible to each other are defined in a Domains configuration file for each Oracle Tuxedo domain participating in the Domains configuration. The text version of a Domains configuration file is known as the DMCONFIG file, although the configuration file may have any name as long as the content of the file conforms to the format described on this reference page.
The DMCONFIG file is parsed and loaded into a binary version, called BDMCONFIG, by the dmloadcf(1) utility. As with DMCONFIG, the BDMCONFIG file may be given any name; the actual name is the device or system filename specified in the BDMCONFIG environment variable. One BDMCONFIG file is required for each Tuxedo domain participating in a Domains configuration.
The DMCONFIG and BDMCONFIG files are analogous to the UBBCONFIG and TUXCONFIG files used to define an Oracle Tuxedo domain. For a description of the UBBCONFIG and TUXCONFIG files, see UBBCONFIG(5).
For additional information pertaining to the DMCONFIG file, including examples, see DMCONFIG(5) Additional Information. For a detailed description of the Oracle Tuxedo Domains component for both ATMI and CORBA environments, see Using the Oracle Tuxedo Domains Component.
An Oracle Tuxedo domain is defined as the environment described in a single TUXCONFIG file. In Oracle Tuxedo terminology, a domain is the same as an application—a business application.
There is one Domains administrative server (DMADM) process running in each Oracle Tuxedo domain involved in a Domains configuration. The DMADM is the administrative server for all domain gateway groups running in a particular Oracle Tuxedo domain.
A domain gateway group consists of an Oracle Tuxedo system gateway administrative server (GWADM) process and an Oracle Tuxedo system domain gateway process.
An Oracle Tuxedo system domain gateway process provides communication services with a specific type of transaction processing (TP) domain; for example, the GWTDOMAIN process enables Oracle Tuxedo applications to communicate with other Oracle Tuxedo applications. A domain gateway relays requests to another domain and receives replies.
A local domain access point is a user-specified logical name representing a set of services of the Oracle Tuxedo domain that is made available to other domains (remote domains). A local domain access point maps to a domain gateway group; both terms are used as synonyms.
A remote domain access point is a user-specified logical name representing a set services of a remote domain that is made available to the local domain. The remote domain may be another Oracle Tuxedo application or an application running on another TP system.
A remote service is a service provided by a remote domain that is made available to the local domain through a remote domain access point and a local domain access point.
A local service is a service of the local domain that is made available to remote domains through a local domain access point.
The DMCONFIG file is made up of the following specification sections:
DM_LOCAL_DOMAINS)DM_REMOTE_DOMAINS)DM_LOCAL_SERVICES)DM_REMOTE_SERVICES)TDOMAIN)DM_dom, where dom may be any of the following sections for other domain gateway types: SNACRM, SNASTACKS, SNALINKS, OSITP, OSITPX.
Lines in a DMCONFIG file beginning with an asterisk (*) indicate the beginning of a specification section. Each such line contains the name of the section immediately following the *. The asterisk is required when specifying a section name. The DM_LOCAL section must precede the DM_REMOTE section.
This reference page describes how to configure a domain gateway of type TDOMAIN (the TDomain gateway), which is implemented by the GWTDOMAIN gateway process. For information about how to configure a SNAX, OSITP, or OSITPX domain gateway, see Oracle Tuxedo Mainframe Adapters documentation.
Parameters 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 below within each section.
Lines beginning with the reserved word DEFAULT contain parameter specifications that apply to all lines that follow them in the section in which they appear. Default specifications can be used in all sections. They can appear more than once in the same section. The format for these lines is:
DEFAULT: [KEYWORD1=value1[KEYWORD2=value2[...]]]
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 values acceptable for a numeric parameter are given under the description of that parameter.
If a value is an identifier (a string value already known to the Oracle Tuxedo Domains component such as TDOMAIN for the TYPE 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 bytes (not including the terminating NULL).
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.
Input fields are separated by at least one space (or tab) character.
"#" introduces a comment. A newline ends a comment.
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.
For Oracle Tuxedo release 7.1 or later, the Domains MIB uses improved class and attribute terminology to describe the interaction between local and remote domains. The improved terminology has been applied to the DMCONFIG(5) reference page, section names, parameter names, and error messages, and to the DM_MIB(5) reference page, classes, and error messages.
For backwards compatibility, aliases are provided between the DMCONFIG terminology used prior to Oracle Tuxedo 7.1 and the improved Domains MIB terminology. For Oracle Tuxedo release 7.1 or later, both versions of DMCONFIG terminology are accepted. The following table shows the mapping of the previous and improved terminology for the DMCONFIG file.
For Oracle Tuxedo release 7.1 or later, the dmunloadcf command generates by default a DMCONFIG file that uses the improved domains terminology. Use the -c option to print a DMCONFIG file that uses the previous domains terminology. For example:
prompt> dmunloadcf -c > dmconfig_prev
This section, also known as the DM_LOCAL_DOMAINS section, defines one or more local domain access point identifiers and their associated gateway groups. The section must have a local domain access point entry for each active gateway group defined in the UBBCONFIG file. Each entry specifies the parameters required for the domain gateway process running in that group.
Entries within the DM_LOCAL section have the following form:
LocalAccessPointrequired_parameters[optional_parameters]
where LocalAccessPoint is the local domain access point identifier (logical name) that you choose to represent a particular gateway group defined in the UBBCONFIG file. LocalAccessPoint must be unique across the local and remote domains involved in a Domains configuration. As you will see in the description of the DM_EXPORT section, you use the local domain access point to associate local services with the gateway group. The local services available through the local domain access point will be available to clients in one or more remote domains.
GWGRP = identifier
GROUPS section of the TUXCONFIG file) representing this local domain access point. There is a one-to-one relationship between a local domain access point and a domain gateway group.
TYPE = identifier
TYPE can be set to one of the following values: TDOMAIN, SNAX, OSITP, or OSITPX.
TDOMAIN value indicates that this local domain access point is associated with a GWTDOMAIN gateway instance and therefore can communicate with another Oracle Tuxedo application.
The SNAX value indicates that this local domain access point is associated with a GWSNAX gateway instance and therefore can communicate with another TP domain via the SNA protocol.
The OSITP or OSITPX value indicates that this local domain access point is associated with a GWOSITP gateway instance and therefore can communicate with another TP domain via the OSI TP protocol. The OSITP value indicates the use of the OSI TP 1.3 protocol, and the OSITPX value indicates the use of the OSI TP 4.0 or later protocol. The OSITPX value is supported only by Oracle Tuxedo 8.0 or later software.
Domain types must be defined in the DMTYPE file: %TUXDIR%\udataobj\DMTYPE for Windows or $TUXDIR/udataobj/DMTYPE for UNIX.
ACCESSPOINTID (also known as DOMAINID) = string[1..30]
ACCESSPOINTID must be unique across all local and remote domain access points.
string can be a sequence of characters (for example, “BA.CENTRAL01”), or a sequence of hexadecimal digits preceded by 0x (for example, “0x0002FF98C0000B9D6”). ACCESSPOINTID must be 30 bytes or fewer in length. If the value is a string, it must be 30 characters or fewer (counting the trailing NULL).
The following optional parameters for the DM_LOCAL section describe resources and limits used in the operation of domain gateways:
AUDITLOG = string[1..256] (up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
DMmmddyy.LOG (where mm=month, dd=day, and yy=year) is created in the directory specified by the $APPDIR environment variable or the APPDIR parameter of the MACHINES section of the TUXCONFIG file.
BLOCKTIME = numeric
SCANUNIT parameters specified in the RESOURCES section of the TUXCONFIG file. The value SCANUNIT * BLOCKTIME must be greater than or equal to SCANUNIT and less than 32,768 seconds. If this parameter is not specified, the default is set to the value of the BLOCKTIME parameter specified in the RESOURCES section of the TUXCONFIG file. A blocking timeout condition implies that the affected service request has failed.
BLOCKTIME. That is, for an interdomain transaction, if the BLOCKTIME value is less than (a) the TRANTIME timeout value specified in the SERVICES section of the TUXCONFIG file or (b) the timeout value passed in a tpbegin() call to start the transaction, the timeout for the transaction is reduced to the BLOCKTIME value. In contrast, for intradomain transactions (that is, transactions handled within a single Oracle Tuxedo domain), the BLOCKTIME value specified in the RESOURCES section of the TUXCONFIG file has no effect on the timeout of an intradomain transaction.
CONNECTION_POLICY = {ON_DEMAND | ON_STARTUP | INCOMING_ONLY | PERSISTENT_DISCONNECT}
ON_DEMAND, ON_STARTUP, INCOMING_ONLY, or PERSISTENT_DISCONNECT. This parameter applies only to domain gateways of type TDOMAIN.
ON_DEMAND means that a domain gateway attempts to establish a connection with a remote domain only when requested by either a client request to a remote service or a dmadmin(1) connect command. The default for CONNECTION_POLICY is ON_DEMAND. Connection retry processing is not allowed when the connection policy is ON_DEMAND.
A connection policy of ON_STARTUP means that a domain gateway attempts to establish a connection with its remote domains at gateway server initialization time. If CONNECTION_POLICY is set to ON_STARTUP, the remote services for a particular remote domain (that is, services advertised by the domain gateway) are advertised only if a connection is successfully established to the remote domain. Thus, if there is no active connection to the remote domain, the remote services are suspended. By default, this connection policy retries failed connections every 60 seconds, but you can specify a different value for this interval using the RETRY_INTERVAL parameter. Also, see the MAXRETRY parameter.
A connection policy of INCOMING_ONLY means that a domain gateway does not attempt an initial connection upon startup and that remote services are initially suspended. The domain gateway is available for incoming connections from remote domains, and remote services are advertised when the domain gateway receives an incoming connection or an administrative connection (using the dmadmin(1) connect command) is made. Connection retry processing is not allowed when the connection policy is INCOMING_ONLY.
A PERSISTENT_DISCONNECT connection policy means that the local domain rejects connections from other domains. The domain gateway does not attempt to connect to the remote domain as well. Related remote service is suspended accordingly. The local domain is isolated until it is manually changed to another connection policy.
| Note: | For domain gateways of type TDOMAIN running Oracle Tuxedo 8.1 or later software, CONNECTION_POLICY can be specified on a per remote domain basis in the DM_TDOMAIN section. |
MAXRETRY = {numeric | MAXLONG}
TDOMAIN and is valid only when the CONNECTION_POLICY parameter for this local domain access point is set to ON_STARTUP. For other connection policies, automatic retries are disabled.
MAXRETRY is 0, and the maximum value is MAXLONG (2147483647). MAXLONG, the default, indicates that retry processing will be repeated indefinitely, or until a connection is established. Setting MAXRETRY=0 turns off the automatic retry mechanism.
RETRY_INTERVAL = numeric
TDOMAIN and is valid only when the CONNECTION_POLICY parameter for this local domain access point is set to ON_STARTUP. For other connection policies, automatic retries are disabled.
RETRY_INTERVAL is 0, and the maximum value is 2147483647. The default is 60. If MAXRETRY is set to 0, setting RETRY_INTERVAL is not allowed.
CONNECTION_PRINCIPAL_NAME = string[0..511]
TDOMAIN running Oracle Tuxedo 7.1 or later software.
CONNECTION_PRINCIPAL_NAME parameter may contain a maximum of 511 characters (excluding the terminating NULL character). If this parameter is not specified, the connection principal name defaults to the ACCESSPOINTID string for this local domain access point.
For default authentication plug-ins, if a value is assigned to the CONNECTION_PRINCIPAL_NAME parameter for this local domain access point, it must be the same as the value assigned to the ACCESSPOINTID parameter for this local domain access point. If these values do not match, the local TDomain gateway process will not boot, and the system will generate the following userlog(3c) message: ERROR: Unable to acquire credentials.
DMTLOGDEV = string[1..256] (up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
TLOG) for this local domain access point. The TLOG is stored as an Oracle Tuxedo system VTOC table on the device. If this parameter is not specified, the domain gateway group associated with this local domain access point is not allowed to process requests in transaction mode. Multiple local domain access points for the same machine can share the same Oracle Tuxedo filesystem, but each local domain access point must have its own log (a table in the DMTLOGDEV) named as specified by the DMTLOGNAME parameter.
DMTLOGNAME = string[1..30]
TLOG for this local domain access point. This name must be unique when the same Oracle Tuxedo filesystem (as specified in DMTLOGDEV) is used for several local domain access points. If this parameter is not specified, the default is the string DMTLOG. The name must be 30 characters or less.
DYNAMIC_RAP=value
DYNAMIC_RAP has two valid values: YES, NO.
A YES value indicates Dynamic Remote Access Point is allowed. When this feature is enabled and all the remote access points that are capable of requesting dynamic registration, they do not need to be configured in the /Domain configuration.
| Note: | Be aware that the system is less secure when this feature is enabled. Currently, only the Oracle Tuxedo JCA Adapter can initiate dynamic registration requests. For more information, Oracle Tuxedo JCA Adapter documentation. |
DMTLOGSIZE = numeric
TLOG for this local domain access point. It must be greater than 0 and less than the amount of available space on the Oracle Tuxedo filesystem. If this parameter is not specified, the default is 100 pages.
MAXRAPTRAN (also known as MAXRDTRAN) = numeric
MAXTRAN = numeric
MAXGTT parameter specified in the RESOURCES section of the TUXCONFIG file. If MAXTRAN is not specified, the default is the value of MAXGTT.
MTYPE = string[1..15]
TDOMAIN.
MTYPE is not specified, the default is to turn encoding/decoding on. If the value set for the MTYPE field is the same in both the DM_LOCAL and the DM_REMOTE section of a DMCONFIG file, data encoding/decoding is bypassed. The value set for MTYPE can be any string value up to 15 characters in length. It is used only for comparison.
SECURITY = {NONE | APP_PW | DM_PW}
SECURITY parameter currently has three valid values for domain gateways of type TDOMAIN: NONE, APP_PW, or DM_PW. The value NONE (the default) indicates that no security is used. The value APP_PW indicates that the application password security is to be enforced when a connection is established from a remote domain; the application password is defined in the TUXCONFIG file. The value DM_PW indicates that Domains password security is to be enforced when a connection is established from a remote domain; Domains passwords are defined through the dmadmin(1) command.
SECURITY parameter does not apply to domain gateways of type OSITP. For gateways of type OSITPX, the values NONE or DM_PW can be used. For gateways of type SNAX, the values NONE or DM_USER_PW can be used.
The following DM_LOCAL section parameters do not apply to domain gateways of type TDOMAIN but are included here for completeness:
For detailed descriptions of SNAX and OSITP parameters, see Oracle Tuxedo Mainframe Adapters documentation.
This section, also known as the DM_REMOTE_DOMAINS section, defines one or more remote domain access point identifiers and their characteristics.
Entries within the DM_REMOTE section have the following form:
RemoteAccessPointrequired_parameters[optional_parameters]
where RemoteAccessPoint is a remote domain access point identifier (logical name) that you choose to identify each remote domain known to the local Oracle Tuxedo application. RemoteAccessPoint must be unique across the local and remote domains involved in a Domains configuration. As you will see in the description of the DM_IMPORT section, you use a remote domain access point to associate remote services with a particular remote domain. The remote services available through the remote domain access point will be available to clients in the local domain through a remote domain access point and a local domain access point.
TYPE = identifier
TYPE can be set to one of the following values: TDOMAIN, SNAX, OSITP, or OSITPX.
TDOMAIN value indicates that a local instance of the GWTDOMAIN process will communicate with a remote Oracle Tuxedo application.
The SNAX value indicates that a local instance of the GWSNAX process will communicate with a remote TP domain via the SNA protocol.
The OSITP value indicates that a local instance of the GWOSITP process will communicate with a remote TP domain via the OSI TP 1.3 protocol.
The OSITPX value indicates that a local instance of the GWOSITP process will communicate with a remote TP domain via the OSI TP 4.0 or later protocol. The OSITPX value is supported only by Oracle Tuxedo 8.0 or later software.
ACCESSPOINTID (also known as DOMAINID) = string[1..30]
TDOMAIN, this value may also be used by the TDomain gateway (local instance of the GWTDOMAIN process) as the user ID for incoming requests from this remote domain access point connection. ACCESSPOINTID must be unique across local and remote domain access points.
ACCESSPOINTID must be 30 bytes or fewer in length. If the value is a string, it must be 30 characters or fewer (counting the trailing NULL). The value of string can be a sequence of characters or a sequence of hexadecimal digits preceded by 0x.
The following optional parameters for the DM_REMOTE section describe resources and limits used in the operation of the local domain gateways:
ACL_POLICY = {LOCAL | GLOBAL}
TDOMAIN running Oracle Tuxedo 7.1 or later software and domain gateways of type OSITPX running Oracle Tuxedo 8.0 or later software.
LOCAL means that the local domain replaces the credential (identity) of any service request received from the remote domain with the principal name specified in the LOCAL_PRINCIPAL_NAME parameter for this remote domain access point. GLOBAL means that the local domain does not replace the credential received with a remote service request; if no credential is received with a remote service request, the local domain forwards the service request to the local service as is (which usually fails). If this parameter is not specified, the default is LOCAL.
Note that the ACL_POLICY parameter controls whether or not the local domain replaces the credential of a service request received from a remote domain with the principal name specified in the LOCAL_PRINCIPAL_NAME parameter. The CREDENTIAL_POLICY parameter is related to this parameter and controls whether or not the local domain removes the credential from a local service request before sending the request to a remote domain.
LOCAL_PRINCIPAL_NAME = string[0..511]
ACL_POLICY parameter for this remote domain access point is set (or defaulted) to LOCAL. This parameter applies only to domain gateways of type TDOMAIN running Oracle Tuxedo 7.1 or later software and domain gateways of type OSITPX running Oracle Tuxedo 8.0 or later software.
LOCAL_PRINCIPAL_NAME parameter may contain a maximum of 511 characters (excluding the terminating NULL character). If this parameter is not specified, the local principal name defaults to the ACCESSPOINTID string for this remote domain access point.
CONNECTION_PRINCIPAL_NAME = string[0..511]
TDOMAIN running Oracle Tuxedo 7.1 or later software.
CONNECTION_PRINCIPAL_NAME parameter may contain a maximum of 511 characters (excluding the terminating NULL character). If this parameter is not specified, the connection principal name defaults to the ACCESSPOINTID string for this remote domain access point.
For default authentication plug-ins, if a value is assigned to the CONNECTION_PRINCIPAL_NAME parameter for this remote domain access point, it must be the same as the value assigned to the ACCESSPOINTID parameter for this remote domain access point. If these values do not match, any attempt to set up a connection between the local TDomain gateway and the remote TDomain gateway will fail, and the system will generate the following userlog(3c) message: ERROR: Unable to initialize administration key for domain domain_name.
CREDENTIAL_POLICY = {LOCAL | GLOBAL}
TDOMAIN running Oracle Tuxedo 8.0 or later software.
LOCAL means that the local domain removes the credential (identity) from a local service request destined for this remote domain access point. GLOBAL means that the local domain does not remove the credential from a local service request destined for this remote domain access point. If this parameter is not specified, the default is LOCAL.
Note that the CREDENTIAL_POLICY parameter controls whether or not the local domain removes the credential from a local service request before sending the request to a remote domain. The ACL_POLICY parameter is related to this parameter and controls whether or not the local domain replaces the credential of a service request received from a remote domain with the principal name specified in the LOCAL_PRINCIPAL_NAME parameter.
MTYPE = string[1..15]
TDOMAIN.
MTYPE is not specified, the default is to turn encoding/decoding on. If the value set for the MTYPE field is the same in both the DM_LOCAL and the DM_REMOTE section of a DMCONFIG file, data encoding/decoding is bypassed. The value set for MTYPE can be any string value up to 15 characters. It is used only for comparison.
PRIORITY_TYPE = {LOCAL_RELATIVE | LOCAL_ABSOLUTE | GLOBAL}
INPRIORITY = numeric
PRIORITY_TYPE and INPRIORITY parameters specify the message priority handling for this remote domain access point. These parameters are supported by Oracle Tuxedo 8.0 or later software.
PRIORITY_TYPE parameter, the LOCAL_RELATIVE and LOCAL_ABSOLUTE values are valid for all remote domain types; the GLOBAL value is valid only for remote domains of type TDOMAIN. If not set, the PRIORITY_TYPE parameter defaults to LOCAL_RELATIVE.
PRIORITY_TYPE=LOCAL_RELATIVE means that the priority associated with a request from this remote domain access point (for example, via the tpsprio call) is not used by the local domain. Instead, the priority of incoming requests from this remote domain access point is set relative to the INPRIORITY value; this value may be greater than or equal to -99 (lowest priority) and less than or equal to 99 (highest priority), with 0 being the default. The setting of INPRIORITY increments or decrements a service’s default priority as follows: up to a maximum of 100 or down to a minimum of 1, depending on its sign, where 100 is the highest priority. For requests to the remote domain access point, the priority associated with a request will accompany the request to the remote domain access point.
PRIORITY_TYPE=LOCAL_ABSOLUTE means that the priority associated with a request from this remote domain access point is not used by the local domain. Instead, the priority of incoming requests from this remote domain access point is set relative to the INPRIORITY value; this value may be greater than or equal to 1 (lowest priority) and less than or equal to 100 (highest priority), with 50 being the default. The setting of INPRIORITY increments or decrements a service’s default priority as follows: up to a maximum of 100 or down to a minimum of 1, depending on its sign, where 100 is the highest priority. For requests to the remote domain access point, the priority associated with a request will accompany the request to the remote domain access point.
PRIORITY_TYPE=GLOBAL means that the priority associated with a request from this remote domain access point is adjusted by the local domain. The priority of incoming requests from this remote domain access point is adjusted relative to the INPRIORITY value; this value may be greater than or equal to -99 (lowest priority) and less than or equal to 99 (highest priority), with 0 being the default. If INPRIORITY is set, the priority accompanying the incoming request is added to the INPRIORITY value to create an absolute priority setting for the incoming request. If INPRIORITY is not set or is set to 0, the priority accompanying the incoming request is used as is by the local domain. For requests to the remote domain access point, the priority associated with a request will accompany the request to the remote domain access point.
The following DM_REMOTE section parameter does not apply to domain gateways of type TDOMAIN but is included here for completeness:
CODEPAGE = string — applicable to domain gateways of type SNAX and OSITPX
For detailed descriptions of SNAX and OSITPX parameters, see Oracle Tuxedo Mainframe Adapters documentation.
This section, also known as the DM_LOCAL_SERVICES section, provides information on the services exported by each individual local domain access point.
For each individual local domain, if this section is absent, or is present but there is no local service exported from the local domain, the local domain access point accepts remote requests for all services advertised by the local Oracle Tuxedo application. If this section is specified, it should be used to restrict the set of local services that can be requested from a remote domain.
A local service is a service made available to one or more remote domains through a local domain access point.
Entries within the DM_EXPORT section have the following form:
service[optional_parameters]
where service is the identifier name of a particular local service; it must be 127 characters or fewer in length. This name is advertised by one or more servers running within the local Oracle Tuxedo application.
A local service made available to one or more remote domains inherits many of its properties from the SERVICES section of the TUXCONFIG file, or their defaults. Some of the properties that may be inherited are LOAD, PRIO, AUTOTRAN, ROUTING, BUFTYPE, and TRANTIME.
LACCESSPOINT (also known as LDOM) = identifier
DM_LOCAL section accept remote requests to this local service.
ACL = identifier
DM_ACCESS_CONTROL section.
CONV = {Y | N}
RNAME = string[1..127]
service identifier—is the name used by the remote domains to request this service.
The following DM_EXPORT section parameters do not apply to domain gateways of type TDOMAIN but are included here for completeness.
INBUFTYPE = string — applicable to domain gateways of type SNAX, OSITP, and OSITPXOUTBUFTYPE = string — applicable to domain gateways of type SNAX, OSITP, and OSITPXCOUPLING = {TIGHT | LOOSE} — applicable to domain gateways of type OSITPXINRECTYPE = string — applicable to domain gateways of type OSITPXOUTRECTYPE = string — applicable to domain gateways of type OSITPX
For detailed descriptions of SNAX, OSITP, and OSITPX parameters, see Oracle Tuxedo Mainframe Adapters documentation.
This section, also known as the DM_REMOTE_SERVICES section, provides information on services imported and available to the local domain through remote domain access points defined in the DM_REMOTE section. If the DM_IMPORT section is absent, or is present but empty, no remote services are available to the local domain.
A remote service is a service made available to the local domain through a remote domain access point and a local domain access point.
Entries within the DM_IMPORT section have the following form:
service[optional_parameters]
where service is the identifier name advertised by the local Oracle Tuxedo application for a particular remote service; it must be 127 characters or fewer in length. A remote service may be imported from one or more remote domains.
A remote Oracle Tuxedo service made available to the local domain inherits many of its properties from the SERVICES section of the remote TUXCONFIG file, or their defaults. Some of the properties that may be inherited are LOAD, PRIO, AUTOTRAN, ROUTING, BUFTYPE, and TRANTIME.
RACCESSPOINT (also known as RDOM) = identifier1[,identifier2][,identifier3][,identifier4]...[,indentifier 10]
LACCESSPOINT parameter) for this service, only the named local domain access point is allowed to send local requests to this remote service through the named remote domain access point.
DM_LOCAL section having the same gateway type (TDOMAIN, ...) as the remote domain access point is allowed to send local requests to this remote service through the named remote domain access point.
If no remote domain access point is specified for this service and no local domain access point is specified, any local domain access point defined in the DM_LOCAL section may send requests to this service through any remote domain access point defined in the DM_REMOTE section.
If you want to configure alternate remote domain access points with the identifier2, identifier3, identifier4 arguments, you must specify ON_STARTUP as the value of the CONNECTION_POLICY parameter in the DM_LOCAL section. (CONNECTION_POLICY may also be specified in the DM_TDOMAIN section for an Oracle Tuxedo 8.1 or later application.) If identifier2 is configured, it is used for failover: When the remote domain associated with identifier1 is unavailable, the remote domain associated with identifier2 is used. Similarly, if identifier3 ND identifier4 are configured, they are used for failover: When the remote domains associated with identifier1, identifier2 and identifier3 are unavailable, the remote domain associated with identifier4 is used.
LACCESSPOINT (also known as LDOM) = identifier
service identifier—of the remote service in the Oracle Tuxedo system bulletin board.
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.
CONV = {Y | N}
LOAD = numeric
RNAME = string[1..127]
service identifier—is the name used by the local domain to request this service.
ROUTING = identifier
identifier is a ROUTING_CRITERIA_NAME defined in the DM_ROUTING section. The value of identifier must be 127 characters or less in length. If multiple entries for the same service name are included with different remote domain access points (specified using the RACCESSPOINT parameter), the value of the ROUTING parameter should be the same for all of these entries.
The following DM_IMPORT section parameters do not apply to domain gateways of type TDOMAIN but are included here for completeness:
INBUFTYPE = string — applicable to domain gateways of type SNAX, OSITP, and OSITPXOUTBUFTYPE = string — applicable to domain gateways of type SNAX, OSITP, and OSITPXAUTOPREPARE = {Y | N} — applicable to domain gateways of type OSITPXINRECTYPE = string — applicable to domain gateways of type OSITPXOUTRECTYPE = string — applicable to domain gateways of type OSITPXTPSUT_TYPE = {INTEGER | PRINTABLESTRING} — applicable to domain gateways of type OSITPXREM_TPSUT = string — applicable to domain gateways of type OSITPX
For detailed descriptions of SNAX, OSITP, and OSITPX parameters, see Oracle Tuxedo Mainframe Adapters documentation.
This optional section is used for defining global Domains configuration information, specifically a user-supplied configuration version string. This field is not checked by the software.
The only parameter for the DM_RESOURCES section is:
VERSION=string
where string is a field in which users can enter a version number for the current DMCONFIG file.
This section provides information for data-dependent routing of local service requests using FML, FML32, VIEW, VIEW32, X_C_TYPE, X_COMMON, or XML typed buffers to one of several remote domains offering the same service.
Entries within the DM_ROUTING section have the following form:
ROUTING_CRITERIA_NAMErequired_parameters
where ROUTING_CRITERIA_NAME is the identifier name assigned to the ROUTING parameter for the particular service entry in the DM_IMPORT section. ROUTING_CRITERIA_NAME must be 127 characters or less in length.
FIELD = identifier
identifier is one of the following: a field name that is identified in an FML field table (for FML and FML32 buffers); an XML element or element attribute (for XML buffers); or an FML view table (for VIEW, X_C_TYPE, or X_COMMON buffers). Two environment variables, FLDTBLDIR and FIELDTBLS or FLDTBLDIR32 and FIELDTBLS32, are used to locate FML field tables. Similarly, two environment variables, VIEWDIR and VIEWFILES or VIEWDIR32 and VIEWFILES32, are used to locate FML view tables. If a field in an FML or FML32 buffer is used for routing, the value of that field must be a number less than or equal to 8191.
FIELD parameter must be defined with the following syntax:
FIELD=“root_element[/child_element][/child_element][/. . .][/@attribute_name]”
FIELD specifies the name of a routing element or an element attribute. It is assumed that the value of root_element is an element type (or name) or an element attribute name for 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.
FIELDTYPE parameter.
RANGES = “string[1..4096]”
string must be enclosed in double quotes. The format of string is a comma-separated ordered list of pairs, where each pair consists of a range and a remote domain access point separated by a colon (:); for example, lower - upper (where lower and upper are both signed numeric values or character strings in single quotes). Note that the value of lower must be less than or equal to the value of upper.
To embed a single quote in a character string value (as in O'Brien, for example), you must precede it with two backslashes (O\\'Brien).
The value MIN can be used to indicate the minimum value for the data type of the associated FIELD; for strings and carrays, it is the NULL string; for character fields, it is 0; for numeric values, it is the minimum numeric value that can be stored in the field.
The value MAX can be used to indicate the maximum value for the data type of the associated FIELD; for strings and carrays, it is effectively an unlimited string of octal-255 characters; for a character field, it is a single octal-255 character; for numeric values, it is the maximum numeric value that can be stored in the field. 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).
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 a string 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.
When a field value matches a range, the associated remote domain access point indicates the remote domain to which the request should be routed. A remote domain access point value of “*” indicates that the request can go to any remote domain known by the gateway group.
BUFTYPE = “type1[:subtype1[, subtype2 . . . ]][;type2[:subtype3[, . . . ]]] . . .”
FML, FML32, VIEW, VIEW32, X_C_TYPE, X_COMMON, or XML. No subtype can be specified for type FML, FML32, or XML; subtypes are required for types VIEW, VIEW32, X_C_TYPE, and X_COMMON (“*” is not allowed). 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.
This section specifies one or more access control list (ACL) names and associates one or more remote domain access points with each specified ACL name. You can use the ACL parameter in the DM_EXPORT section by setting ACL=ACL_NAME to restrict access to a local service exported through a particular local domain access point to just those remote domain access points associated with the ACL_NAME.
Entries within the DM_ACCESS_CONTROL section have the following form:
ACL_NAMErequired_parameters
where ACL_NAME is an identifier value used to specify an access control list; it may contain no more than 15 characters.
The only required parameter for the DM_ACCESS_CONTROL section is:
ACLIST = identifier[,identifier]
where an ACLIST is composed of one or more remote domain access point names separated by commas. The wildcard character (*) can be used to specify that all remote domain access points defined in the DM_REMOTE section can access a particular local service exported through a particular local domain access point.
This section defines the network-specific information for TDomain gateways. The DM_TDOMAIN section should have an entry per local domain access point if requests from remote domains to local services are accepted through that local domain access point, and at least one entry per remote domain access point if requests from the local domain to remote services are accepted through that access point.
The DM_TDOMAIN section is used to configure the following network properties for an access point entry:
Entries within the DM_TDOMAIN section have the following form:
AccessPoint required_parameters [optional_parameters]
where AccessPoint is an identifier value used to identify either a local domain access point or a remote domain access point. The AccessPoint identifier must match a previously defined local domain access point in the DM_LOCAL section or a previously defined remote domain access point in the DM_REMOTE section.
NWADDR = string[1..256] (up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
DM_TDOMAIN entries.
string has the form “0xhex-digits” or “\\xhex-digits”, it must contain an even number of valid hexadecimal digits. These forms are translated internally into a character array containing TCP/IP addresses. The value of string may also be represented in either of the following forms as shown in Table 11.
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). The string #.#.#.# 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.
| 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. |
NWDEVICE = string[1..78]
NWDEVICE parameter is not required. In earlier releases, if the networking functionality is TLI-based, the network device name must be an absolute pathname.
CMPLIMIT = numeric
CMPLIMIT value are compressed.
MINENCRYPTBITS = {0 | 40 | 56 | 128|256}
0 means no encryption, while a value of 40, 56, 128, or 256 specifies the encryption key length (in bits). The default is 0. If the minimum level of encryption cannot be met, link establishment fails.
| Note: | The link-level encryption value of 40 bits is provided for backward compatibility. 256-bit encryption is currently possible only when using SSL. |
MAXENCRYPTBITS = {0 | 40 | 56 | 128|256}
0 means no encryption, while a value of 40, 56, 128 or 256 specifies the encryption key length (in bits). The default is 128.
| Note: | The link-level encryption value of 40 bits is provided for backward compatibility. 256-bit encryption is currently possible only when using SSL. |
NWPROTOCOL = {LLE | SSL | SSL_ONE_WAY}
LLE. The SSL option requires the domains at both end of the connection to authenticate each other; the SSL_ONE_WAY option does not.
SSL_ONE_WAY is set, the domain that accepts an SSL connection needs to authenticate itself to the domain that initiates the connection using an SSL certificate. The initiating domain does not need to authenticate itself to the other domain. This value is mainly intended for use with a CONNECTION_POLICY to INCOMING_ONLY, and should only be set when the domain that accepts incoming connections does not need to authenticate connecting domains.
| Note: | If NWPROTOCOL is not set or is set to LLE and SSL_RENEGOTIATION is set to a non-zero value, dmloadcf prints a warning message. |
SSL_RENEGOTIATION numeric
| Note: | If NWPROTOCOL is not set or set to LLE and SSL_RENEGOTIATION is set to a non-zero value, dmloadcf prints a warning message. |
CONNECTION_POLICY = {LOCAL | ON_DEMAND | ON_STARTUP | INCOMING_ONLY | PERSISTENT_DISCONNECT}
LOCAL, ON_DEMAND, ON_STARTUP, INCOMING_ONLY or PERSISTENT_DISCONNECT (for remote domain access point only). LOCAL is relevant only to remote domain access points.
CONNECTION_POLICY parameter is available in the DM_TDOMAIN section when running Oracle Tuxedo 8.1 or later software. Its value in the DM_TDOMAIN section for a particular local or remote domain access point takes precedence over its global value in the DM_LOCAL section. The ability to override the global connection policy enables you to configure connection policy on a per TDomain session basis.
Specifying no connection policy for a local domain access point defaults to the global connection policy specified in the DM_LOCAL section. If you choose to specify a global connection policy in the DM_TDOMAIN section, do not specify a global connection policy in the DM_LOCAL section.
A connection policy of LOCAL means that a remote domain access point accepts the global connection policy defined in the DM_LOCAL section. LOCAL is the default connection policy for remote domain access points. Excluding LOCAL, the connection policy value for a remote domain access point takes precedence over the connection policy value for a local domain access point.
A connection policy of ON_DEMAND means that the TDomain gateway attempts a connection only when requested by either a client request to a remote service or a dmadmin(1) connect command. Connection retry processing is not allowed when the connection policy is ON_DEMAND.
A connection policy of ON_STARTUP means that the TDomain gateway attempts to establish a connection at gateway server initialization time. For ON_STARTUP, the remote services for a particular remote domain (that is, services advertised by the TDomain gateway) are advertised only if a connection is successfully established to the remote domain. Thus, if there is no active connection to the remote domain, the remote services are suspended. By default, this connection policy retries failed connections every 60 seconds, but you can specify a different value for this interval using the RETRY_INTERVAL parameter in the DM_TDOMAIN section. Also, see the MAXRETRY parameter in this section.
A connection policy of INCOMING_ONLY means that the TDomain gateway does not attempt an initial connection upon startup and that remote services are initially suspended. The TDomain gateway is available for incoming connections from a remote domain, and remote services are advertised when the gateway receives an incoming connection or an administrative connection (using the dmadmin(1) connect command) is made. Connection retry processing is not allowed when the connection policy is INCOMING_ONLY.
A connection policy of PERSISTENT_DISCONNECT means that the incoming connections from a remote domain are rejected. The local domain will not attempt to connect to the remote domain. Related remote service is suspended accordingly. The local domain is isolated until it is manually changed to another connection policy.
| Note: | The PERSISTENT_DISCONNECT policy can only be used for a remote access point in the DM_TDOMAIN section. |
FAILOVERSEQ = -1 <= num <= 32767
FAILOVERSEQ number is the primary record for that session. If not specified, FAILOVERSEQ defaults to -1.
NWADDR, NWDEVICE, and FAILOVERSEQ, the primary record is the source for all TDomain session configuration parameters and attributes. All other parameters and attributes listed in secondary/backup records are ignored.
Based on the CONNECTION_POLICY attribute you select, the local domain will try to connect to a TDomain session’s primary record. If the primary record fails to connect, it will then try to connect to the next sequential secondary/backup record. If all secondary record connections fail, it will retry the primary record information at a later time as determined by RETRY_INTERVAL until MAXRETRY is exhausted.
LACCESSPOINT (also known as LDOM) = “string”[1..30]
DM_LOCAL section of the DMCONFIG file in Tuxedo release 9.0 and later. The LACCESSPOINT parameter is used exclusively to define TDomain session gateways and can contain only one local domain access point as its value.
LACCESSPOINT defaults to“*” and the TDomain session will connect to all local domain access points listed in the DM_LOCAL section. You can substitute LDOM for the LACCESSPOINT parameter.
| Note: | LACCESSPOINT can also use regular expression values to define multiple local domain access points. When the DMCONFIG file is compiled using dmloadcf, the regular expression values are expanded to their full local domain names in the BDMCONFIG file. LACCESSPOINT can only use regular expressions in the DMCONFIG file. |
MAXRETRY = {numeric | MAXLONG}
DM_TDOMAIN section when running Oracle Tuxedo 8.1 or later software, and is valid when the CONNECTION_POLICY parameter for this access point is set to ON_STARTUP. For other connection policies, automatic retries are disabled.
MAXRETRY is 0, and the maximum value is MAXLONG (2147483647). MAXLONG, the default, indicates that retry processing will be repeated indefinitely, or until a connection is established.
RETRY_INTERVAL = numeric
DM_TDOMAIN section when running Oracle Tuxedo 8.1 or later software, and is valid when the CONNECTION_POLICY parameter for this access point is set to ON_STARTUP. For other connection policies, automatic retries are disabled.
RETRY_INTERVAL is 0, and the maximum value is 2147483647. The default is 60. If MAXRETRY is set to 0, setting RETRY_INTERVAL is not allowed.
TCPKEEPALIVE = {LOCAL | NO | YES}
LOCAL, N (no), or Y (yes). LOCAL is relevant only to remote domain access points.
TCPKEEPALIVE parameter applies only to domain gateways of type TDOMAIN running Oracle Tuxedo 8.1 or later software. Its value for a remote domain access point takes precedence over its value for a local domain access point. The ability to override the local domain access point value enables you to configure TCP-level keepalive on a per remote domain basis.
A value of LOCAL means that a remote domain access point accepts the TCP-level keepalive value defined for the local domain access point. LOCAL is the default TCP-level keepalive value for remote domain access points.
A value of NO means that TCP-level keepalive is disabled for this access point. N is the default TCP-level keepalive value for local domain access points.
A value of YES means that TCP-level keepalive is enabled for this access point. When TCP-level keepalive is enabled for a connection, the keepalive interval used for the connection is the system-wide value configured for the operating system’s TCP keepalive timer. This interval is the maximum time that the TDomain gateway will wait without receiving any traffic on the connection. If the maximum time is exceeded, the gateway sends a TCP-level keepalive request message. If the connection is still open and the remote TDomain gateway is still alive, the remote gateway responds by sending an acknowledgement. If the local TDomain gateway does not receive an acknowledgement within a fixed period of time of sending the request message, it assumes that the connection is broken and releases any resources associated with the connection.
Not only does TCP-level keepalive keep Oracle Tuxedo interdomain connections open during periods of inactivity, but it also enable TDomain gateways to quickly detect connection failures.
| Note: | The TCPKEEPALIVE and DMKEEPALIVE parameters are not mutually exclusive, meaning that you can configure an interdomain connection using both parameters. |
DMKEEPALIVE = numeric
DMKEEPALIVE parameter applies only to domain gateways of type TDOMAIN running Oracle Tuxedo 8.1 or later software. Its value for a remote domain access point takes precedence over its value for a local domain access point. The ability to override the local domain access point value enables you to configure application-level keepalive on a per remote domain basis.
A value of -1 means that a remote domain access point accepts the application-level keepalive value defined for the local domain access point. -1 is the default application-level keepalive value for remote domain access points.
A value of 0 means that application-level keepalive is disabled for this access point. 0 is the default application-level keepalive value for local domain access points.
A value greater than or equal to 1 and less than or equal to 2147483647, in milliseconds, currently rounded up to the nearest second by the Domains software, means that application-level keepalive is enabled for this access point. The time that you specify is the maximum time that the TDomain gateway will wait without receiving any traffic on the connection. If the maximum time is exceeded, the gateway sends an application-level keepalive request message. If the connection is still open and the remote TDomain gateway is still alive, the remote gateway responds by sending an acknowledgement. If the local TDomain gateway does not receive an acknowledgement within a configurable period of time (see the DMKEEPALIVEWAIT parameter) of sending the request message, it assumes that the connection is broken and releases any resources associated with the connection.
Not only does application-level keepalive keep Oracle Tuxedo interdomain connections open during periods of inactivity, but it also enable TDomain gateways to quickly detect connection failures.
| Note: | The DMKEEPALIVE and TCPKEEPALIVE parameters are not mutually exclusive, meaning that you can configure an interdomain connection using both parameters. |
DMKEEPALIVEWAIT = numeric
TDOMAIN running Oracle Tuxedo 8.1 or later software.
DMKEEPALIVE is 0 (keepalive disabled) for this access point, setting DMKEEPALIVEWAIT has no effect.
If DMKEEPALIVE is enabled for this access point and DMKEEPALIVEWAIT is set to a value greater than DMKEEPALIVE, the local TDomain gateway will send more than one application-level keepalive message before the DMKEEPALIVEWAIT timer expires. This combination of settings is allowed.
If DMKEEPALIVE is enabled for this access point and DMKEEPALIVEWAIT is set to 0, receiving an acknowledgement to a sent keepalive message is unimportant: any such acknowledgement is ignored by the TDomain gateway. The gateway continues to send keepalive messages every time the DMKEEPALIVE timer times out. Use this combination of settings to keep an idle connection open through a firewall.
MAC={OFF|ON|MANDATORY}
OFF, ON, MANDATORY. For more information, see
Denial-of-Service (DoS) Defense, in Introducing ATMI Security.
MACLEVEL={0|1|2|3}
If this DM_TDOMAIN entry is a local domain access point (as specified in the DM_LOCAL section), its NWADDR is a network address to be used to listen for incoming connections. Entries associated with a local domain access point can be specified more than once in the DM_TDOMAIN section, to allow for migration of the services associated with a local access point to another machine in the Oracle Tuxedo domain.
Entries associated with a remote domain access point (as specified in the DM_REMOTE section) can also be specified more than once in the DM_TDOMAIN section. If FAILOVERSEQ is not specified, the first entry is considered to be the primary address, which means its NWADDR is the first network address tried when a connection is being attempted to the remote domain access point. The second entry is considered to be the secondary address, which means its NWADDR is the second network address tried when a connection cannot be established using the primary address.
| Note: | If the FAILOVERSEQ parameter is used, it determines the primary and secondary addresses for TDomain session connection policies. |
If this DM_TDOMAIN entry is another occurrence of a remote domain access point, the entry points to a secondary remote gateway that must reside in a different Oracle Tuxedo domain than the Oracle Tuxedo domain in which the primary remote gateway resides. The secondary and primary remote gateways must have the same ACCESSPOINTID defined in the DM_LOCAL section of their associated DMCONFIG files; this arrangement is often referred to as a mirrored gateway. This feature is not recommended for use with transactions or conversations. In addition, the mirrored gateway is not recommended for use when the primary remote gateway is available.
| Note: | For multiple entries of a local or remote domain access point in the DM_TDOMAIN section, only the multiple instances of the NWADDR parameter are read by the Domains software. For multiple instances of any other parameter, only the first instance of the parameter is read by the Domains software; all other instances are ignored. |
The BDMCONFIG environment variable is used to find the BDMCONFIG configuration file.
The following Domains configuration file defines a five-site Domains configuration. The example shows four Bank Branch domains communicating with a Central Bank Branch. Three of the Bank Branches run within other Oracle Tuxedo domains. The fourth Branch runs under the control of another TP domain. OSI TP is used for communication between that domain and the Central Bank. The example shows the Domains configuration file from the Central Bank point of view.
# BEA Tuxedo Domains Configuration File for the Central Bank
#
#
*DM_LOCAL
#
DEFAULT: SECURITY = NONE
c01 GWGRP = bankg1
TYPE = TDOMAIN
ACCESSPOINTID = "BA.CENTRAL01"
DMTLOGDEV = "/usr/apps/bank/DMTLOG"
DMTLOGNAME = "DMTLG_C01"
c02 GWGRP = bankg2
TYPE = OSITP
ACCESSPOINTID = "BA.CENTRAL02"
DMTLOGDEV = "/usr/apps/bank/DMTLOG"
DMTLOGNAME = "DMTLG_C02"
#
*DM_REMOTE
#
b01 TYPE = TDOMAIN
ACCESSPOINTID = "BA.BANK01"
b02 TYPE = TDOMAIN
ACCESSPOINTID = "BA.BANK02"
b03 TYPE = TDOMAIN
ACCESSPOINTID = "BA.BANK03"
b04 TYPE = OSITP
ACCESSPOINTID = "BA.BANK04"
*DM_TDOMAIN
#
# local network addresses
c01 NWADDR = "//newyork.acme.com:65432" NWDEVICE ="/dev/tcp"
# remote network addresses
b01 NWADDR = "//192.11.109.5:1025" NWDEVICE = "/dev/tcp"
b02 NWADDR = "//dallas.acme.com:65432" NWDEVICE = "/dev/tcp"
b03 NWADDR = "//192.11.109.156:4244" NWDEVICE = "/dev/tcp"
*DM_OSITP
#
c02 APT = "BA.CENTRAL01"
AEQ = "TUXEDO.R.4.2.1"
AET = "{1.3.15.0.3},{1}"
ACN = "XATMI"
b04 APT = "BA.BANK04"
AEQ = "TUXEDO.R.4.2.1"
AET = "{1.3.15.0.4},{1}"
ACN = "XATMI"
*DM_EXPORT
#
open_act ACL = branch
close_act ACL = branch
credit
debit
balance
loan LACCESSPOINT = c02 ACL = loans
*DM_IMPORT
#
tlr_add LACCESSPOINT = c01 ROUTING = ACCOUNT
tlr_bal LACCESSPOINT = c01 ROUTING = ACCOUNT
tlr_add RACCESSPOINT = b04 LACCESSPOINT = c02 RNAME ="TPSU002"
tlr_bal RACCESSPOINT = b04 LACCESSPOINT = c02 RNAME ="TPSU003"
tlr_bal RACCESSPOINT = b02,b03” LACCESSPOINT = c02
*DM_ROUTING
#
ACCOUNT FIELD = branchid BUFTYPE = “VIEW:account”
RANGES = “MIN-1000:b01,1001-3000:b02,*:b03”
*DM_ACCESS_CONTROL
#
branch ACLIST = “b01,b02,b03”
loans ACLIST = b04
This example shows the Oracle Tuxedo Domains configuration file for one of the Bank Branches (BANK01).
#
#BEA Tuxedo Domains Configuration file for a Bank Branch
#
#
*DM_LOCAL
#
b01 GWGRP = auth
TYPE = TDOMAIN
ACCESSPOINTID = "BA.BANK01"
DMTLOGDEV = "/usr/apps/bank/DMTLOG"
*DM_REMOTE
#
c01 TYPE = TDOMAIN
ACCESSPOINTID = "BA.CENTRAL01"
*DM_TDOMAIN
#
b01 NWADDR = "//192.11.109.156:4244" NWDEVICE = "/dev/tcp"
c01 NWADDR = "//newyork.acme.com:65432" NWDEVICE ="/dev/tcp"
*DM_EXPORT
#
tlr_add ACL = central
tlr_bal ACL = central
*DM_IMPORT
#
OPA001 RNAME = "open_act"
CLA001 RNAME = "close_act"
CRD001 RNAME = "credit"
DBT001 RNAME = "debit"
BAL001 RNAME = "balance"
*DM_ACCESS_CONTROL
#
central ACLIST = c01
Suppose the local machine on which a TDomain 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 TDomain should accept requests is 2334. Assume that port number 2334 has been added to the network services database under the name bankapp-gwtaddr. The address can be represented in the following ways:
//155.2.193.18:bankapp-gwtaddr
//155.2.193.18:2334
//backus.company.com:bankapp-gwtaddr
//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.12 is translated into a hexadecimal number. Thus the 155 becomes 9B, 2 becomes 02 and so on.
dmadmin(1), dmloadcf(1), dmunloadcf(1), tmboot(1), tmshutdown(1), DMADM(5), GWADM(5), GWTDOMAIN(5)
Setting Up an Oracle Tuxedo Application
Administering an Oracle Tuxedo Application at Run Time
Using the Oracle Tuxedo Domains Component
Programming an Oracle Tuxedo ATMI Application Using C
DM_MIB—Management Information Base for Domains
#include <fml32.h>
#include <tpadm.h> /* MIB Header, includes DOMAINS */
For Oracle Tuxedo release 7.1 or later, the Domains MIB uses improved class and attribute terminology to describe the interaction between local and remote domains. This improved terminology has also been applied to DMCONFIG file syntax.
These terminology improvements eliminate multiple uses of the term “domain” and introduce terms that more clearly describe the actions that occur. For example, the term access point defines an object through which you gain access to another object. Therefore, you access a remote domain through a remote domain access point, and remote domains gain access to a local domain through a local domain access point. The following table reflects the DMCONFIG section name changes that result from eliminating multiple uses of the term “domain.”
Within these sections, the following parameter names have changed.
The equivalent DM_MIB classes for these DMCONFIG sections are T_DM_LOCAL and T_DM_REMOTE, respectively.
In certain configurations, both available services and resources, such as queue spaces and queue names, need to be imported and exported. As such, the DMCONFIG section names DM_LOCAL_SERVICES and DM_REMOTE_SERVICES no longer accurately describe the necessary activity. Replacing these section names with DM_EXPORT and DM_IMPORT, respectively, clearly describes the actions that occur; that is, from the perspective of a single Oracle Tuxedo domain, resources are exported from the domain through local access points and imported into the domain through remote domain access points. These DMCONFIG section name changes are shown in the following table.
Within these sections, the following parameter names have changed.
The equivalent DM_MIB classes for these DMCONFIG sections are T_DM_EXPORT and T_DM_IMPORT, respectively.
The improved Domains terminology introduced in Oracle Tuxedo release 7.1 has been applied to the DM_MIB reference page, classes, and error messages, and to the DMCONFIG reference page, section names, parameter names, and error messages.
For backwards compatibility, aliases are provided between the DMCONFIG terminology used prior to Oracle Tuxedo 7.1 and the improved Domains MIB terminology. For Oracle Tuxedo release 7.1 or later, dmloadcf accepts both versions of the DMCONFIG terminology. dmunloadcf, however, generates a DMCONFIG file that uses the improved domains terminology by default. Use the -c option of dmunloadcf to generate a DMCONFIG file that uses the previous domains terminology.
The Domains MIB defines the set of classes through which a domain may import or export services using domain gateways and domain gateway administrative servers. This reference page assumes the reader is familiar with the Oracle Tuxedo System Domains component, which is described in Using the Oracle Tuxedo Domains Component.
Use DM_MIB(5) 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 DM_MIB may be used to request an administrative service using existing ATMI interfaces in an active application. For additional information pertaining to all DM_MIB(5) class definitions, see DM_MIB(5) Additional Information.
DM_MIB(5) consists of the following classes:
Each class description consists of four sections:
The attribute table is a reference guide to the attributes within a class and how they may used by administrators, operators, and general users to interface with an application.
There are five components to each attribute description in an attribute table: name, type, permissions, values, and default. Each of these components is discussed in MIB(5).
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 DM_MIB-specific flag values defined.
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. The field table name tpadm should be included in the comma-separated list specified by the FIELDTBLS environment variable.
Access to the header files and field tables for this MIB is provided only on Oracle Tuxedo release 7.1 sites and later, both native and Workstation. If a release 5.0 or earlier site is active in the application, global information updates (“SET” operations) are not allowed to gateway groups on those sites.
Local information access for release 5.0 and earlier sites is not available. If the class accessed also has global information, only the global information is returned. Otherwise, an error is returned.
The existing FML32 and ATMI functions necessary to support administrative interaction with Oracle Tuxedo System MIBs, as well as the header file and field tables defined in this reference page, are available on all supported native and Workstation platforms.
The T_DM_ACL class represents access control information for domains.
TA_DMACLNAME (r) (k) (*)
|
||||
TA_STATE(r)
|
||||
TA_DMACLNAME: string [1..15]
T_DM_ACL entry names in the Domains configuration.
TA_DMRACCESSPOINTLIST: string [0..1550]
TA_DMRACCESSPOINTLIST is a comma-separated list of remote domain access point names (that is, the value of the TA_DMRACCESSPOINT attribute of a valid T_DM_REMOTE object). The list can contain up to 50 remote domain access point identifier elements. Setting this attribute to “*” means that all the remote domains in the configuration are associated with this entry. “” means no remote domain access points are associated with this entry. The default is “”.
TA_STATE:
GET operation retrieves configuration information for the T_DM_ACL object. The following state indicates the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates configuration information for the selected T_DM_ACL object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
The T_DM_CONNECTION class represents the status of connections between domain access points.
TA_DMLACCESSPOINT(k)(*)
|
||||
TA_STATE(k)(*)
|
||||
Note 1The link-level encryption value of 40 bits is provided for backward compatibility.
TA_DMLACCESSPOINT: string[1..30]
GET and SET operations, a specific local domain access point must be specified for this attribute.
TA_DMRACCESSPOINT: string[1..30]
GET and SET operations, if TA_DMRACCESSPOINT is absent, all the T_DM_CONNECTION entries for the local access point specified by TA_DMLACCESSPOINT are selected.
TA_DMTYPE: “{TDOMAIN }”
TA_STATE:
GET operation retrieves run-time information for the connection. The following states indicate the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates run-time information for the connection. The following states indicate the meaning of a TA_STATE in a SET request. States not listed may not be set.
TA_DMCURENCRYPTBITS: “{0 | 40 | 56 | 128}”
“0” means no encryption, while “40”, “56”, and “128” specify the encryption length (in bits). This attribute is valid only for gateways running Oracle Tuxedo release 7.1 or higher. For all other gateways, this value is set to “0”.
| Note: | The link-level encryption value of 40 bits is provided for backward compatibility. |
The Domain gateway administration (GWADM) server and the domain gateway supporting the local domain access point specified in the TA_DMLACCESSPOINT attribute must be active in order to perform GET or SET operations on connections to that access point.
The T_DM_EXPORT class represents local resources that are exported to one or more remote domains through a local access point.
TA_DMRESOURCENAME(r)(k)(*)
|
||||
TA_DMLACCESSPOINT(k)(*)
|
||||
TA_STATE(r)
|
||||
TA_DMRESOURCENAME: string[1..127]
SERVICE (the service name), QSPACE (the queue space name), and QNAME (the queue name). For a SERVICE entry, the value of this attribute corresponds to the value of the TA_SERVICENAME attribute of an active T_SVCGRP object. This resource is exported to remote domains with the same name or with the alias defined in the TA_DMREMOTENAME or TA_DMTE* attributes.
TA_DMLACCESSPOINT: string[1..30]
“*” means the resource is available at all local access points.
TA_STATE:
GET operation retrieves configuration information for the T_DM_EXPORT object. The following state indicates the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates configuration information for the selected T_DM_EXPORT object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
TA_DMACLNAME: string[1..15]
T_DM_ACL object to use for security for this local resource. This attribute is not permitted if TA_DMRESOURCETYPE=“QNAME”.
TA_DMCONV: “{Y | N}”
TA_DMREMOTENAME: string[1..127]
TA_DMRESOURCENAME.
TA_DMINBUFTYPE: string[0..513]
type[:subtype]—Specifies the input buffer type, optionally followed by the subtype, for this local resource. If this attribute is present, it defines the buffer type [and subtype] accepted. This attribute should be defined for entries of TA_DMRESOURCETYPE=“SERVICE” when using SNAX, or when access is permitted from remote domain access points using OSITP or OSITPX with the UDT application context.
TA_DMOUTBUFTYPE: string[0..513]
type[:subtype]— Specifies the output buffer type, optionally followed by subtype, for this local resource. If this attribute is present, it defines the buffer type [and subtype] output by the service. This attribute should be defined for entries of TA_DMRESOURCETYPE=“SERVICE” when using SNAX, or when access is permitted from remote domain access points using OSITP or OSITPX with the UDT application context.
TA_DMCOUPLING: string“{TIGHT | LOOSE}”
“LOOSE”. Setting TA_DMCOUPLING=“LOOSE” means that database updates made by the first request to this local service cannot be seen by the second request to the local service even though both requests are involved in the same global transaction. Setting TA_DMCOUPLING=“TIGHT” means that multiple calls to the same local service through the same remote domain access point are tightly coupled: database updates made by the first request can be seen by the second request.
TA_DMCOUPLING=“TIGHT” applies only when duplicate service requests come through the same remote domain access point. When the service requests are through different remote domain access points, the requests are always loosely coupled.
TA_DMINRECTYPE: string[1..78]
type[:subtype]—Specifies the type, optionally followed by subtype, and in some case the format of the reply buffer that a particular client requires for this local service. This attribute can be omitted if the local service sends a buffer that is identical in type and structure to the buffer that the remote client expects. If you do not specify TA_DMINRECTYPE, the type of buffer is unchanged.
TA_DMOUTRECTYPE: string[1..78]
type[:subtype]—Specifies the type, optionally followed by subtype, of the buffer sent by the remote client for this local service. This attribute is used to enforce stronger type checking.
On SET operations that add or update an instance of this class, and where a specific local domain access point is specified in the TA_DMLACCESSPOINT attribute, the access point must exist in the T_DM_LOCAL class. If it does not, a “not defined” error is returned for the TA_DMLACCESSPOINT attribute, and the operation fails.
The T_DM_IMPORT class represents remote resources that are imported through one or more remote domain access points and made available to the local domain through one or more local domain access points.
TA_DMRESOURCENAME(r)(k)(*)
|
||||
TA_DMRACCESSPOINTLIST(k)(*)
|
||||
TA_DMLACCESSPOINT(k)(*)
|
||||
TA_STATE(r)
|
||||
TA_DMRESOURCENAME: string[1..127]
SERVICE (the service name), QSPACE (the queue space name), and QNAME (the queue name). This resource is imported from remote domains with the same name or with the alias defined in the TA_DMREMOTENAME or TA_DMTE* attributes.
TA_DMRACCESSPOINTLIST: string[1..92]
TA_DMRACCESSPOINTLIST is a comma-separated failover domain list; it can contain up to ten remote domain access points of up to 30 characters each. If this attribute is set to “*”, the resource can be imported from all remote domain access points.
TA_DMLACCESSPOINT: string[1..30]
“*”, the resource is made available through all local domain access points.
TA_STATE:
GET operation retrieves configuration information for the T_DM_IMPORT object. The following states indicate the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates the configuration information for the selected T_DM_IMPORT object. The following states indicate the meaning of TA_STATE in a SET request. States not listed may not be set.
TA_DMBLOCKTIME: 0 <= num <= 32,767
BLOCKTIME value specified in the UBBCONFIG RESOURCES section is used for the service.
TA_DMCONV: “{Y | N}”
TA_DMLOAD: 1 <= num <= 32,767
TA_DMREMOTENAME: string[1..127]
TA_DMRESOURCENAME.
TA_DMROUTINGNAME: string[1..15]
T_DM_ROUTING object to use for routing criteria for this remote resource (“SERVICE” or “QSPACE”).
TA_DMINBUFTYPE: string[0..256]
type[:subtype]—Specifies the input buffer type, optionally followed by subtype, for this remote resource. If this attribute is present, it defines the buffer type [and subtype] accepted. This attribute should be defined for entries of DMRESOURCETYPE=“SERVICE” when using SNAX, or when access is permitted to remote domain access points using OSITP or OSITPX with the UDT application context.
TA_DMOUTBUFTYPE: string[0..256]
type[:subtype]—Specifies the output buffer type, optionally followed by subtype, for this remote resource. If this attribute is present, it defines the buffer type [and subtype] output by the service. This attribute should be defined for entries of DMTYPE=“SERVICE” when using SNAX, or when access is permitted to remote domain access points using OSITP or OSITPX with the UDT application context.
TA_DMAUTOPREPARE: string“{Y | N}”
tpcall() involved in a global transaction to this remote service to automatically prepare the call. This optimization reduces the two-phase commit process to a single step. The remote OSITP domain must support this feature. The default is “N”.
TA_DMINRECTYPE: string[1..78]
type[:subtype]—Specifies the type, optionally followed by subtype, and in some case the format of the request buffer that this remote service requires. This attribute can be omitted if the local client sends a buffer that is identical in type and structure to the buffer that this remote service expects. If you do not specify TA_DMINRECTYPE, the type of buffer is unchanged.
TA_DMOUTRECTYPE: string[1..78]
type[:subtype]—Specifies the type, optionally followed by subtype, of the buffer sent by this remote service. This attribute is used to enforce stronger type checking.
TA_DMTPSUTTYPE: string“{INTEGER | PRINTABLESTRING}”
TA_DMREMTPSUT value for this remote service. “INTEGER” and “PRINTABLESTRING” are ASN.1 types. The default is “PRINTABLESTRING”.
TA_DMREMTPSUT: string[1..64]
TA_DMTPSUTTYPE value is “PRINTABLESTRING”, the maximum length is 60 characters, which must comply with the ASN.1 type of PRINTABLESTRING. If the TA_DMTPSUTTYPE value is “INTEGER”, the maximum length must fit into a LONG. The value must be defined prior to defining the remote TPSUT.
The T_DM_LOCAL class defines a local domain access point. A local domain access point is used to control access to local services exported to remote domains and to control access to remote services imported from remote domains.
TA_DMACCESSPOINT(r)(k)(*)
|
||||
TA_STATE(r)
|
||||
Note 1 Current value of TA_BLOCKTIME in the T_DOMAIN class.
Note 2 Current value of TA_MAXGTT in the T_DOMAIN class.
Note 3 Maximum string length for this attribute is 78 bytes for Oracle Tuxedo 8.0 or earlier.
TA_DMACCESSPOINT: string[1..30]
T_DM_LOCAL entry—a user-specified local domain access point identifier (logical name) unique within the scope of the T_DM_LOCAL and T_DM_REMOTE access point names in this Domains configuration.
TA_DMACCESSPOINTID: string[1..30]
TA_DMSRVGROUP: string[1..30]
GROUPS section of the TUXCONFIG file) representing this local domain access point. There is a one-to-one relationship between a local domain access point and a gateway server group.
TA_DMTYPE: “{TDOMAIN | SNAX | OSITP | OSITPX}”
“TDOMAIN” for an Oracle Tuxedo domain, “SNAX” for an SNA domain, “OSITP” for an OSI TP 1.3 domain, or “OSITPX” for an OSI TP 4.0 or later domain. The presence or absence of other attributes depends on the value of this attribute.
TA_STATE:
GET operation retrieves configuration information for the T_DM_LOCAL object. The following state indicates the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates configuration information for the selected T_DM_LOCAL object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
TA_DMAUDITLOG:string[1..256] (up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
TA_DMBLOCKTIME: 0 <= num <= 32,767
SCANUNIT parameters specified in the T_DOMAIN object. The value SCANUNIT * TA_BLOCKTIME must be greater than or equal to SCANUNIT and less than 32,768 seconds. If this attribute is not specified, the default is set to the value of the TA_BLOCKTIME attribute specified for the T_DOMAIN object. A blocking timeout condition implies that the affected service request has failed.
TA_DMBLOCKTIME attribute. That is, for an interdomain transaction, if the value of the TA_DMBLOCKTIME attribute is less than (a) the value of the TA_TRANTIME attribute specified for the T_SERVICE object or (b) the timeout value passed in the tpbegin() call to start the transaction, the timeout for the transaction is reduced to the TA_DMBLOCKTIME value. In contrast, for intradomain transactions (that is, transactions handled within a single Oracle Tuxedo domain), the value of the TA_BLOCKTIME attribute specified for the T_DOMAIN object has no effect on the timeout value of an intradomain transaction.
TA_DMTLOGDEV: string[1..256] (up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
TLOG) for this local domain access point. The TLOG is stored as an Oracle Tuxedo System VTOC table on the device. For reliability, the use of a device (raw slice) is recommended.
TA_DMTLOGDEV) named as specified by the TA_DMTLOGNAME keyword.
TA_DMTLOGNAME: string[1..30]
TLOG name for this local domain access point. If more than one TLOG exists on the same device, each TLOG must have a unique name.
TA_DMTLOGSIZE: 1 <= num <= 2048
TLOG for this local domain access point. This size is constrained by the amount of space available on the device identified in TA_DMTLOGDEV.
TA_DMMAXRAPTRAN: 0 <= num <= 32,767
TA_DMMAXTRAN: 0 <= num <= 32,767
T_DOMAIN:TA_MAXGTT attribute value.
TA_DMSECURITY: “{NONE | APP_PW | DM_PW | DM_USER_PW }”
TA_DMCONNECTION_POLICY:“{ON_DEMAND | ON_STARTUP | INCOMING_ONLY | PERSISTENT_DISCONNECT}”
“ON_DEMAND”, “ON_STARTUP”, “INCOMING_ONLY”, or “PERSISTENT_DISCONNECT”.
dmadmin(1) connect command. The default setting for TA_DMCONNECTION_POLICY attribute is “ON_DEMAND”. The “ON_DEMAND” policy provides the equivalent behavior to previous releases, in which the TA_DMCONNECTION_POLICY attribute was not explicitly available. Connection retry processing is not allowed with this policy.
TA_DMRETRY_INTERVAL attribute. Also, see the TA_DMMAXRETRY attribute.
dmadmin(1) connect command) is made. Connection retry processing is not allowed when the connection policy is “INCOMING_ONLY”.
dmadmin(1) connect command) is made.
TA_DMMAXRETRY: 0 <= num <= MAXLONG
MAXLONG (2147483647). MAXLONG indicates that retry processing is repeated indefinitely, or until a connection is established. For a connection policy of “ON_STARTUP”, the default setting for TA_DMMAXRETRY is MAXLONG. Setting this attribute to 0 turns off the automatic retry mechanism. For other connection policies, automatic retries are disabled.
TA_DMRETRY_INTERVAL: 0 <= num <= MAXLONG
MAXLONG (2147483647). The default is 60. If TA_DMMAXRETRY is set to 0, setting TA_DMRETRY_INTERVAL is not allowed.
TA_DMCONNECTION_POLICY attribute is set to “ON_STARTUP”. For other connection policies, automatic retries are disabled.
TA_DMCONNPRINCIPALNAME: string[0..511]
TDOMAIN running Oracle Tuxedo 7.1 or later software.
TA_DMCONNPRINCIPALNAME attribute may contain a maximum of 511 characters (excluding the terminating NULL character). If this attribute is not specified, the connection principal name defaults to the TA_DMACCESSPOINTID string for this local domain access point.
For default authentication plug-ins, if a value is assigned to the TA_DMCONNPRINCIPALNAME attribute for this local domain access point, it must be the same as the value assigned to the TA_DMACCESSPOINTID attribute for this local domain access point. If these values do not match, the local domain gateway process will not boot, and the system will generate the following userlog(3c) message: ERROR: Unable to acquire credentials.
TA_DMMACHINETYPE: string[0..15]
TDOMAIN.
TA_DMMACHINETYPE is not specified, the default is to turn encoding/decoding on. If the value set for the TA_DMMACHINETYPE attribute is the same in both the T_DM_LOCAL and T_DM_REMOTE classes for a connection, data encoding/decoding is bypassed. The value set for TA_DMMACHINETYPE can be any string value up to 15 characters in length. It is used only for comparison.
TA_DMBLOB_SHM_SIZE: 1 <= num <= MAXLONG
SNAX local domain access point. This attribute applies only to local domain access points and domain gateways of type SNAX.
When the Domain gateway administration (GWADM) server supporting the local domain access point specified in the TA_DMLACCESSPOINT attribute is active, you cannot SET the TA_STATE to INValid or update the following attributes: TA_DMACCESSPOINTID, TA_DMSRVGROUP, TA_DMTYPE, TA_DMTLOGDEV, TA_DMTLOGNAME, TA_DMTLOGSIZE, TA_DMMAXRAPTRAN, TA_DMMAXTRAN, or TA_DMMACHINETYPE.
The T_DM_OSITP class defines the OSI TP 1.3 protocol related configuration information for a specific local or remote domain access point.
TA_DMACCESSPOINT(r)(k)(*)
|
||||
TA_STATE(r)
|
||||
TA_DMAPT(r)
|
||||
TA_DMAEQ(r)
|
||||
TA_DMACCESSPOINT: string[1..30]
T_DM_LOCAL or T_DM_REMOTE entry that defines the protocol independent configuration of the domain access point.
TA_STATE:
GET operation retrieves configuration information for the T_DM_OSITP object. The following state indicates the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates configuration information for the selected T_DM_OSITP object. The following states indicate the meaning of TA_STATE in a SET request. States not listed may not be set.
TA_DMAPT: string[1..78]
TA_DMAEQ: string[1..78]
TA_DMNWDEVICE: string[1..78]
TA_DMACN: “{XATMI | UDT}”
“XATMI” selects the use of the X/Open defined XATMI Application Service Element (ASE) and encoding. The value “UDT” selects the use of the ISO/IEC 10026-5 User Data Transfer encoding.
TA_DMAPID: 0 <= num <= 32767
TA_DMAEID: 0 <= num <= 32767
TA_DMURCH: string[0..30]
TA_DMMAXLISTENINGEP: 0 <= num <= 32767
TA_DMXATMIENCODING: “{CAE | PRELIMINARY | OLTP_TM2200}”
“CAE” (default)
“PRELIMINARY” (used with Unisys MCP OLTP systems)
“OLTP_TM2200” (used with Unisys TM 2200 systems)
Deleting or updating an instance of this class is not permitted in the following scenarios:
On SET operations that add or update an instance of this class, the specific local or remote domain access point specified in the TA_DMACCESSPOINT attribute must exist in the T_DM_LOCAL class or the T_DM_REMOTE class. If the domain access point does not exist, a “not defined” error is returned for the TA_DMACCESSPOINT attribute, and the operation fails.
The T_DM_OSITPX class defines the OSI TP 4.0 or later protocol related configuration information for a specific local or remote domain access point. The T_DM_OSITPX class is supported only by Oracle Tuxedo 8.0 or later software.
TA_DMACCESSPOINT(r)(k)(*)
|
||||
TA_STATE(r)
|
||||
TA_DMAET(r)
|
||||
TA_DMNWADDR(r)
|
||||
TA_DMACCESSPOINT: string[1..30]
T_DM_LOCAL or T_DM_REMOTE entry that defines the protocol-independent configuration of the domain access point.
TA_STATE:
GET operation retrieves configuration information for the T_DM_OSITPX object. The following state indicates the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates configuration information for the selected T_DM_OSITPX object. The following states indicate the meaning of TA_STATE in a SET request. States not listed may not be set.
TA_DMAET: string[1..78]
“{object identifier},{integer qualifier}”. The braces are part of the syntax and must be included within the quotes.
TA_DMNWADDR: string[1..631]
“#.#.#.#:port_number” IP Address“//hostname:port_number” DNS Name“//hostname:port_number;//hostname:port_number; ...”
If the port_number component is absent, the default port 102 is used.
For a local domain access point, the value of this attribute contains a semicolon-separated list of up to eight addresses on which to listen for connection requests. For a remote domain access point, the value of this attribute contains the preferred address for the destination domain followed by up to seven alternative addresses (in preference order) to be tried if the first is unavailable.
TA_DMTSEL: string[1..66]
0x, or “NONE”—the NULL string.
TA_DMDNRESOLUTION: “{STARTUP | RUNTIME}”
TA_DMNWADDR attribute should be resolved for the domain gateway (GWOSITP) associated with this local domain access point. If this attribute is set (or defaulted) to “STARTUP”, the resolution of hostname to an actual IP address takes place at gateway startup. If this attribute is set to “RUNTIME”, the resolution of hostname to an actual IP address takes place at gateway run time.
GET calls for remote domain access point instances, this attribute is set to the NULL string.
TA_DMPSEL: string[1..10]
0x, or “NONE” (default).
TA_DMSSEL: string[1..34]
0x, or “NONE” (default).
TA_DMTAILORPATH: string[1..78]
TA_DMXATMIENCODING: “{CAE | PRELIMINARY | OLTP_TM2200 | NATIVE_A_SERIES}”
XATMI protocol used to communicate with a remote system. This attribute is valid only when describing a remote domain access point. Valid values are:
“CAE” (default)
“PRELIMINARY” (used with Unisys MCP OLTP systems)
“OLTP_TM2200” (used with Unisys TM 2200 systems)
“NATIVE_A_SERIES” (used with Unisys MCP OLTP systems that support TA_DMEXTENSIONS: string[1..78]
;) and include “ONLINE=N/Y” (Y is the default) and “RdomAssocRetry=nn”, where nn is the number of seconds to retry connecting to the online remote domain. This attribute defaults to the RdomAssocRetry tailor parameter if present, or 60 seconds if RdomAssocRetry is not present and nn is not specified.
TA_DMOPTIONS: “{SECURITY_SUPPORTED}”
“SECURITY_SUPPORTED” value indicates that the remote domain associated with this remote domain access point supports the OSITP security extension. This attribute provides backward compatibility; it is valid only when describing a remote domain access point.
Deleting or updating an instance of this class is not permitted in the following scenarios:
On SET operations that add or update an instance of this class, the specific local or remote domain access point specified in the TA_DMACCESSPOINT attribute must exist in the T_DM_LOCAL class or the T_DM_REMOTE class. If the domain access point does not exist, a “not defined” error is returned for the TA_DMACCESSPOINT attribute, and the operation fails.
The T_DM_PASSWORD class represents configuration information for interdomain authentication through access points of type TDOMAIN.
TA_DMLACCESSPOINT(r)(k)(*)
|
||||
TA_DMRACCESSPOINT(r)(k)(*)
|
||||
TA_DMLPWD(r)
|
||||
TA_DMRPWD(r)
|
||||
TA_STATE(r)
|
||||
TA_DMLACCESSPOINT: string[1..30]
TA_DMRACCESSPOINT: string[1..30]
TA_DMLPWD: string[1..30]
TA_DMLACCESSPOINT and the remote domain access point identified by TA_DMRACCESSPOINT.
TA_DMRPWD: string[1..30]
TA_DMLACCESSPOINT and the remote domain access point identified by TA_DMRACCESSPOINT.
TA_STATE:
GET operation retrieves configuration information for the selected T_DM_PASSWORD object. The following state indicates the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates configuration information for the selected T_DM_PASSWORD object. The following states indicate the meaning of TA_STATE in a SET request. States not listed may not be set.
Passwords cannot be re-encrypted (SET TA_STATE to “RECrypt”) when any domain gateway administration server (GWADM) is running.
The T_DM_PRINCIPAL_MAP class represents configuration information for mapping principal names to and from external principal names across access points of type SNAX.
TA_DMLACCESSPOINT(r)(k)(*)
|
||||
TA_DMRACCESSPOINT(r)(k)(*)
|
||||
TA_DMPRINNAME(r)(k)(*)
|
||||
TA_DMRPRINNAME(r)(k)(*)
|
||||
TA_STATE(r)
|
||||
TA_DMLACCESSPOINT: string[1..30]
TA_DMRACCESSPOINT: string[1..30]
TA_DMPRINNAME: string[1..30]
TA_DMRPRINNAME: string[1..30]
TA_DMDIRECTION: “{IN | OUT | BOTH}”
TA_STATE:
GET operation retrieves configuration information for the selected T_DM_PRINCIPAL entry. The following state indicates the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates configuration information for the selected T_DM_PRINCIPAL entry. The following states indicate the meaning of TA_STATE in a SET request. States not listed may not be set.
In Oracle Tuxedo release 7.1 or later, the T_DM_PRINCIPAL_MAP class applies only to the SNAX domain gateway type.
The T_DM_REMOTE class represents remote domain access point configuration information. Local resources that may be exported through one or more local domain access points are made accessible to a remote domain through a remote domain access point. Similarly, remote resources are imported from a remote domain through a remote domain access point.
TA_DMACCESSPOINT(r)(k)(*)
|
||||
TA_DMTYPE(k)
|
||||
TA_STATE(r)
|
||||
TA_DMACCESSPOINT: string[1..30]
T_DM_REMOTE entry—a user-specified remote domain access point identifier (logical name) unique within the scope of the T_DM_LOCAL and T_DM_REMOTE access point names in this Domains configuration.
TA_DMACCESSPOINTID: string[1..30]
TA_DMTYPE: “{TDOMAIN | SNAX | OSITP | OSITPX}”
“TDOMAIN” for an Oracle Tuxedo domain, “SNAX” for an SNA domain, “OSITP” for an OSI TP 1.3 domain, or “OSITPX” for an OSI TP 4.0 or later domain. The presence or absence of other attributes depends on the value of this attribute.
TA_STATE:
GET operation retrieves configuration information for the T_DM_REMOTE object. The following state indicates the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates configuration information for the selected T_DM_REMOTE object. The following states indicate the meaning of TA_STATE in a SET request. States not listed may not be set.
TA_DMPRIORITY_TYPE = “{LOCAL_RELATIVE | LOCAL_ABSOLUTE | GLOBAL}”
TA_DMINPRIORITY = -99 <= num <= 100
TA_DMPRIORITY_TYPE and TA_DMINPRIORITY attributes specify the message priority handling for this remote domain access point. These attributes are supported by Oracle Tuxedo 8.0 or later software.
TA_DMPRIORITY_TYPE attribute, the “LOCAL_RELATIVE” and “LOCAL_ABSOLUTE” values are valid for all remote domain types; the “GLOBAL” value is valid only for remote domains of type TDOMAIN. If not set, the TA_DMPRIORITY_TYPE attribute defaults to “LOCAL_RELATIVE”.
TA_DMPRIORITY_TYPE=“LOCAL_RELATIVE” means that the priority associated with a request from this remote domain access point (for example, via the tpsprio call) is not used by the local domain. Instead, the priority of incoming requests from this remote domain access point is set relative to the TA_DMINPRIORITY value; this value may be greater than or equal to -99 (lowest priority) and less than or equal to 99 (highest priority), with 0 being the default. The setting of TA_DMINPRIORITY increments or decrements a service’s default priority as follows: up to a maximum of 100 or down to a minimum of 1, depending on its sign, where 100 is the highest priority. For requests to the remote domain access point, the priority associated with a request will accompany the request to the remote domain access point.
TA_DMPRIORITY_TYPE=“LOCAL_ABSOLUTE” means that the priority associated with a request from this remote domain access point is not used by the local domain. Instead, the priority of incoming requests from this remote domain access point is set relative to the TA_DMINPRIORITY value; this value may be greater than or equal to 1 (lowest priority) and less than or equal to 100 (highest priority), with 50 being the default. The setting of TA_DMINPRIORITY increments or decrements a service’s default priority as follows: up to a maximum of 100 or down to a minimum of 1, depending on its sign, where 100 is the highest priority. For requests to the remote domain access point, the priority associated with a request will accompany the request to the remote domain access point.
TA_DMPRIORITY_TYPE=“GLOBAL” means that the priority associated with a request from this remote domain access point is adjusted by the local domain. The priority of incoming requests from this remote domain access point is adjusted relative to the TA_DMINPRIORITY value; this value may be greater than or equal to -99 (lowest priority) and less than or equal to 99 (highest priority), with 0 being the default. If TA_DMINPRIORITY is set, the priority accompanying the incoming request is added to the TA_DMINPRIORITY value to create an absolute priority setting for the incoming request. If TA_DMINPRIORITY is not set or is set to 0, the priority accompanying the incoming request is used as is by the local domain. For requests to the remote domain access point, the priority associated with a request will accompany the request to the remote domain access point.
TA_DMACLPOLICY: {LOCAL | GLOBAL}
TDOMAIN running Oracle Tuxedo 7.1 or later software and domain gateways of type OSITPX running Oracle Tuxedo 8.0 or later software.
LOCAL means that the local domain replaces the credential (identity) of any service request received from the remote domain with the principal name specified in the TA_DMLOCALPRINCIPALNAME attribute for this remote domain access point. GLOBAL means that the local domain does not replace the credential received with a remote service request; if no credential is received with a remote service request, the local domain forwards the service request to the local service as is (which usually fails). If this attribute is not specified, the default is LOCAL.
Note that the TA_DMACLPOLICY attribute controls whether or not the local domain replaces the credential of a service request received from a remote domain with the principal name specified in the TA_DMLOCALPRINCIPALNAME attribute. The TA_DMCREDENTIALPOLICY attribute is related to this attribute and controls whether or not the local domain removes the credential from a local service request before sending the request to a remote domain.
TA_DMLOCALPRINCIPALNAME: string[0..511]
TA_DMACLPOLICY attribute for this remote domain access point is set (or defaulted) to LOCAL. This attribute applies only to domain gateways of type TDOMAIN running Oracle Tuxedo 7.1 or later software and domain gateways of type OSITPX running Oracle Tuxedo 8.0 or later software.
TA_DMLOCALPRINCIPALNAME attribute may contain a maximum of 511 characters (excluding the terminating NULL character). If this attribute is not specified, the local principal name defaults to the TA_DMACCESSPOINTID string for this remote domain access point.
TA_DMCONNPRINCIPALNAME: string[0..511]
TDOMAIN running Oracle Tuxedo 7.1 or later software.
TA_DMCONNPRINCIPALNAME attribute may contain a maximum of 511 characters (excluding the terminating NULL character). If this attribute is not specified, the connection principal name defaults to the TA_DMACCESSPOINTID string for this remote domain access point.
For default authentication plug-ins, if a value is assigned to the TA_DMCONNPRINCIPALNAME attribute for this remote domain access point, it must be the same as the value assigned to the TA_DMACCESSPOINTID attribute for this remote domain access point. If these values do not match, any attempt to set up a connection between the local domain gateway and the remote domain gateway will fail, and the system will generate the following userlog(3c) message: ERROR: Unable to initialize administration key for domain domain_name.
TA_DMCREDENTIALPOLICY: {LOCAL | GLOBAL}
TDOMAIN running Oracle Tuxedo 8.0 or later software.
LOCAL means that the local domain removes the credential (identity) from a local service request destined for this remote domain access point. GLOBAL means that the local domain does not remove the credential from a local service request destined for this remote domain access point. If this attribute is not specified, the default is LOCAL.
Note that the TA_DMCREDENTIALPOLICY attribute controls whether or not the local domain removes the credential from a local service request before sending the request to a remote domain. The TA_DMACLPOLICY attribute controls whether or not the local domain replaces the credential of a service request received from a remote domain with the principal name specified in the TA_DMLOCALPRINCIPALNAME attribute.
TA_DMMACHINETYPE: string[0..15]
TA_DMMACHINETYPE is not specified, the default is to turn encoding/decoding on. If the value set for the TA_DMMACHINETYPE attribute is the same in both the T_DM_LOCAL and T_DM_REMOTE classes for a connection, data encoding/decoding is bypassed. The value set for TA_DMMACHINETYPE can be any string value up to 15 characters in length. It is used only for comparison.
TA_DMCODEPAGE: string[1..20]
When any gateway administrative server (GWADM) supporting a local domain access point of the same domain type as this request is active, you cannot SET the TA_STATE to INValid or update the following attributes: TA_DMACCESSPOINTID, TA_DMTYPE, TA_DMMACHINETYPE, or TA_DMCODEPAGE.
You cannot delete an instance of the T_DM_REMOTE class if it is referenced by any instances of the following classes: T_DM_ACL, T_DM_IMPORT, T_DM_OSITP, T_DM_OSITPX, T_DM_ROUTING, or T_DM_TDOMAIN.
The T_DM_RESOURCES class represents Domains-specific configuration information.
TA_DMVERSION(r)
|
||||
TA_DMVERSION: string[1..30]
The T_DM_ROUTING class represents routing criteria information for routing requests to a domain through a remote domain access point.
TA_DMROUTINGNAME(r)(k)(*)
|
||||
TA_DMBUFTYPE(r)(k)(*)
|
||||
TA_DMFIELD(r)
|
||||
TA_DMRANGES(r)
|
||||
TA_STATE(r)
|
||||
TA_DMROUTINGNAME: string[1..15]
T_DM_ROUTING entries in the Domains configuration.
TA_DMBUFTYPE: string[1..256]
“type1[:subtype1[,subtype2 . . . ]][;type2[:subtype3[,subtype4 . . . ]] . . . ]”
List of types and subtypes of data buffers for which this routing entry is valid. A maximum of 32 type/subtype combinations is allowed. The types are restricted to the following: FML, FML32, XML, VIEW, VIEW32, X_C_TYPE, or X_COMMON. No subtype can be specified for type FML, FML32, or XML; subtypes are required for types 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 criterion name; more than one routing entry can have the same criterion name as long as the type/subtype pairs are unique. 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.
TA_DMFIELD: string[1..254]
FML (and FML32) buffer types, TA_DMFIELD contains an FML field name that must be defined in an FML field table. When routing is performed, the field name is retrieved using the FLDTBLDIR and FIELDTBLS (FLDTBLDIR32 and FIELDTBLS32 for FML32) environment variables.
For VIEW (and VIEW32) buffer types, TA_DMFIELD contains a VIEW field name that must be defined in an FML VIEW table. When routing is performed, the field name is retrieved using the VIEWDIR and VIEWFILES (VIEWDIR32 and VIEWFILES32 for VIEW32) environment variables.
When routing a buffer to its correct remote domain access point, the appropriate table is used to get the data-dependent routing field value within a buffer.
For an XML buffer type, TA_DMFIELD contains either a routing element type (or name) or a routing element attribute name.
The syntax of the TA_DMFIELD attribute for an XML buffer type is as follows:
“root_element[/child_element][/child_element] [/. . .][/@attribute_name]”
The element is assumed to be an XML document or datagram element type. Indexing is not supported. Therefore, the Oracle Tuxedo system recognizes only the first occurrence of a given element type when processing an XML buffer for data-dependent routing. This information is used to get the associated element content for data-dependent routing while sending a message. The content must be a string encoded in UTF-8.
The attribute is assumed to be an XML document or datagram attribute of the defined element. This information is used to get the associated attribute value for data-dependent routing while sending a message. The value must be a string encoded in UTF-8.
The combination of element name and attribute name may contain up to 30 characters.
The type of the routing field can be specified by the TA_DMFIELDTYPE attribute.
TA_DMFIELDTYPE: “{CHAR | SHORT | LONG | FLOAT | DOUBLE | STRING}”
TA_DMFIELD attribute. The type can be CHAR, SHORT, LONG, FLOAT, DOUBLE, or STRING; only one type is allowed. This attribute is required if TA_DMBUFTYPE is XML; it must be absent if TA_DMBUFTYPE is FML, VIEW, X_C_TYPE, or X_COMMON.
TA_DMRANGES: string[1..4096]
TA_DMFIELD routing field. The format of the string is a comma-separated, ordered list of range/group name pairs. A range/group name pair has the following format:
“lower[-upper]:raccesspoint”
lower and upper are signed numeric values or character strings in single quotes. lower must be less than or equal to upper. To embed a single quote in a character string value, it must be preceded by two backslashes (for example, '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 are ignored).
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 a string 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 raccesspoint parameter indicates the remote domain access point to which the request is routed if the field matches the range. A raccesspoint of “*” indicates that the request can go to any remote domain access point that imports the desired service.
TA_STATE:
GET operation retrieves configuration information for the T_DM_ROUTING object. The following state indicates the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates configuration information for the selected T_DM_ROUTING object. The following states indicate the meaning of TA_STATE in a SET request. States not listed may not be set.
You cannot delete an instance of the T_DM_ROUTING class if it is referenced by an instance of the T_DM_IMPORT class.
The T_DM_RPRINCIPAL class represents password configuration information for remote principal names.
TA_DMRACCESSPOINT(r)(k)(*)
|
||||
TA_DMRPRINNAME(r)(k)(*)
|
||||
TA_DMRPRINPASSWD(r)(*)
|
||||
TA_STATE(r)
|
||||
TA_DMRACCESSPOINT: string[1..30]
| Note: | The combination of TA_DMRACCESSPOINT and TA_DMRPRINNAME must be unique within the scope of TA_DM_RPRINCIPAL entries in the Domains configuration. |
TA_DMRPRINNAME: string[1..30]
| Note: | The combination of TA_DMRACCESSPOINT and TA_DMRPRINNAME must be unique within the scope of TA_DM_RPRINCIPAL entries in the Domains configuration. |
TA_DMRPRINPASSWD: string[0..8]
TA_DMRACCESSPOINT.
TA_STATE:
GET operation retrieves configuration information for the T_DM_RPRINCIPAL object. The following state indicates the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates configuration information for the selected T_DM_RPRINCIPAL object. The following states indicate the meaning of TA_STATE in a SET request. States not listed may not be set.
In Oracle Tuxedo release 7.1 or later, the T_DM_RPRINCIPAL class applies only to the SNAX domain gateway type.
The T_DM_SNACRM class defines the SNA-CRM-specific configuration for the named local domain access point.
TA_DMSNACRM(k)(r)(*)
|
||||
TA_DMLACCESSPOINT(k)(r)
|
||||
TA_STATE(r)
|
||||
TA_DMNWADDR(r)
|
||||
TA_DMSNACRM: string[1..30]
T_DM_SNACRM entry. TA_DMSNACRM is an identifier unique within the scope of the SNA CRM entries within the Domains configuration used to identify this SNA CRM entry.
TA_DMLACCESSPOINT: string[1..30]
TA_STATE:
GET operation retrieves configuration information for the T_DM_SNACRM object. The following state indicates the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates configuration information for the selected T_DM_SNACRM object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
TA_DMNWADDR: string[1..78]
TA_DMNWDEVICE: string[1..78]
Deleting or updating an instance of the T_DM_SNACRM class is not permitted if the Domain gateway administration (GWADM) server for the referenced local access point is active.
On SET operations that add or update an instance of this class, the local domain access point specified in the TA_DMLACCESSPOINT must exist in the T_DM_LOCAL class. If the access point does not exist, a “not defined” error is returned for the TA_DMLACCESSPOINT attribute, and the operation fails.
The T_DM_SNALINK class represents SNAX-specific configuration information for a remote domain access point.
TA_DMSNALINK(r)(k)(*)
|
||||
TA_DMSNASTACK(r)(k)
|
||||
TA_DMRACCESSPOINT(r)(k)
|
||||
TA_DMLSYSID(r)
|
||||
TA_DMRSYSID(r)
|
||||
TA_DMLUNAME(r)
|
||||
TA_DMMINWIN(r)
|
||||
TA_STATE(r)
|
||||
TA_DMSNALINK: string[1..30]
T_DM_SNALINK entry. An identifier, unique within the scope of the SNA LINK entries within the Domains configuration, used to identify this TA_DMSNALINK entry.
TA_DMSNASTACK: string[1..30]
TA_DMRACCESSPOINT: string[1..30]
TA_DMLSYSID: string[1..4]
TA_DMRSYSID: string[1..4]
TA_DMLUNAME
string[1..8]
TA_DMMINWIN: 0 <= num <= 32767
TA_DMMODENAME: string[1..8]
TA_STATE:
GET operation retrieves configuration information for the T_DM_SNALINK object. The following state indicates the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates configuration information for the selected T_DM_SNALINK object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
TA_DMSECTYPE: “{LOCAL | IDENTIFY | VERIFY | PERSISTENT | MIXIDPE}”
“LOCAL”, “IDENTIFY”, “VERIFY”, “PERSISTENT”, and “MIXIDPE”.
TA_DMSTARTTYPE: “{AUTO | COLD}”
“COLD” forces a COLDSTART with the LU. If set to “AUTO”, the SNACRM in conjunction with the domain gateway choose whether to COLDSTART or WARMSTART the LU.
TA_DMMAXSNASESS: 0 <= num <= 32767
TA_DMMAXSYNCLVL: 0 <= num <= 2
Deleting or updating an instance of the T_DM_SNALINK class that refers to a T_DM_SNASTACK class instance is not permitted under the following condition: the T_DM_SNASTACK class instance refers to a T_DM_SNACRM class instance that references a local domain access point for which the Domain gateway administration (GWADM) server is active.
On SET operations that add or update an instance of this class:
TA_DMRACCESSPOINT attribute must exist in the T_DM_REMOTE class. If the access point does not exist, a "not defined" error is returned for the TA_DMRACCESSPOINT attribute, and the operation fails.TA_DMSNASTACK attribute must exist in the T_DM_SNASTACK class. If the reference name does not exist, a “not defined” error is returned for the TA_DMSNASTACK attribute, and the operation fails.
The T_DM_SNASTACK class defines an SNA stack to be used by a specific SNA CRM.
TA_DMSNASTACK(r)(k)(*)
|
||||
TA_DMSNACRM(r)(k)
|
||||
TA_DMLUNAME(r)
|
||||
TA_DMTPNAME(r)
|
||||
TA_STATE(r)
|
||||
TA_DMSNASTACK: string[1..30]
T_DM_SNASTACK entry. TA_DMSNASTACK is an identifier unique within the scope of T_DM_SNASTACK entry names in the Domains configuration.
TA_DMSNACRM: string[1..30]
T_DM_SNACRM entry of the SNA CRM in which this SNA protocol stack definition is used.
TA_DMSTACKTYPE: string[1..30]
TA_DMLUNAME: string[1..8]
TA_DMTPNAME: string[1..8]
TA_DMSTACKPARMS: string[1..128]
TA_STATE:
GET operation retrieves configuration information for the T_DM_SNASTACK object. The following state indicates the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates configuration information for the selected T_DM_SNASTACK object. The following states indicate the meaning of TA_STATE in a SET request. States not listed may not be set.
Deleting or updating an instance of this class is not permitted if the instance of the class references a T_DM_SNACRM object which references a local domain access point for which the Domain gateway administration (GWADM) server is active.
On SET operations that add or update an instance of this class, the SNA CRM name specified in the TA_DMSNACRM attribute must exist in the T_DM_SNACRM class. If the name does not exist, a “not defined” error is returned for the TA_DMSNACRM attribute, and the operation fails.
The T_DM_TDOMAIN class defines the TDomain specific configuration for a local or remote domain access point.
TA_DMACCESSPOINT(r)(k)(*)
|
||||
TA_DMNWADDR(r)(k)(*)
|
||||
TA_STATE(r)
|
||||
TA_DMLACCESSPOINT(r)(k)(*)
|
||||
Note 1 Maximum string length for this attribute is 78 bytes for Oracle Tuxedo 8.0 or earlier.
Note 2 Link-level encryption value of 40 bits is provided for backward compatibility.
Note 3 Default for remote domain access points.
Note 4 Default for local domain access points.
Note 5 Default TA_DMCONNECTION_POLICY value for a local domain access point is
the TA_DMCONNECTION_POLICY value specified in the T_DM_LOCAL class.
TA_DMACCESSPOINT: string[1..30]
T_DM_TDOMAIN class entry can be defined with the same TA_DMACCESSPOINT attribute value.
TA_DMNWADDR: string[1..256] (up to 78 bytes for Oracle Tuxedo 8.0 or earlier)
T_DM_TDOMAIN entries. Table 30 lists the TCP/IP address formats.
TA_STATE:
GET operation retrieves configuration information for the T_DM_TDOMAIN object. The following state indicates the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates configuration information for the selected T_DM_TDOMAIN object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
| Note: | For "INValid" requests to remove a DM_TDOMAIN entry: |
| Note: | After this MIB request, a high priority "dco" request is immediately sent to GWTDOMAIN of the related local domain. The connection is dropped immediately after GWTDOMAIN schedules the "dco" request. All ongoing service requests fail. |
TA_DMNWDEVICE: string[1..78]
TA_DMCMPLIMIT: 0 <= num <= MAXLONG
TA_DMMINENCRYPTBITS: “{0 | 40 | 56 | 128|256}”
“0” means no encryption, while “40”, “56”, “128” and “256” specify the encryption length (in bits). If this minimum level of encryption is not met, link establishment fails. The default is “0”.
| Note: | Modifications to this attribute do not affect established connections. |
TA_DMMAXENCRYPTBITS: “{0 | 40 | 56 | 128|256}”
“0” means no encryption, while “40”, “56”, “128” and “256” specify the encryption length (in bits). The default is “128”.
| Note: | Modifications to this attribute do not affect established connections. |
TA_DMCONNECTION_POLICY = “{LOCAL | ON_DEMAND | ON_STARTUP | INCOMING_ONLY | PERSISTENT_DISCONNECT}”
“LOCAL”, “ON_DEMAND”, “ON_STARTUP”, “INCOMING_ONLY”, or “PERSISTENT_DISCONNECT”. “LOCAL” is relevant only to remote domain access points.
TA_DMCONNECTION_POLICY attribute is available in the T_DM_TDOMAIN class when running Oracle Tuxedo 8.1 or later software. Its value in the T_DM_TDOMAIN class for a particular local or remote domain access point takes precedence over its global value in the T_DM_LOCAL class. The ability to override the global connection policy enables you to configure connection policy on a per remote domain basis.
Specifying no connection policy for a local domain access point defaults to the global connection policy specified in the T_DM_LOCAL class. If you choose to specify a global connection policy in the T_DM_TDOMAIN class, do not specify a global connection policy in the T_DM_LOCAL class.
“LOCAL” means that a remote domain access point accepts the global connection policy specified in the T_DM_LOCAL class. “LOCAL” is the default connection policy for remote domain access points. Excluding “LOCAL”, the connection policy value for a remote domain access point takes precedence over the connection policy value for a local domain access point.
“ON_DEMAND” means that the TDomain gateway attempts a connection only when requested by either a client request to a remote service or a dmadmin(1) connect command. Connection retry processing is not allowed when the connection policy is “ON_DEMAND”.
“ON_STARTUP” means that the TDomain gateway attempts to establish a connection at gateway server initialization time. For “ON_STARTUP”, the remote services for a particular remote domain (that is, services advertised by the TDomain gateway) are advertised only if a connection is successfully established to the remote domain. Thus, if there is no active connection to the remote domain, the remote services are suspended. By default, this connection policy retries failed connections every 60 seconds, but you can specify a different value for this interval using the TA_DMRETRY_INTERVAL attribute in the T_DM_TDOMAIN class. Also, see the TA_DMMAXRETRY attribute in this class.
“INCOMING_ONLY” means that the TDomain gateway does not attempt an initial connection upon startup and that remote services are initially suspended. The TDomain gateway is available for incoming connections from a remote domain, and remote services are advertised when the gateway receives an incoming connection or an administrative connection (using the dmadmin(1) connect command) is made. Connection retry processing is not allowed when the connection policy is “INCOMING_ONLY”.
“PERSISTENT_DISCONNECT” means that the incoming connections from the remote domain is rejected and the local domain will not attempt to connect to the remote domain. Related remote service is suspended accordingly. The local domain is isolated until it is manually changed to another connection policy. Remote services are available until manually changed to another connection policy and administrative connection (using the dmadmin(1) connect command) is made.
| Note: | This policy can only used for remote access point MIB setting. |
TA_DMFAILOVERSEQ = -1 <= num <= 32767
BDMCONFIG file. If a DM_MIB SET request does not specify a TA_DMFAILOVERSEQ value or a DM_MIB SET TA_DMFAILOVERSEQ request is from Tuxedo releases prior to 9.0, the output TDomain session record in the BDMCOMFIG file uses the default FAILOVERSEQ = -1.
FAILOVERSEQ value is the primary record for that TDomain session. There is only one primary record for a TDomain session, all remaining records for the same TDomain session are called secondary/backup records. With the exceptions of NWADDR, NWDEVICE, and FAILOVERSEQ, the primary record is the source for all TDomain session configuration parameters and attributes. All other parameters and attributes listed in secondary/backup records are ignored.
Based on the CONNECTION_POLICY attribute you select, the local domain will try to connect to a TDomain session’s primary record. If the primary record has a failover, it will then try to connect to the next sequential secondary/backup record. If all secondary record connections fail, it will retry the primary record information at a later time as determined by RETRY_INTERVAL until MAXRETRY is exhausted.
TA_DMLACCESSPOINT: string[1..30]
DM_LOCAL section for a TDomain session record in the BDMCONFIG file. The TA_DMLACCESSPOINT parameter is used exclusively to define TDomain session gateways and can contain only one local domain accesspoint as its value.
DM_MIB SET request does not specify a TA_DMLACCESSPOINT value or a DM_MIB SET TA_DMLACCESSPOINT request is from Tuxedo releases prior to 9.0, the output TDomain session record in the BDMCOMFIG file uses the default LACCESPOINT =”*”.
| Note: | DM_MIB does not allow regular expression use with TA_DMLACCESSPOINT. |
TA_DMMAXRETRY: 0 <= num <= MAXLONG
T_DM_TDOMAIN class when running Oracle Tuxedo 8.1 or later software, and is valid when the TA_DMCONNECTION_POLICY attribute for this access point is set to “ON_STARTUP”. For other connection policies, automatic retries are disabled.
TA_DMMAXRETRY is 0, and the maximum value is MAXLONG (2147483647). MAXLONG, the default, indicates that retry processing will be repeated indefinitely, or until a connection is established.
TA_DMRETRY_INTERVAL: 0 <= num <= MAXLONG
T_DM_TDOMAIN class when running Oracle Tuxedo 8.1 or later software, and is valid when the TA_DMCONNECTION_POLICY attribute for this access point is set to “ON_STARTUP”. For other connection policies, automatic retries are disabled.
TA_DMRETRY_INTERVAL is 0, and the maximum value is MAXLONG (2147483647). The default is 60. If TA_DMMAXRETRY is set to 0, setting TA_DMRETRY_INTERVAL is not allowed.
TA_DMNW_PROTOCOL = “{LLE | SSL | SSL_ONE_WAY}”
“LLE.” The SSL option requires the domains at both end of the connection to authenticate each other; the SSL_ONE_WAY option does not.
SSL_ONE_WAY is set, the domain that accepts an SSL connection needs to authenticate itself to the domain that initiates the connection using an SSL certificate. The initiating domain does not need to authenticate itself to the other domain. This value is mainly intended for use with a CONNECTION_POLICY to INCOMING_ONLY, and should only be set when the domain that accepts incoming connections does not need to authenticate connecting domains.
| Note: | If TA_DMNW_PROTOCOL is not set or set to LLE and TA_DMSSL_RENEGOTIATION is set to a non-zero value, the MIB call prints a warning message; however, the requested values are still set. The MIB operation then returns TAUPDATED or TAOK (unless some other error occurs). |
TA_DMSSL_RENEGOTIATION = 0 <= num <= 2147483647
| Note: | If TA_DMNW_PROTOCOL is not set or set to LLE and TA_DMSSL_RENEGOTIATION is set to a non-zero value, the MIB call prints a warning message; however, the requested values are still set. The MIB operation then returns TAUPDATED or TAOK (unless some other error occurs). |
TA_DMTCPKEEPALIVE = “{LOCAL | NO | YES}”
“LOCAL”, “NO”, or “YES”. “LOCAL” is relevant only to remote domain access points.
TA_DMTCPKEEPALIVE attribute applies only to domain gateways of type TDOMAIN running Oracle Tuxedo 8.1 or later software. Its value for a remote domain access point takes precedence over its value for a local domain access point. The ability to override the local domain access point value enables you to configure TCP-level keepalive on a per remote domain basis.
A value of “LOCAL” means that a remote domain access point accepts the TCP-level keepalive value defined for the local domain access point. “LOCAL” is the default TCP-level keepalive value for remote domain access points.
A value of “NO” means that TCP-level keepalive is disabled for this access point. “NO” is the default TCP-level keepalive value for local domain access points.
A value of “YES” means that TCP-level keepalive is enabled for this access point. When TCP-level keepalive is enabled for a connection, the keepalive interval used for the connection is the system-wide value configured for the operating system’s TCP keepalive timer. This interval is the maximum time that the TDomain gateway will wait without receiving any traffic on the connection. If the maximum time is exceeded, the gateway sends a TCP-level keepalive request message. If the connection is still open and the remote TDomain gateway is still alive, the remote gateway responds by sending an acknowledgement. If the local TDomain gateway does not receive an acknowledgement within a fixed period of time of sending the request message, it assumes that the connection is broken and releases any resources associated with the connection.
Not only does TCP-level keepalive keep Oracle Tuxedo interdomain connections open during periods of inactivity, but it also enable TDomain gateways to quickly detect connection failures.
| Note: | The TA_DMTCPKEEPALIVE and TA_DMKEEPALIVE attributes are not mutually exclusive, meaning that you can configure an interdomain connection using both attributes. |
TA_DMKEEPALIVE = -1 <= num <= 2147483647
TA_DMKEEPALIVE attribute applies only to domain gateways of type TDOMAIN running Oracle Tuxedo 8.1 or later software. Its value for a remote domain access point takes precedence over its value for a local domain access point. The ability to override the local domain access point value enables you to configure application-level keepalive on a per remote domain basis.
A value of -1 means that a remote domain access point accepts the application-level keepalive value defined for the local domain access point. -1 is the default application-level keepalive value for remote domain access points.
A value of 0 means that application-level keepalive is disabled for this access point. 0 is the default application-level keepalive value for local domain access points.
A value greater than or equal to 1 and less than or equal to 2147483647, in milliseconds, currently rounded up to the nearest second by the Domains software, means that application-level keepalive is enabled for this access point. The time that you specify is the maximum time that the TDomain gateway will wait without receiving any traffic on the connection. If the maximum time is exceeded, the gateway sends an application-level keepalive request message. If the connection is still open and the remote TDomain gateway is still alive, the remote gateway responds by sending an acknowledgement. If the local TDomain gateway does not receive an acknowledgement within a configurable period of time (see the TA_DMKEEPALIVEWAIT attribute) of sending the request message, it assumes that the connection is broken and releases any resources associated with the connection.
Not only does application-level keepalive keep Oracle Tuxedo interdomain connections open during periods of inactivity, but it also enable TDomain gateways to quickly detect connection failures.
| Note: | The TA_DMKEEPALIVE and TA_DMTCPKEEPALIVE attributes are not mutually exclusive, meaning that you can configure an interdomain connection using both attributes. |
TA_DMKEEPALIVEWAIT = 0 <= num <= 2147483647
TDOMAIN running Oracle Tuxedo 8.1 or later software.
TA_DMKEEPALIVE is 0 (keepalive disabled) for this access point, setting TA_DMKEEPALIVEWAIT has no effect.
If TA_DMKEEPALIVE is enabled for this access point and TA_DMKEEPALIVEWAIT is set to a value greater than TA_DMKEEPALIVE, the local TDomain gateway will send more than one application-level keepalive message before the TA_DMKEEPALIVEWAIT timer expires. This combination of settings is allowed.
If TA_DMKEEPALIVE is enabled for this access point and TA_DMKEEPALIVEWAIT is set to 0, receiving an acknowledgement to a sent keepalive message is unimportant: any such acknowledgement is ignored by the TDomain gateway. The gateway continues to send keepalive messages every time the TA_DMKEEPALIVE timer times out. Use this combination of settings to keep an idle connection open through a firewall.
Deleting an instance of this class or updating the TA_DMNWDEVICE attribute of an instance of this class is not permitted in the following scenarios:
GWADM) server for the local access point is active.GWADM) server is active.
The T_DM_TRANSACTION class represents run-time information about transactions that span domains. This object can be used to find out what remote domain access points are involved in the transaction, the parent domain access point, the transaction state, and other information.
For GET operations, the attributes TA_DMTPTRANID, TA_DMTXACCESSPOINT and TA_DMTXNETTRANID may be supplied to select a particular transaction.
TA_DMLACCESSPOINT(k)(*)
|
||||
TA_STATE(r)(k)
|
||||
TA_DMLACCESSPOINT: string[1..30]
GET operations. For SET operations, TA_DMLACCESSPOINT must be specified.
TA_DMTPTRANID: string[1..78]
TA_STATE:
GET: “{ABorteD | ABortonlY | ACTive | COMcalled | DECided | DONe | HABort | HCOmmit | HEUristic | REAdy | UNKnown}”
GET operation retrieves run-time information for the T_DM_TRANSACTION object. The following states indicate the meaning of a TA_STATE attribute value returned in response to a GET request. States not listed are not returned.
SET operation updates run-time information for the selected T_DM_TRANSACTION object or objects. The following state indicates the meaning of a TA_STATE set in a SET request. States not listed may not be set.
TA_DMTXACCESSPOINT: string[1..30]
TA_DMTXACCESSPOINT is the name of the remote domain access point through which it originated. If the transaction originated within this domain, TA_DMTXACCESSPOINT is the name of the local domain access point.
TA_DMTXNETTRANID: string[1..78]
TA_DMTXNETTRANID is the external transaction identifier received from the remote domain access point through which it originated. If the transaction originated within this domain, TA_DMTXNETTRANID contains the same value as the TA_DMTPTRANID attribute.
| Note: | This attribute is available only to gateways running Oracle Tuxedo release 7.1 or later, and is set to the NULL string “” for gateways running earlier releases of the Oracle Tuxedo system. |
TA_DMBRANCHCOUNT: 0 <= num
TA_DMBRANCHINDEX: 0 <= num
TA_DMBRANCHNO, TA_DMRACCESSPOINT, TA_DMNETTRANID, and TA_DMBRANCHSTATE) corresponding to this object.
TA_DMBRANCHNO: 0 <= num
TA_DMRACCESSPOINT: string[1..30]
TA_DMNETTRANID: string[1..78]
TA_DMTPTRANID for branches to remote domain access points and sets this value to the empty string.
TA_DMBRANCHSTATE:
GET operation will retrieve run-time information for the transaction branch (when it is available for a particular domain gateway type).
| Note: | This attribute is available only to gateways running Oracle Tuxedo release 7.1 or later, and is set to “UNKnown” for gateways running earlier releases of the Oracle Tuxedo system. |
This object is never explicitly created by the administrator; it comes into existence when the application starts a multi-domain transaction. The only action an administrator can perform on this object is to set its state to “INValid”, which has the effect of causing the transaction to forget heuristic transaction log records. No other attributes are writable. When a transaction state is set to “INValid”, the state in the returned buffer is that of the transaction before the heuristic transaction log records are forgotten, not after.
On GET and SET operations, a specific local domain access point must be specified for the TA_DMLACCESSPOINT attribute.
On GET and SET operations, the Domain gateway administration (GWADM) server for the local access point identified in the TA_DMLACCESSPOINT attribute must be active. Otherwise, a “not defined” error is returned.
${TUXDIR}/include/tpadm.h
${TUXDIR}/udataobj/tpadm
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)
Administering an Oracle Tuxedo Application at Run Time
Setting Up an Oracle Tuxedo Application
Programming an Oracle Tuxedo ATMI Application Using C
Programming an Oracle Tuxedo ATMI Application Using FML
EVENTS—List of system-generated events
The System Event Monitor feature detects and reports certain predefined events, primarily failures, that a system operator should be aware of. Each event report is an FML32 buffer containing generic fields that describe the event plus other fields that describe the object associated with the event.
The Oracle Tuxedo system periodically checks system capacities. If the system finds that a resource is exhausted or near capacity, it posts a system WARN or ERROR event. The system will continue to post these events until the condition subsides.
This reference page first defines the generic event reporting fields, and then lists all system events detected in the current Oracle Tuxedo release. System event names begin with a dot ( . ).
Event reporting is currently limited to classes defined in TM_MIB(5) and the T_DM_CONNECTION class defined in DM_MIB(5). Event reporting uses the MIB information base. See MIB(5) and TM_MIB(5) for a definition and the availability of “local attributes,” and be aware that the availability of a local attribute depends on the state of communication within the application's network.
It is possible that the system will not post an event related to a system capacity limit (for example, .SysMachineFullMaxgtt) if the condition only exists for a very short period of time.
TA_OPERATION: string
TA_EVENT_NAME: string
TA_EVENT_SEVERITY: string
TA_EVENT_LMID: string
TA_EVENT_TIME: long
TA_EVENT_USEC: long
TA_EVENT_DESCRIPTION: string
TA_CLASS: string
TA_CLASS, the event notification buffer will contain additional fields specific to an object of this class.
TA_ULOGCAT: string
TA_ULOGMSGNUM: num
.SysAclPerm
SysResourceConfig
SysLicenseInfo
INFO: .SysLicenseInfo: reached 100% of Tuxedo System Binary Licensed User Count, DBBL/BBL lockout canceled
.SysLicenseInfo: reached 90% of Tuxedo System Binary Licensed User Count
.SysLicenseInfo: reached 90% of Tuxedo System Binary Licensed User Count, DBBL/BBL lockout canceled
.SysLicenseInfo: reached below 90% of Tuxedo System Binary Licensed User Count, DBBL/BBL lockout canceled
SysLicenseWarn
SysLicenseError
ERROR: .SysLicenseError: exceeded 110% of Tuxedo System Binary Licensed User Count, DBBL/BBL lockout occurs,
no new clients can join the application
.SysLicenseError: exceeded 110% of Tuxedo System Binary Licensed User Count, %hour, %minutes, %seconds left before DBBL/BBL lockout occurs
.SysConnectionSuccess
INFO: .SysConnectionSuccess: Connection successful between %TA_DMLACCESSPOINT and %TA_DMRACCESSPOINT
.SysConnectionConfig
INFO: .SysConnectionConfig: Configuration change for connection between %TA_DMLACCESSPOINT and %TA_DMRACCESSPOINT
.SysConnectionDropped
.SysConnectionFailed
SysGroupState
SysMachineBroadcast
SysMachineConfig
SysMachineFullMaxaccessers
SysMachineFullMaxconv
SysMachineFullMaxgtt
SysMachineFullMaxwsclients
SysMachineMsgq
SysMachinePartitioned
SysMachineSlow
SysMachineState
SysMachineUnpartitioned
SysNetworkConfig
SysNetworkDropped
SysNetworkFailure
SysNetworkFlow
SysNetworkState
SysServerCleaning
SysServerConfig
SysServerDied
SysServerInit
SysServerMaxgen
ERROR: .SysServerMaxgen: %TA_SERVERNAME, group %TA_SRVGRP, id %TA_SRVID server exceeded MAXGEN restart limit
SysServerRestarting
SysServerState
SysServerTpexit
ERROR: .SysServiceTimeout: %TA_SERVERNAME, group %TA_SRVGRP, id %TA_SRVID server killed due to a service timeout
SysClientConfig
SysClientDied
SysClientSecurity
SysClientState
SysTransactionHeuristicAbort
SysTransactionHeuristicCommit
SysEventDelivery
SysEventFailure
EVENT_MIB—Management Information Base for EventBroker
#include <tpadm.h>
#include <fml32.h>
#include <evt_mib.h>
The Oracle Tuxedo EventBroker MIB defines the set of classes through which the EventBroker can be managed.
EVENT_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) and a component MIB 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 EVENT_MIB(5) class definitions, see EVENT_MIB(5) Additional Information.
EVENT_MIB consists of the following classes.
Each object in these classes represents a single subscription request.
The pattern expression of TA_EVENT_EXPR in each class determines whether it is a SYSTEM EVENT request or an USER EVENT request. The determination on which one to query is made as follows:
TA_EVENT_EXPR or TA_EVENT_SERVER specified will always go to the SYSTEM EVENT request and will not return USER EVENT request.TA_EVENT_EXPR specified but not TA_EVENT_SERVER will go to the SYSTEM EVENT request if the expressions starts with “\.”. Otherwise, it will go to the USER EVENT request.TA_EVENT_SERVER specified with a value of “SYSTEM” will go to the SYSTEM EVENT request. A value of “USER” will direct the request to the USER EVENT.
The field table for the attributes described in this reference page is found in the file udataobj/evt_mib (relative to the root directory of the Oracle Tuxedo system software). The directory ${TUXDIR}/udataobj should be included by the application in the colon-separated list specified by the FLDTBLDIR32 environment variable and the field table name evt_mib should be included in the comma-separated list specified by the FIELDTBLS32 environment variable.
The T_EVENT_CLIENT class represents a set of subscriptions registered with the EventBroker for client-based notification.
When an event is detected, it is compared to each T_EVENT_CLIENT object. If the event name matches the value in TA_EVENT_EXPR and the optional filter rule is TRUE, the event buffer is sent to the specified client's unsolicited message handling routine.
Check MIB(5) for an explanation of Permissions.
TA_EVENT_EXPR: string[1..255]
TA_EVENT_FILTER: string[1..255]
TA_EVENT_FILTER_BINARY: carray[1..64000]
TA_EVENT_FILTER, but may contain arbitrary binary data. Only one of TA_EVENT_FILTER or TA_EVENT_FILTER_BINARY may be specified.
TA_STATE:
SET operation will update configuration information for the T_EVENT_CLIENT object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
TA_CLIENTID: string[1..78]
The T_EVENT_COMMAND class represents a set of subscriptions registered with the EventBroker that trigger execution of system commands. When an event is detected, it is compared to each T_EVENT_COMMAND object. If the event name matches the value in TA_EVENT_EXPR and the optional filter rule is TRUE, the event buffer is formatted and passed to the system's command interpreter.
Check MIB(5) for an explanation of Permissions.
TA_EVENT_EXPR: string[1..255]
TA_EVENT_FILTER: string[1..255]
TA_EVENT_FILTER_BINARY: carray[1..64000]
TA_EVENT_FILTER, but may contain arbitrary binary data. Only one of TA_EVENT_FILTER or TA_EVENT_FILTER_BINARY may be specified.
TA_STATE:
SET operation will update configuration information for the T_EVENT_COMMAND object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
TA_COMMAND: string[1..255]
system(3).
The T_EVENT_QUEUE class represents a set of subscriptions registered with the EventBroker for queue-based notification. When an event is detected, it is compared to each T_EVENT_QUEUE object. If the event name matches the value in TA_EVENT_EXPR and the optional filter rule is TRUE, the event buffer is stored in the specified reliable queue.
Check MIB(5) for an explanation of Permissions.
TA_EVENT_EXPR: string[1..255]
TA_EVENT_FILTER: string[1..255]
TA_EVENT_FILTER_BINARY: carray[1..64000]
TA_EVENT_FILTER, but may contain arbitrary binary data. Only one of TA_EVENT_FILTER or TA_EVENT_FILTER_BINARY may be specified.
TA_STATE:
SET operation will update configuration information for the T_EVENT_QUEUE object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
TA_QSPACE: string[1..15]
TA_QNAME: string[1..127]
TA_QCTL_QTOP: short
tpenqueue()'s TPQCTL control structure to request notification via the /Q subsystem with the message to be placed at the top of the queue.
TA_QCTL_BEFOREMSGID: short
tpenqueue()'s TPQCTL control structure to request notification via the /Q subsystem with the message to be placed on the queue ahead of the specified message.
TA_QCTL_QTIME_ABS: short
tpenqueue()'s TPQCTL control structure to request notification via the /Q subsystem with the message to be processed at the specified time.
TA_QCTL_QTIME_REL: short
tpenqueue()'s TPQCTL control structure to request notification via the /Q subsystem with the message to be processed relative to the dequeue time.
TA_QCTL_DEQ_TIME: short
TA_QCTL_PRIORITY: short
TA_QCTL_MSGID: string[1..31]
TA_QCTL_CORRID: string[1..31]
TA_QCTL_REPLYQUEUE: string[1..127]
TA_QCTL_FAILUREQUEUE: string[1..127]
TA_EVENT_PERSIST: short
TA_EVENT_TRAN: short
tppost() call is transactional, include the tpenqueue() call in the client's transaction.
The T_EVENT_SERVICE class represents a set of subscriptions registered with the EventBroker for service-based notification. When an event is detected, it is compared to each T_EVENT_SERVICE object. If the event name matches the value in TA_EVENT_EXPR and the optional filter rule is TRUE, the event buffer is sent to the specified Oracle Tuxedo service routine.
Check MIB(5) for an explanation of permissions.
TA_EVENT_EXPR: string[1..255]
TA_EVENT_FILTER: string[1..255]
TA_EVENT_FILTER_BINARY: carray[1..64000]
TA_EVENT_FILTER, but may contain arbitrary binary data. Only one of TA_EVENT_FILTER or TA_EVENT_FILTER_BINARY may be specified.
TA_STATE:
SET operation will update configuration information for the T_EVENT_SERVICE object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
TA_SERVICENAME: string[1..127]
TA_EVENT_PERSIST: short
TA_EVENT_TRAN: short
tppost() call is transactional, include the TA_SERVICENAME service call in the client's transaction.
The T_EVENT_USERLOG class represents a set of subscriptions registered with the EventBroker for writing system userlog(3c) messages. When an event is detected, it is compared to each T_EVENT_USERLOG object. If the event name matches the value in TA_EVENT_EXPR and the optional filter rule is TRUE, the event buffer is formatted and passed to the Oracle Tuxedo userlog(3c) function.
Check MIB(5) for an explanation of Permissions.
TA_EVENT_EXPR: string[1..255]
TA_EVENT_FILTER: string[1..255]
TA_EVENT_FILTER_BINARY: carray[1..64000]
TA_EVENT_FILTER, but may contain arbitrary binary data. Only one of TA_EVENT_FILTER or TA_EVENT_FILTER_BINARY may be specified.
TA_STATE:
SET operation will update configuration information for the T_EVENT_USERLOG object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
TA_USERLOG: string[1..255]
${TUXDIR}/udataobj/evt_mib ${TUXDIR}/include/evt_mib.h
factory_finder.ini—FactoryFinder Domains configuration file
factory_finder.ini is the FactoryFinder configuration file for Domains. This text (ASCII) file is parsed by the TMFFNAME service when it is started as a Master NameManager. The file contains information used by NameManagers to control the import and the export of object references for factory objects with other domains. To use the information in the factory_finder.ini file, you must specify the factory_finder.ini file in the -f option of the TMFFNAME server process.
The FactoryFinder Domains configuration file may have any name as long as the content of the file conforms to the format described on this reference page.
An Oracle Tuxedo domain is defined as the environment described in a single TUXCONFIG file. An Oracle Tuxedo domain can communicate with another Oracle Tuxedo domain or with another TP application—an application running on another TP system—via a domain gateway group. In Oracle Tuxedo terminology, a domain is the same as an application—a business application.
A Remote Factory is a factory object that exists in a remote domain that is made available to the application through an Oracle Tuxedo FactoryFinder.
A Local Factory is a factory object that exists in the local domain that is made available to remote domains through an Oracle Tuxedo FactoryFinder.
The file is made up of two specification sections. Allowable section names are: DM_REMOTE_FACTORIES and DM_LOCAL_FACTORIES.
Parameters are generally specified by: KEYWORD = value, which sets KEYWORD to value. Valid keywords are described within each section. KEYWORDs are reserved; they cannot be used as values, unless they are quoted.
If a value is an identifier, standard C rules are used. An identifier must start with an alphabetic character or underscore and must contain only alphanumeric characters or underscores. An identifier cannot be the same as any KEYWORD.
A value that is not an identifier must be enclosed in double quotes.
Input fields are separated by at least one space or tab character.
The # character introduces a comment. A newline ends a comment.
Blank lines and comments are ignored.
Lines are continued by placing at least one tab after the newline. Comments can not be continued.
DM_LOCAL_FACTORIES section
This section provides information about the factories exported by each local domain. This section is optional; if it is not specified, all local factory objects can be exported to remote domains. If this section is specified, it should be used to restrict the set of local factory objects that can be retrieved from a remote domain. The reserved factory_id.factory_kind identifier of NONE can be used to restrict any local factory from being retrieved from a remote domain.
Lines within this section have the form:
where factory_id.factory_kind is the local name (identifier) of the factory. This name must correspond to the identifier of a factory object registered by one or more Oracle Tuxedo server applications with the Oracle Tuxedo FactoryFinder.
The factory_kind must be specified for TMFFNAME to locate the appropriate factory. An entry that does not contain a factory_kind value does not default to a value of FactoryInterface.
DM_REMOTE_FACTORIES sectionThis section provides information about factory objects imported and available on remote domains. Lines within this section have the form:
factory_id.factory_kind required_parameters
where factory_id.factory_kind is the name (identifier) of the factory object used by the local Oracle Tuxedo domain for a particular remote factory object. Remote factory objects are associated with a particular remote domain.
| Note: | If you use the TobjFactoryFinder interface, the factory_kind must be FactoryInterface. |
This parameter specifies the identity of the remote domain in which the factory object is to be retrieved. The domain_id must not be greater than 32 octets in length. If the value is a string, it must be 32 characters or fewer (counting the trailing NULL). The value of domain_id can be a sequence of characters or a sequence of hexadecimal digits preceded by 0x.
This parameter specifies the name exported by remote domains. This value will be used by a remote domain to request this factory object. If this parameter is not specified, the remote factory object name is the same as the named specified in factory_id.factory_kind.
Multiple entries with the same name can be specified as long as the values associated with either the DOMAINID or RNAME parameter results in the identification of a unique factory object.
The following FactoryFinder Domains configuration file defines two entries for a factory object that will be known in the local domain by the identifier Teller.FactoryIdentity that is imported from two different remote domains:
# BEA Tuxedo FactoryFinder Domains
# Configuration File
#
*DM_REMOTE_FACTORIES
Teller.FactoryIdentity
DOMAINID=”Northwest”
RNAME=Teller.FactoryType
Teller.FactoryIdentity
DOMAINID=”Southwest”
In the first entry, a factory object is to be imported from the remote domain with an identity of Northwest that has been registered with a factory identity of Teller.FactoryType.
In the second entry, a factory object is to be imported from the remote domain with an identity of Southwest that has been registered with a factory identity of Teller.FactoryIdentity. Note that because no RNAME parameter was specified, the name of the factory object in the remote domain is assumed to be the same as the factory’s name in the local domain.
The following FactoryFinder Domains configuration file defines that only factory objects registered with the identity of Teller.FactoryInterface in the local domain are allowed to be exported to any remote domain. Requests for any other factory should be denied.
# BEA Tuxedo FactoryFinder Domains
# Configuration File
#
*DM_LOCAL_FACTORIES
Teller.FactoryInterface
The following FactoryFinder Domains configuration file defines that none of the factory objects registered with the Oracle Tuxedo FactoryFinder are to be exported to a remote domain.
# BEA Tuxedo FactoryFinder Domains
# Configuration File
#
*DM_LOCAL_FACTORIES
NONE
UBBCONFIG(5), DMCONFIG(5), TMFFNAME(5), TMIFRSVR(5)
Ferror, Ferror32—FML error codes
#include “fml.h”
#include “fml32.h”
The numerical value represented by the symbolic name of an error condition is assigned to Ferror for errors that occur when executing many FML library routines.
The name Ferror expands to a modifiable lvalue that has type int, the value of which is set to a positive error number by several FML library routines. Ferror need not be the identifier of an object; it might expand to a modifiable lvalue resulting from a function call. It is unspecified whether Ferror is a macro or an identifier declared with external linkage. If a tperrno() macro definition is suppressed to access an actual object, or if a program defines an identifier with the name Ferror, the behavior is undefined.
The reference pages for FML routines list possible error conditions for each routine and the meaning of the error in that context. The order in which possible errors are listed is not significant and does not imply precedence. The value of Ferror should be checked only after an error has been indicated; that is, when the return value of the component indicates an error and the component definition specifies that tperrno() be set. An application that checks the value of Ferror must include the fml.h header file.
Ferror32 provides a similar capability for users of FML32 routines. An application that checks the value of Ferror32 must include the fml32.h header file.
The following list shows error codes that may be returned by FML and FML32 routines.
#define FMINVAL 0 /* bottom of error message codes */
#define FALIGNERR 1 /* fielded buffer not aligned */
#define FNOTFLD 2 /* buffer not fielded */
#define FNOSPACE 3 /* no space in fielded buffer */
#define FNOTPRES 4 /* field not present */
#define FBADFLD 5 /* unknown field number or type */
#define FTYPERR 6 /* illegal field type */
#define FEUNIX 7 /* unix system call error */
#define FBADNAME 8 /* unknown field name */
#define FMALLOC 9 /* malloc failed */
#define FSYNTAX 10 /* bad syntax in boolean expression */
#define FFTOPEN 11 /* cannot find or open field table */
#define FFTSYNTAX 12 /* syntax error in field table */
#define FEINVAL 13 /* invalid argument to function */
#define FBADTBL 14 /* destructive concurrent access to field table */
#define FBADVIEW 15 /* cannot find or get view */
#define FVFSYNTAX 16 /* bad viewfile */
#define FVFOPEN 17 /* cannot find or open viewfile */
#define FBADACM 18 /* ACM contains negative value */
#define FNOCNAME 19 /* cname not found */
Some routines do not have an error return value. Because no routine sets Ferror to zero, an application can set Ferror to zero, call a routine and then check Ferror again to see if an error has occurred.
In DOS and OS/2 environments, this variable is known as FMLerror.
See the ERRORS section of the individual FML library routines for a more detailed description of the meaning of the error codes returned by each routine.
Introduction to the C Language Application-to-Transaction Monitor Interface, tperrordetail(3c), tpstrerror(3c), tpstrerrordetail(3c), Introduction to FML Functions, F_error, F_error32(3fml)
field_tables—FML mapping files for field names
The Field Manipulation Language functions implement and manage fielded buffers. Each field in a fielded buffer is tagged with an identifying integer. Fields that can variable in length (for example, a string) have an additional length modifier. The buffer then consists of a series of numeric-identifier/data pairs and numeric-identifier/length/data triples.
The numeric-identifier of a field is called its field identifier and is typedef'd by FLDID. A field is named by relating an alphanumeric string (the name) to a FLDID in a field table.
The original FML interface supports 16-bit field identifiers, field lengths, and buffer sizes. A newer 32-bit interface, FML32, supports larger identifiers, field lengths, and buffer sizes. All types, function names, etc. are suffixed with “32” (for example, the field identifier type definition is FLDID32).
FML functions allow field values to be typed. Currently the following types are supported: char, string, short, long, float, double, carray (character array), ptr (pointer to a buffer), FML32 (embedded FML32 buffer), and VIEW32 (embedded VIEW32 buffer). The ptr, FML32, and VIEW32 types are supported only for the FML32 interface. Constants for field types are defined in fml.h (fml32.h for FML32). So that fielded buffers can be truly self-describing, the type of a field is carried along with the field by encoding the field type in the FLDID. Thus, a FLDID is composed of two elements: a field type, and a field number. In 32-bit FML, field numbers must be between 10,001 and 30,000,000. The numbers 1-10,000 and 30,000,001-33,554,431 are reserved for system use. In 16-bit FML, field numbers must be between 101 and 8,191. The numbers 1-100 are reserved for system use.
For efficiency, it is desirable that the field name to field identifier mapping be available at compile time. For utility, it is also desirable that these mappings be available at run time. To accommodate both these goals, FML represents field tables in text files, and provides commands to generate corresponding C header files. Thus, compile time mapping is done by the C preprocessor, cpp, by the usual #define macro. Run-time mapping is done by the function Fldid() (or Fldid32() for FML32), which maps its argument, a field name, to a field identifier by consulting the source field table files.
Files containing field tables have the following format:
mkfldhdr() (the command name is mkfldhdr32() for FML32; see mkfldhdr, mkfldhdr32(1)). For example, this would allow the application to pass C comments, what strings, etc. to the generated header file.*base contain a base for offsetting subsequent field numbers. This optional feature provides an easy way to group and renumber sets of related fields.name rel-numb type
rel-numb is the relative numeric value of the field. It is added to the current base to obtain the field number of the field.type is the type of the field, and is specified as one of the following: char, string, short, long, float, double, carray, ptr, FML32, or VIEW32.Entries are white-space separated (any combination of tabs and spaces).
The command mkfldhdr (or mkfldhdr32) converts a field table, as described above, into a file suitable for processing by the C compiler. Each line of the generated header file is of the form:
#define name fldid
where name is the name of the field, and fldid is its field identifier. The field identifier includes the field type and field number, as previously discussed. The field number is an absolute number, that is, base + rel-number. The resulting file is suitable for inclusion in a C program.
Functions such as Fldid(), which access field tables, and commands such as mkfldhdr() and vuform(), which use them, both need the shell variables FLDTBLDIR and FIELDTBLS (FLDTBLDIR32 and FIELDTBLS32 for FML32) to specify the source directories and files, respectively, from which the in-memory version of field tables should be created. FIELDTBLS specifies a comma-separated list of field table filenames. If FIELDTBLS has no value, fld.tbl is used as the name of the field table file. The FLDTBLDIR environment variable is a colon-separated list of directories in which to look for each field table whose name is not an absolute pathname. (The search for field tables is very similar to the search for executable commands using the PATH variable.) If FLDTBLDIR is not defined, it is taken to be the current directory. Thus, if FIELDTBLS and FLDTBLDIR are not set, the default is to take fld.tbl from the current directory.
The use of multiple field tables is a convenient way to separate groups of fields, such as groups of fields that exist in a database from those which are used only by the application. However, in general field names should be unique across all field tables, since such tables are capable of being converted to C header files (by the mkfldhdr command), and identical field names would produce a compiler name conflict warning. In addition, the function Fldid, which maps a name to a FLDID, does so by searching the multiple tables, and stops upon finding the first successful match.
The following is a sample field table in which the base shifts from 500 to 700:
# employee ID fields are based at 500
*base 500
#name rel-numb type comment
#---- -------- ---- -------
EMPNAM 1 string emp's name
EMPID 2 long emp's id
EMPJOB 3 char job type: D,M,F or T
SRVCDAY 4 carray service date
# address fields are based at 700
*base 700
EMPADDR 1 string street address
EMPCITY 2 string city
EMPSTATE 3 string state
EMPZIP 4 long zip code
The associated header file would be:
#define EMPADDR ((FLDID)41661) /* number: 701 type: string */
#define EMPCITY ((FLDID)41662) /* number: 702 type: string */
#define EMPID ((FLDID)8694) /* number: 502 type: long */
#define EMPJOB ((FLDID)16887) /* number: 503 type: char */
#define EMPNAM ((FLDID)41461) /* number: 501 type: string */
#define EMPSTATE ((FLDID)41663) /* number: 703 type: string */
#define EMPZIP ((FLDID)8896) /* number: 704 type: long */
#define SRVCDAY ((FLDID)49656) /* number: 504 type: carray */
Programming an Oracle Tuxedo ATMI Application Using FML
GAUTHSVR—General LDAP-based authentication server
GAUTHSVR SRVGRP="identifier" SRVID=number other_parms CLOPT="-A -- -f filename"
GAUTHSVR is a System/T provided server that offers the authentication service . This server may be used in a secure application to provide per-user authentication when clients join the application. This server accepts service requests containing TPINIT typed buffer as a user password and validates it against the configured password that is stored in LDAP Server. If the request passes validation, then an application key is returned with a successful return as the ticket for the client to use.
By default, the file $TUXDIR/udataobj/tpgauth is used for obtaining LDAP configuration information. The file can be overridden by specifying the file name, using a ”-f filename” option in the server command line option. For example, CLOPT=”-A -- -f/usr/tuxedo/myapp/myldap”.
There is no automatic propagation of this configuration file from the master machine to other machines in the Tuxedo UBBCONFIG file. To use multiple GAUTHSVRs, you must provide separate configurations on the various machines.
For additional information pertaining to GAUTHSVR, see GAUTHSVR Additional Information.
If SECURITY is set to USER_AUTH or higher, per-user authentication is enforced. The name of the authentication service can be configured for the application. If not specified, it defaults to AUTHSVC which is the default service advertised for GAUTHSVR.
An authentication request is authenticated against only the first matching user name in the LDAP database. It does not support authentication against multiple entries.
If SECURITY is set to ACL or MANDATORY_ACL, per-user authentication is enforced and access control lists are supported for access to services, application queues, and events. The name of the authentication service must be AUTHSVC which is the default service advertised by GAUTHSVR for these security levels.
The application key that is returned by the GAUTHSVR is the user identifier in the low-order 17 bits. The group identifier is the next 14 bits (the high-order bit is reserved for the administrative keys).
GAUTHSVR is supported as a Tuxedo System/T-supplied server on non-Workstation platforms.
# Using GAUTHSVR
*RESOURCES
AUTHSVC "..AUTHSVC"
SECURITY ACL
*SERVERS
GAUTHSVR SRVGRP="AUTH" SRVID=100
CLOPT="-A -- -f /usr/tuxedo/udataobj/tpgauth"
GWADM—Domains gateway administrative server
GWADMSRVGRP= "identifier"SRVID= "number"REPLYQ= "N"
CLOPT= "-A -- [-a{on|off}] [-t{on|off}]"
The gateway administrative server (GWADM) is an Oracle Tuxedo system-supplied server that provides administrative functions for a Domains gateway group.
GWADM should be defined in the SERVERS section of the UBBCONFIG file as a server running within a particular gateway group, that is, SRVGRP must be set to the corresponding GRPNAME tag specified in the GROUPS section. The SVRID parameter is also required and its value must consider the maximum number of gateways allowed within the gateway group.
There should be only one instance of a GWADM per Domains gateway group, and it should not be part of the MSSQ defined for the gateways associated with the group. Also, GWADM should have the REPLYQ attribute set to N.
The CLOPT option is a string of command-line options that is passed to the GWADM when it is booted. This string has the following format:
CLOPT="-A -- gateway group runtime_parameters"The following run-time parameters are recognized for a gateway group:
-a {on | off}
off or on the audit log feature for this local domain access point. The default is off. The dmadmin program can be used to change this setting while the gateway group is running (see dmadmin(1)).
-t {on | off}
off or on the statistics gathering feature for the local domain access point. The default is off. The dmadmin program can be used to change this setting while the gateway group is running (see dmadmin(1)).
The GWADM server must be booted before the corresponding gateways.
GWADM is supported as an Oracle Tuxedo system-supplied server on all supported server platforms.
GWADM must be installed on Oracle Tuxedo release 4.2.1 or later; other machines in the same domain with a release 4.2.2 gateway can be release 4.1 or later.
The following example illustrates the definition of the administrative server in the UBBCONFIG file. This example uses the GWTDOMAIN gateway process to provide connectivity with another Oracle Tuxedo domain.
#
*GROUPS
DMADMGRP GRPNO=1
gwgrp GRPNO=2
#
*SERVERS
DMADM SRVGRP="DMADMGRP" SRVID=1001 REPLYQ=N RESTART=Y GRACE=0
GWADM SRVGRP="gwgrp" SRVID=1002 REPLYQ=N RESTART=Y GRACE=0
CLOPT="-A -- -a on -t on"
GWTDOMAIN SRVGRP="gwgrp" SRVID=1003 RQADDR="gwgrp" REPLYQ=N RESTART=Y MIN=1 MAX=1
dmadmin(1), tmboot(1), DMADM(5), DMCONFIG(5), servopts(5), UBBCONFIG(5)
Administering an Oracle Tuxedo Application at Run Time
Setting Up an Oracle Tuxedo Application
Using the Oracle Tuxedo Domains Component
GWTDOMAIN—TDomain gateway process
GWTDOMAIN SRVGRP = "identifier" SRVID = "number" RQADDR = "queue_name"REPLYQ = value RESTART = Y [MAXGEN = value] [GRACE = value]CLOPT = "-A -- [-s][-U inbound-message-size-limit-in-bytes ]-x limit[:{[duration]:[period]}]”
GWTDOMAIN is the domain gateway process that provides interdomain communication. GWTDOMAIN processes communicate with other GWTDOMAIN processes in remote domains.
| Note: | From Tuxedo release 9.0 and later, the GWTDOMAIN default is multithread mode. This default mode is only useful for machines with multiple CPUs. |
Domain gateways are described in the SERVERS section of the UBBCONFIG file and the BDMCONFIG file. Domain gateways must be always associated with a particular gateway group, that is, SRVGRP must be set to the corresponding GRPNAME tag specified in the GROUPS section.
The SVRID parameter is also required and its value must consider the maximum number of gateways allowed within the domain group. The RESTART parameter should be set to Y. The REPLYQ parameter may be set to Y or N.
The CLOPT option is a string of command-line options that is passed to GWTDOMAIN when it is booted. The following run-time parameters are recognized for a gateway process:
s
U inbound-message-size-limit-in-bytes
-x
The GWTDOMAIN process must be in the same group as the GWADM(5) process, with the GWADM listed first. Multiple GWTDOMAIN processes can be configured for a domain; each must be configured in a different Oracle Tuxedo group.
The following example shows the definition of a Domains gateway group in the UBBCONFIG file.
*GROUPS
DMADMGRP LMID=mach1 GRPNO=1
gwgrp LMID=mach1 GRPNO=2
*SERVERS
DMADM SRVGRP="DMADMGRP" SRVID=1001 REPLYQ=N RESTART=Y MAXGEN=5 GRACE=3600
GWADM SRVGRP="gwgrp" SRVID=1002 REPLYQ=N RESTART=Y MAXGEN=5 GRACE=3600
GWTDOMAIN SRVGRP="gwgrp" SRVID=1003 RQADDR="gwgrp" REPLYQ=N RESTART=Y MAXGEN=5 GRACE=3600 CLOPT="-A -r -- -U 65536"
Additional examples are available in the “EXAMPLES” sections of UBBCONFIG(5) and DMCONFIG(5).
tmadmin(1), tmboot(1), DMADM(5), DMCONFIG(5), GWADM(5), servopts(5), UBBCONFIG(5)
Using the Oracle Tuxedo Domains Component
Setting Up an Oracle Tuxedo Application
Administering an Oracle Tuxedo Application at Run Time
Denial-of-Service (DoS) Defense
Enables access to Oracle Tuxedo objects by remote Oracle Tuxedo clients using IIOP.
ISL SRVGRP="identifier" SRVID="number" CLOPT="[-A ] [ servopts options ] -- -n netaddr
[-C {detect|warn|none} ]
[-d device ]
[-E principal_name]
[-K {client|handler|both|none} ]
[-m minh ]
[-M maxh ]
[-T Client-timeout]
[-x mpx-factor ]
[-H external-netaddr]
#options for Outbound IIOP
[-O]
[-o outbound-max-connections]
[-s Server-timeout]
[-u out-mpx-users]
#options for SSL
[-a]
[-R renegotiation-interval]
[-S secure port]
[-v {detect|warn|none} ]
[-z [0|40|56|128|256]]
[-Z [0|40|56|128|256]]"
The IIOP Server Listener (ISL) is an Oracle Tuxedo-supplied server command that enables access to Oracle Tuxedo objects by remote Oracle Tuxedo clients using IIOP. The application administrator enables access to the application objects by specifying the IIOP Server Listener as an application server in the SERVERS section. The associated command-line options are used to specify the parameters of the IIOP Server Listener and IIOP Server Handlers.
The location, server group, server ID, and other generic server-related parameters are associated with the ISL using the standard configuration file mechanisms for servers. ISL command-line options allow for customization.
Each ISL booted as part of an application facilitates application access for a large number of remote Oracle Tuxedo clients by providing access via a single, well-known network address. The IIOP Server Handlers are started and stopped dynamically by the ISL, as necessary, to meet the incoming load.
For joint client/servers, if the remote joint client/server ORB supports bidirectional IIOP connections, the ISL can use the same inbound connection for outbound invokes to the remote joint client/server. The ISL also allows outbound invokes (outbound IIOP) to objects located in a joint client/server that is not connected to an ISH. This capability is enabled when the – O option is specified. The associated command-line options allow configuration of outbound IIOP support:
-A
double-dash (--) marks the beginning of parameters that are passed to the ISL after it has been booted.
You specify the following options in the CLOPT string after the double-dash (--) in the CLOPT parameters:
-n netaddr
TOBJADDR) to this value, or specify the value in the Bootstrap object constructor. See the C++ Programming Reference for details. This is the only required parameter.
| Note: | The hostname must begin with a letter character. |
"#.#.#.#" is the dotted decimal format. In dotted decimal format, each # must be a number from 0 to 255. This dotted decimal number represents the IP address of the local machine.
port_number is the TCP port number at which the domain process listens for incoming requests. port_number can be a number between 0 and 65535 or a name. If port_number is a name, it must be found in the network services database on your local machine.
| Note: | The Java Tobj_Bootstrap object uses a short type to store the port_number. Therefore, you must use a port_number in the range of 0 to 32767 if you plan to support connections from Java clients. |
| Note: | The network address that is specified by programmers in the Bootstrap constructor or in TOBJADDR must exactly match the network address in the application’s UBBCONFIG file. The format of the address as well as the capitalization must match. If the addresses do not match, the call to the Bootstrap constructor will fail with a seemingly unrelated error message:ERROR: Unofficial connection from client at For example, if the network address is specified as //TRIXIE:3500 in the ISL command line option string, specifying either //192.12.4.6:3500 or //trixie:3500 in the Bootstrap constructor or in TOBJADDR will cause the connection attempt to fail.On UNIX systems, use the uname -n command on the host system to determine the capitalization used. On Windows NT systems, see the host system's Network control panel to determine the capitalization used. |
| Note: | Unlike the Oracle Tuxedo system Workstation Listener (WSL), the format of the network addresses is limited to //host:port. The reason for this limitation is that the host name and port number are used by Oracle Tuxedo servers; the host name does not appear as such in the hexadecimal format, and it could only be passed to the servers using the dotted IP address format. |
[-a]
[-C detect|warn|none]
| Caution: | The use of unofficial connections can cause problems for remote client applications that use transactions. The application may have the notion that invocations on both the official and unofficial connections within the same transaction have succeeded; however, in reality, only invocations on the official connection are ACID (Atomicity, Consistency, Isolation, and Durability). |
NO_PERMISSION exception when an unofficial connection is detected. A value of warn causes the ISL/ISH to log a message to the user log exception when an unofficial connection is detected; no exception will be raised. A value of none causes the ISL/ISH to ignore unofficial connections.
[-d device]
[-E principal_ name]
[-K {client|handler|both|none}]
KEEPALIVE option. This option improves the speed and reliability of network failure detection by actively testing an idle connection’s state at the protocol stack level. The availability and timeout thresholds for this feature are determined by operating system tunable parameters.
KEEPALIVE option configured.
| Note: | The KEEPALIVE interval is an operating system parameter, so changing the value affects any other applications that enable KEEPALIVE. Many platforms have a two-hour default value that may be longer than desired. |
KEEPALIVE option is specified but is not available on the ISH's machine. If KEEPALIVE is requested but is not available on the client’s machine, the setting is ignored.
[-m minh]
[-M maxh]
MAXWSCLIENTS on the logical machine, divided by the multiplexing factor for this ISL (see -x option below), rounded up by one. The legal range for this parameter is between 1 and 4096. The value must be equal to or greater than minh.
[-T Client-timeout]
[-x mpx-factor]
[-H external netadder]
CLOPT -n netaddr option. This feature is useful when an IIOP, or remote, client needs to connect to an ISL through a firewall.
| Note: | Tuxedo IPv6 addressing does not support hexidicmal addresses. |
[-O]
– O option requires a small amount of extra resources, the default is to not allow outbound IIOP.
[-o outbound-max-connections]
– O (uppercase letter O) option is also specified. The value of this option must be greater than 0, but not more than 4096. An additional requirement is that the value of this option, (outbound-max-connections) times the maximum number of handlers, must be less than 32767. The default for this option is 20.
[-R renegotiation-interval]
[-S secure-port]
-S and -n options to the same value.
[-s Server-timeout]
– O (uppercase letter O) option is also specified. The value must be greater than or equal to 1. If this option is not specified, the default is 60 (one hour).
[-u out-mpx-users]
out-mpx-users). This option requires that the – O (uppercase letter O) option is also specified. This option must be greater than 0 (zero), but not more than 1024; the default value is 10.
[-v {detect|warn|none}]
detect causes the Oracle ORB 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 ORB refuses the authenticate the peer and drops the connection. The detect value is the default value.
A value of warn causes the Oracle ORB 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 ORB logs a message to the user log but continues to process the connection.
A value of none causes the Oracle ORB to not perform the peer validation and to continue to process the connection.
The -v parameter is only available if licenses for SSL and LLE (link level encryption) are installed.
[-z [|0|40|56|128|256]]
[-Z [|0|40|56|128|256]]
The IIOP Server Listener is supported as an Oracle Tuxedo-supplied server on UNIX and Microsoft Windows NT operating systems.
The ISL works with any IIOP compliant ORB.
Depending on the type of remote object and the desired outbound IIOP configuration, you may have to perform additional programming tasks. Table 39 lists the requirements for each type of object and outbound IIOP configuration.
Suppose the local machine on which the ISL 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 ISL should accept requests is 2334. The address specified by the -l option could be:
//155.2.193.18:2334 //backus.company.com:2334*SERVERSISL SRVGRP="ISLGRP" SRVID=1002 RESTART=Y GRACE=0
CLOPT="-A -- -n //piglet:1900 -d /dev/tcp"
KAUTHSVR—Tuxedo Kerberos-based network authentication server
KAUTHSVR SRVGRP=SECGRP SRVID=100 GRACE=0 MAXGEN=2 CLOPT="-A -- -k /etc/krbauth.kt -p krbauth@host.yourcomany.com"
KAUTHSVR is a Kerberos-based Tuxedo authentication server. Its purpose is two fold:
KAUTHSVR must be manually configured in the UBBCONFIG file in order to complete Tuxedo user authentication if you want to use Kerberos the default authentication mechanism. There is a slight difference in how KAUTHSVR is configured for UNIX and Windows platforms. For more information, see
“Using the Kerberos Authentication Plug-in.”
Kerberos allows you to store principal names and service keys in a local file based database called a Key Table. This key table allows services running on a host to authenticate themselves to the Key Distribution Center. KAUTHSVR does not replace Kerberos Key Distribution Center authentication; however, it does replace AUTHSVR(5) and LAUTHSVR(5) when you want to use Kerberos-based authentication.
KAUTHSVR must have its own principal name associated with it. To specify which principal name KAUTHSVR uses, you must configure it in the UBBCONFIG file. The CLOPT option uses the -p parameter to establish its principal name. For example, -p <principal name>. The principal name and its password must be configured in the Kerberos database and the local key table.
| Note: | The principal name can also be configured by using the KAUTHSVRPRINC parameter or the same name environment variable. For more information, see
“Using the Kerberos Authentication Plug-in.” |
Before a server can be setup to use Kerberos, you must setup a key table on a host running the server. KAUTHSVR must access the server Key Table (KTAB) when it is booted. There are two ways to specify the server key table:
CLOPT option to tell KAUTHSVR where its KTAB is. The KAUTHSVR CLOPT option uses the -k parameter to specify where KTAB is located. For example,"-k <key table full path name>". KTAB location as an environmental variable. For example, "KRB5_KTNAME=<key table full path name>".| Note: | Any updates made to the key table do not affect the Kerberos database. If you change the keys in the key table, you must also make the corresponding changes to the Kerberos database. |
When KAUTHSVR is configured on a Windows platform a key table is not needed. However, it must have an account password. There are two ways to setup a KAUTHSVR password:
When TUXCONFIG is created, you must input the password at the command prompt.
| Note: | The name kauthsvc in SEC_PRINCIPAL_NAME is used as an example only. |
“Using the Kerberos Authentication Plug-in,” in the Using Security in ATMI Applications
Kerberos Introduction from MIT (http://web.mit.edu/kerberos/www/)
langinfo—Language information constants
#include <langinfo.h>
This header file contains the constants used to identify items of langinfo data. The mode of items is given in nl_types(5).
DAY_1
DAY_2
DAY_3
DAY_4
DAY_5
DAY_6
DAY_7
ABDAY_1
ABDAY_2
ABDAY_3
ABDAY_4
ABDAY_5
ABDAY_6
ABDAY_7
MON_1
MON_2
MON_3
MON_4
MON_5
MON_6
MON_7
MON_8
MON_9
MON_10
MON_11
MON_12
ABMON_1
ABMON_2
ABMON_3
ABMON_4
ABMON_5
ABMON_6
ABMON_7
ABMON_8
ABMON_9
ABMON_10
ABMON_11
ABMON_12
RADIXCHAR
THOUSEP
YESSTR
NOSTR
CRNCYSTR
D_T_FMT
D_FMT
T_FMT
AM_STR
PM_STR
This information is retrieved by nl_langinfo(3c).
The items are retrieved from a special message catalog named LANGINFO, which should be generated for each locale supported and installed in the appropriate directory (see mklanginfo(1)).
mklanginfo(1), nl_langinfo(3c), strftime(3c), nl_types(5)
LAUTHSVR—WebLogic Server embedded LDAP-based authentication server
LAUTHSVR SRVGRP="identifier" SRVID=number other_parms CLOPT="-A -- -f filename"
LAUTHSVR is a System/T provided server that offers the authentication service while the user security information is located in WebLogic Server. This server may be used in a secure application to provide per-user authentication when clients join the application. This server accepts service requests containing TPINIT typed buffer as a user password and validates it against the configured password that is stored in WebLogic Server. If the request passes validation, then an application key is returned with a successful return as the ticket for the client to use.
| Note: | The application keys that correspond to tpsysadm and tpsysop must be 0x80000000 and 0xC0000000, respectively. |
By default, the file $TUXDIR/udataobj/tpldap is used for obtaining LDAP configuration information. The file can be overridden by specifying the file name, using a ”-f filename” option in the server command line option. For example, CLOPT=”-A -- -f/usr/tuxedo/myapp/myldap”. There is no automatic propagation of this configuration file from the master machine to other machines in the Tuxedo UBBCONFIG file. To use multiple LAUTHSVRs, you must provide separate configurations on the various machines.
| Note: | LAUTHSVR supports IPv6. |
For additional information pertaining to LAUTHSVR, see LAUTHSVR Additional Information.
If SECURITY is set to USER_AUTH or higher, per-user authentication is enforced. The name of the authentication service can be configured for the application. If not specified, it defaults to AUTHSVC which is the default service advertised for LAUTHSVR.
An authentication request is authenticated against only the first matching user name in the LDAP database. It does not support authentication against multiple entries.
If SECURITY is set to ACL or MANDATORY_ACL, per-user authentication is enforced and access control lists are supported for access to services, application queues, and events. The name of the authentication service must be AUTHSVC which is the default service advertised by LAUTHSVR for these security levels.
The application key that is returned by the LAUTHSVR is the user identifier in the low-order 17 bits. The group identifier is the next 14 bits (the high-order bit is reserved for the administrative keys).
LAUTHSVR is supported as a Tuxedo System/T-supplied server on non-Workstation platforms.
# Using LAUTHSVR
*RESOURCES
AUTHSVC "..AUTHSVC"
SECURITY ACL
*SERVERS
LAUTHSVR SRVGRP="AUTH" SRVID=100
CLOPT="-A -- -f /usr/tuxedo/udataobj/tpldap"
METAREPOS - Tuxedo service metadata repository buffer format
#include <fml32.h>
#include <fml1632.h> /* optional */
#inlcude <tpadm.h>
This reference page describes the interfaces through which an administrator, operator or user interacts with the defined components of the Tuxedo metadata repository. The service metadata repository can be programmatically accessed and updated through the .TMMETAREPOS service offered by TMMETADATA(5) server or can be accessed and updated directly using tpgetrepos(3c) and tpsetrepos(3c).
Programmatic access to the Tuxedo service metadata repository is accomplished through the use of FML32 buffers very similar in format to those used by the Tuxedo MIB. In fact, the Tuxedo service metadata repository uses and supports the same kind of generic MIB(5)FML32 input and output buffer fields:
Input buffer fields
Output buffer fields
| Note: | The METAREPOS has the following generic MIB(5)field limitations: |
MIB_PREIMAGE (a TA_FLAGS field flag) is used in metadata repository operation. The other two flags, MIB_LOCAL and MIB_SELF, are omitted.TA_MIBTIMEOUT is ignored by .TMMETAREPOS service, tpsetrepos(3c) and tpgetrepos(3c).TA_CURSORHOLD does not work with tpgetrepos().TA_ERROR applies specific definitions to generic return codes when initiated with a metadata repository setting operation. The generic codes are defined as follows:| Note: | TAOK - No service updates were made to the metadata repository |
| Note: | TAUPDATED - All service updates were made to the metadata repository |
| Note: | TAPARTIAL - Partial service updates were made to the metadata repository |
FML32 fields related to specific metadata repository attributes use the prefix TA_REPOS followed by the name of the repository keyword in upper case. For more information on Metadata Repository service and parameter key words, see tmloadrepos(1).
METAREPOS service-level attribute fields are used to describe services. The TA_REPOSSERVICE attribute is a key field that is used to name services and uniquely identify them for retrieval or get operations. TA_REPOSSERVICE can accept regular expressions as defined in rex(1). For example, using the regular expression value "*" with TA_REPOSSERVICE retrieves all service information in a metadata repository.
For set operations, TA_REPOSSERVICE must include a Tuxedo service name and cannot be interpreted as a regular expression.
For more information on service-level keywords, see Managing The Tuxedo Service Metadata Repository, Creating The Tuxedo Service Metadata Repository.
METAREPOS parameter-level attribute fields are used to describe service parameters. Common occurrence numbers are used to associate different attribute fields as part of a common parameter.The nth service parameter is described by the occurrence number n-1 of all parameter-level attribute fields.
For example, the first service parameter is described by the first occurrence of the attribute field as “0”; the second service parameter is described by the second occurrence of the attribute field as “1”, and so on.
If a specific attribute field occurrence is required by a later numbered parameter, but not by one or more earlier numbered parameters, you must specify a value for the earlier attribute field occurrences so that the later occurrences are properly numbered.
TA_REPOSEMBED is used to provide information about service parameters that have sub-parameter values, or in other words, embedded data.
TA_REPOSEMBED is specified with sub-parameter values (other than the default empty record), it must contain an FML32 record. This FML32 record consists of parameter-level fields corresponding to each sub-parameter (FML field or VIEW element) in the record described by the associated TA_REPOSPARAM field.
TA_REPOSEMBED parameter value corresponds to the information contained between matching parentheses “(” and “)”in the repository_input file or the unloaded -t repository_file. For more information on the repository_input file and repository_file, see tmloadrepos(1) and tmunloadrepos(1).
TA_REPOSSERVICE: string[1...255]
| Note: | This field string length was [1...127] in Tuxedo 9.1 release. |
TA_STATE:
GET operation retrieves information for the selected service object(s). The following state(s) define TA_STATE returned in response to a GET request.
SET operation updates information for the selected service object(s). The following state(s) define TA_STATE set in a set request. States not listed cannot be set
TA_REPOSTUXSERVICE: string[1...127]
TA_REPOSSERVICETYPE: "{service|oneway|queue}"
Service invocation type. This term comes from the Tuxedo Control.
· "service" supports synchronous request/response.
· "oneway" supports request without response.
· "queue" supports tpenqueue and tpdequeue.
TA_REPOSSERVICEMODE: "{tuxedo|webservice}"
Type of Service origination. This term comes from BEA SALT.
"tuxedo" stands for a Tuxedo originated service definition.
"webservice" stands for a SALT proxy service definition generated by BEA SALT wsdlcvt utility.
TA_REPOSEXPORT: "{ Y | N }"
TA_REPOSINBUF: string[1...8]
FML, FML32, VIEW, VIEW32, STRING, CARRAY, XML, X_OCTET, X_COMMON, X_C_TYPE, MBSTRING or a custom-defined type. Only one type is allowed.
| Note: | Limitation: A string of custom type may contains up to 8 characters. See "Managing Typed Buffers" in Programming an Oracle Tuxedo ATMI Application Using C |
TA_REPOSOUTBUF: string[0...8]
TA_REPOSINBUF. Note that this attribute can be null.
TA_REPOSERRBUF: string[0...8]
TA_REPOSINBUF. Note that this attribute can be null.
TA_REPOSINVIEW: string[0...32]
VIEW, VIEW32, X_COMMON, X_C_TYPE.
TA_REPOSOUTV