Skip Headers
Oracle® Application Server Adapter for Tuxedo User's Guide
10g Release 2 (10.1.2)
B15802-01
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
 
Next
Next
 

6 Advanced Features of OracleAS Adapter for Tuxedo

Oracle Connect includes a number of tuning parameters that can improve performance. Specifically, the daemon can be configured to optimize communication between the OracleAS Adapter for Tuxedo and a client. In addition, the binding environment can be tuned to optimize the request handling.

This section contains the following topics:

Configuring the Daemon for High Availability

The daemon workspace is responsible for allocating server processes to clients. You can configure a workspace to use a pool of server processes so that a server process is always available for a client request. Use Oracle Studio to maintain daemon and daemon workspace parameters to control the allocation of server processes and their management in a pool.

The daemon manages a pool of server processes on the legacy platform. Oracle Application Server manages connection pooling of the J2CA 1.0 Tuxedo adapter.

You can also have a number of daemon workspace configurations. Thus, you can create individual workspaces for use with different adapters.

Adding a New Daemon Workspace Configuration

Use Oracle Studio to add a new daemon configuration. You can set up different daemon configurations for different situations. On the computer where Oracle Connect is installed, perform the following steps:

  1. From the Start menu, select Programs, Oracle, and then select Studio.

  2. In the Configuration Explorer, click the node of the computer defined in "Configuring OracleAS Adapter for Tuxedo in Oracle Studio".

  3. Expand the Daemons node. The available daemon configurations are listed.

  4. Right-click IRPCD and select New Workspace.

  5. In the New daemon workspace screen, specify a name for the new workspace and optionally, provide a description.

  6. Specify whether you want default settings or copy the properties of an existing workspace.

    To copy the properties of an existing workspace, click Ellipsis and select the workspace from which you want to copy the properties.

  7. Click Next. The Select Scenario screen is displayed.

  8. Select Application Server using connection pooling and click Next.

  9. Continue through the wizard, specifying the required values for the workspace.

  10. To complete the workspace definition, click Finish.

The new workspace is now displayed under the IRPCD daemon node.

Editing the Workspace

You edit a workspace by using the tabs described in the following table:

Table 6-1 Workspace Definition tabs

Tab Description

WS Info

Specifies general information including the server type, the command procedure used to start the workspace, the binding configuration associated with this workspace and the timeout parameters.

WS Server Mode

Specifies workspace server information including features that control the operation of the servers started up by the workspace and allocated to clients.

WS Logging

Specifies parameters for logging and the format to use for a log file.

WS Security

Specifies administration privileges, user access, ports available to access the workspace and workspace account specifications.

WS Governing

This tab is not applicable for use with OracleAS Adapter for Tuxedo.


To access these tabs, perform the following steps using Oracle Studio:

  1. From the Start menu, select Programs, Oracle, and then select Studio.

  2. In the Configuration Explorer, click the node next to the computer defined in "Configuring OracleAS Adapter for Tuxedo in Oracle Studio".

  3. Expand the Daemons node. The daemon configurations available on this computer are listed.

  4. Expand the IRPCD node. The daemon workspaces are listed.

  5. Right-click IRPCD and select Edit Workspace.

  6. Click the required tab, which contains the information you want to edit.


    Note:

    For full details of the tabs and the fields in these tabs, refer to "Workspaces".

  7. After editing the workspace, click Save.

Configuring the Server Mode

The server mode determines how the daemon starts up new processes. The daemon supports the following server modes:

  • singleClient: Each client receives a dedicated server process. The account in which a server process runs is determined either by the client login information or by the specific server workspace.

  • This mode enables servers to run under a particular user account and isolates clients from each other (because each receives its own process). However, this server mode incurs a high overhead due to process startup times and may use a lot of server resources (because it requires as many server processes as concurrent clients).

  • multiClient: Clients share a server process and are processed serially.

  • This mode has low overhead because the server processes are already initialized. However, because clients share the same process, they may impact one another, especially if they issue lengthy queries.

  • The number of clients that share a process is determined by the Clients per server limit (the maximum number of concurrent clients a server process for the current workspace accepts).

  • multiThreaded: When Tuxedo runs on a Windows platform, the server process can be multi-threaded.

  • reusable: This is an extension of the single client mode. Once the client processing finishes, the server process does not die and can be used by another client, reducing startup times and application startup overhead.

  • This mode does not have the high overhead of single client mode because the servers are already initialized. However, this server mode may use a lot of server resources (because it requires as many server processes as concurrent clients).

  • The other modes can be set so that the server processes are reusable by setting the number of times a process can be reused with the Reuse limit value (the maximum number of times a particular server process can be reused or how many clients it can serve before it is retired). Reuse of servers enhances performance because it eliminates the need to repeat initializations. However, reuse runs a risk of higher memory leakage over time. The default for the Reuse limit field value is None, indicating that no reuse limit is enforced.

Set the server mode in the WS Server tab of the daemon workspace editor, as shown in the following figure:

Figure 6-1 The WS Server tab

The daemon WS Server tab.
Description of "Figure 6-1 The WS Server tab"

When using any of the server modes you can specify a pool of server processes. These server processes are started when the daemon starts and are maintained in a pool. The server processes are available for use by new client requests from the pool, saving initialization time. Instead of starting a new server process each time one is requested by a client, the client receives a process immediately from the pool of available processes. When the client finishes processing, this server process either dies, or if reusable servers have been specified, it is returned to the pool.

You set up a pool of server processes by specifying the following parameters in the WS Server tab.

  • Initial number of servers: The number of server processes that are prestarted for this workspace when the daemon starts up. These are available for use by new client processes with minimal initialization time. Instead of starting a new server process each time one is requested by a client, the daemon immediately allocates (to the client) a server from a pool of available servers. When the number of available server processes drops lower than the value specified in the Minimum number of available servers field, the daemon again starts server processes until the specified number of available servers is reached. The default for this parameter is 0, meaning that no servers are prestarted for this workspace.

  • Minimum number of available servers: The minimum number of server processes in the prestarted server's pool before the Oracle Connect daemon resumes creating new server processes (up to the number specified in the Initial number of servers field value, described earlier). If this parameter is set to a value greater than that of the Initial number of servers field value, the daemon considers the value to be the same as the value specified in the Initial number of servers field. In this case, a new server process is started and added to the pool each time a server process is removed from the pool and allocated to a client). The default for this parameter is 0, which means that new servers are created only when there are no other available servers.

  • Set maximum number of servers: The maximum number of available server processes pooled for this workspace. If the server is reusable, once a client disconnects from the server, the daemon returns the server to the pool of available servers. If the limit is reached, excess server processes are discarded.

Configuring a Binding Environment

Each binding configuration includes the following information:

Configuring data sources and adapters is described in Chapter 2, "Installing and Configuring OracleAS Adapter for Tuxedo". To configure environmental settings in Oracle Studio, perform the following steps:

  1. From the Start menu, select Programs, Oracle, and then select Studio.

  2. In the Configuration Explorer, click the node next to the computer defined in "Configuring OracleAS Adapter for Tuxedo in Oracle Studio".

  3. Expand the Bindings node. The available binding configurations are listed.

  4. Right-click NAV and select Edit Binding.

  5. In the Properties tab edit the required environment settings as needed. To edit an environment setting, click the required property category node and then click the required value to edit.

    The binding Properties tab is displayed in the following figure:

    Figure 6-2 The Binding Properties tab

    The image shows the binding properties tab
    Description of "Figure 6-2 The Binding Properties tab"

The binding environment is divided into the following categories:

comm Category

The following table lists the parameters that define the communication buffers:

Table 6-2 comm Category Parameters

Parameter Description

comCacheBufferSize

Specifies the size of a memory buffer on a client, which is used by the Oracle Connect client/server to store read-ahead data. The default is 200000 bytes.

comMaxSocketSize

Specifies the maximum bytes that can be written in one chunk on a socket. The default is -1 (no limitation).

comMaxXmlInMemory

Specifies the maximum size of an XML document held in memory. The default is 65535 bytes.

comMaxXmlSize

Specifies the maximum size of an XML document passed to another computer. The default is 65535 bytes.


debug Category

The following parameters define debugging and logging operations:

Table 6-3 debug Category Parameters

Parameter Description

acxTrace

When set to true, the input xml sent to the back-end adapter and the output xml returned by the back-end adapter, are written to the log.

analyzerQueryPlan

This parameter is not applicable for use with OracleAS Adapter for Tuxedo.

gdbTrace

This parameter is not applicable for use with OracleAS Adapter for Tuxedo.

generalTrace

When set to true, logs general trace information. The default writes only error messages to the log.

logFile

The high-level qualifier of the log file for messages. The following types of message are written to the log:

Error messages.

Trace information and information about the query optimization strategy if generalTrace is set to true.

oledbTrace

This parameter is not applicable for use with OracleAS Adapter for Tuxedo.

optimizerTrace

This parameter is not applicable for use with OracleAS Adapter for Tuxedo.

queryWarnings

This parameter is not applicable for use with OracleAS Adapter for Tuxedo.

traceDir

This parameter is not applicable for use with OracleAS Adapter for Tuxedo.


miscellaneous Category

The following parameters define miscellaneous operations, including globalization support and the directory where temporary files are written.

Table 6-4 misc Category Parameters

Parameter Description

codepage

For use with globalization support to identify the codepage for the workspace. See also: Appendix C, "Globalization Settings"

cvtSeverityLevel

The data type conversion policy when a conversion error occurs:

0 (Default): The data in the output column will be a null or empty value.

1: The data in the output column will be a null or empty value and the error is reported to the log.

2: An error is reported and processing stops

edit

This parameter is not applicable for use with OracleAS Adapter for Tuxedo.

language

Identifies the application language. A default codepage is selected based om the value specified for this parameter. See also: Appendix C, "Globalization Settings"

nlsString

Specifies the codepage used by a field whose data type is defined as "nlsString". Use this for a field whose codepage is other than that of the computer codepage. This parameter includes the following values:

The name of the codepage.

Whether the character set reads from right to left (as in middle eastern character sets). The default is false.

tempDir

The directory where temporary files are written, including the temporary files created for use by hash joins and for sorting files. The default is the current high-level qualifier.

year2000Policy

Determines the way 2-digit years are converted into 4-digit years. When the parameter year2000Policy is not set, or when it is set to a value outside the range of values defined for the policy, as described in the following paragraphs, a default value of 5 and the Sliding Base Year policy is used. Two policies are provided:

Fixed Base Year: year2000Policy is set to a value greater than, or equal to 1900. In this case, the value of year2000Policy is the first 4-digit year after 1900 that can be represented by a 2-digit year. For example, if year2000Policy is set to 1905, the years 2000->2004 will be represented by 00->04. All other 2 digits will map to 19xx.

This solution is most appropriate if there is live data at the low end (close to the year 1900), which the user wants to keep with the current 2-digit format.

The user will probably change the base date only after ensuring that these old dates have been deleted from the data source.

Sliding Base Year: year2000Policy is set to a positive value less than 100. In this case, the value of year2000Policy represents the number of years ahead of the current year that can be represented by a 2-digit number. With each passing year the earliest year that can be represented by a 2-digit number changes to a year later.


odbc Category

The odbc parameters are not applicable for use with OracleAS Adapter for Tuxedo.

oledb Category

The oledb parameters are not applicable for use with OracleAS Adapter for Tuxedo.

optimizer Category

The optimizer parameters are not applicable for use with OracleAS Adapter for Tuxedo.

queryProcessor Category

The queryProcessor parameters are not applicable for use with OracleAS Adapter for Tuxedo.

transactions Category

The transactions parameters are not applicable for use with OracleAS Adapter for Tuxedo.

tuning Category

The tuning parameters are not applicable for use with OracleAS Adapter for Tuxedo.

Migration Considerations

You can migrate an adapter configuration from one platform to another. The configuration information is stored in the Oracle Connect repository on the source platform and is exported to an XML file which can then be imported to the target platform. Note that when migrating a configuration, any file names and paths that are specific to the source platform must be changed to valid files on the target platform.

Perform the following steps to migrate an adapter configuration using Oracle Studio:

  1. From the Start menu, select Programs, Oracle, and then select Studio.

  2. In the Configuration Explorer, right-click the computer defined in "Configuring OracleAS Adapter for Tuxedo in Oracle Studio" and select Export XML definitions.

  3. Specify the path and name of the XML file, which stores the XML representation and complete configuration.

  4. Edit any paths in the XML definition to the paths required on the target platform. For example, the setting for the serverLogFile property might need changing, depending on the platform.

  5. Set up the target platform in Oracle Studio in the same way you set up the source platform, as described in "Configuring OracleAS Adapter for Tuxedo in Oracle Studio".

  6. In the Configuration Explorer, right-click the target computer and select Import XML definitions.

  7. Import the XML file to the target platform.

Security Considerations

Oracle Connect works within the confines of the platform security system. In addition, Oracle Connect provides the following security:

Setting Design Time Security

Setting design time security is described in the following sections:

  • Securing access to Oracle Studio is described in "Setting Password Access to Oracle Studio".

  • Securing rights to configure a computer in Oracle Studio is described in "Specifying Users with Administrative Rights".

  • Securing access to user profiles is accomplished by right-clicking the relevant user profile in Oracle Studio and selecting Change Master Password. In the dialog box that is displayed, specify a password that must be provided in the future to edit the specific user profile.

  • Securing access to workspaces is accomplished by right-clicking the relevant workspace in Oracle Studio and selecting Set Authorization. In the dialog box that is displayed, specify a valid user and password that must be provided in the future to edit the specific workspace.

Setting Run-Time Security

During runtime, security considerations are implemented as follows:

  • When the client request accesses the legacy platform through the daemon, either anonymous access is allowed or a valid user name and password must be provided for the computer in the user profile. The userName and password properties in the J2CA 1.0 Tuxedo adapter are used at this stage to access the daemon.


    Note:

    The user name used to access the daemon must also be the name of a user profile used.

  • Access by the client must be through a valid port, according to the list of ports specified in the Workspace Access section of the WS Security tab in Oracle Studio. For details of the WS Security tab, refer to "WS Security".


    Note:

    Access to the legacy platform through a firewall using the NAT protocol is specified when the computer is added to Oracle Studio.

  • To be allocated a server process, the client must be granted anonymous access to the workspace or be listed in the Workspace Users section of the WS Security tab in Oracle Studio. For details of the WS Security tab, refer to "WS Security".

  • The ability to run commands on the daemon, such as starting or stopping a daemon or ending server processes is available only to administrators who have been registered in Oracle Connect as a daemon administrator. A client is registered as a valid daemon administrator in the Daemon Security tab in Oracle Studio, as described in "Daemon Security".


    Note:

    You can also specify administrators who can run commands only at the level of the workspace. Specify these administrators in the WS Security tab, as described in "WS Security".

Transaction Support

OracleAS Adapter for Tuxedo can participate in a distributed transaction, as the only one-phase commit resource. It supports local transactions by responding to ACX transactional verbs and issuing the corresponding ATMI transactional calls. The back-end service is responsible for the transaction semantics and implementation.

Transactional APIs included in the application, such as to start a transaction or commit a transaction, are mapped by OracleAS Adapter for Tuxedo to the corresponding Tuxedo transactional call. The adapter is also equipped with means to limit the Tuxedo transaction duration (timeout).

The following table maps the functionality of ACX transaction verbs to equivalent ATMI transaction calls.

Table 6-5 ACX-ATMI tranaction correspondance.

ACX Transactional Verbs ATMI Transactional Call Comment

transactionStart

tpbegin(lTimeout,0)

Transaction duration can be specified within the adapter definitions.

transactionCommit

tpcommit(0)


transactionRollback

tpabort(0)




See Also:

Appendix A, "Advanced Tuning of the Metadata" for further details about transaction support configuration parameters