8 Advanced Features of OracleAS Adapter for IMS/TM

Oracle Connect includes several tuning parameters that can improve performance. Specifically, the daemon can be configured to optimize communication between the IBM z/OS platform and a client.

In addition, the binding environment can be tuned to optimize the request handling.

This chapter 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.

You can also have several 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.

Perform the following steps to add a new daemon workspace configuration:

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

  2. In the Design perspective, Configuration view expand the Machines folder.

  3. Expand the machine you are working with.

  4. Expand the Daemons folder. The daemon configurations available on this computer are listed.

  5. Right-click IRPCD and select New Workspace. The New Daemon Workspace screen is displayed.

  6. Specify a name for the new workspace and optionally, provide a description.

  7. Specify whether you want it to have 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.

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

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

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

  11. Click Finish.

The workspace is displayed under the IRPCD daemon node.

Editing the Workspace

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

Table 8-1 Workspace Properties tabs

Tab Description

General

Specifies general information including the server type, the command procedure used to start the workspace, the binding configuration associated with this workspace (which dictates the data sources and applications that can be accessed) the timeout parameters, and logging information (which dictates the data sources and applications that can be accessed), the timeout parameters, and logging information.

Server Mode

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

Security

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


Use Oracle Studio to access these tabs, as follows:

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

  2. In the Design perspective Configuration view, expand the Machines folder and then expand the machine where you want to edit the workspace.

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

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

  5. Right-click the workspace you are editing and select Open.

  6. Click the tab that contains the information you want to edit. For full details of the tabs and the fields in these tabs, see Workspaces.

  7. After editing the workspace, click Save.

Configuring the Server Mode

The server mode dictates how the daemon starts 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 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).

  • 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 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 value for the Reuse limit field is None, indicating that no reuse limit is enforced.

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

Figure 8-1 The Server Mode Tab

The workspace 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 Server Mode tab.

  • Port Range: Select the range for specific firewall ports through which you access the workspace. Determines the range of ports available for this workspace when starting server processes. Use this option when you want to control the port number, so that Oracle Connect can be accessed through a firewall.

    Enter the port range in the following fields:

    • From: Enter the highest numbered port in the range

    • To: Enter the lowest numbered port in the range

  • Use Default Port Range: Select this to use the port range that is defined in the daemon.

  • Maximum number of server processes: Enter the maximum number of server processes that can run at the same time.

  • Limit server reuse: Select this to limit the number of servers that can be reused. If this is selected, the Reuse limit parameter is available.

    If Limit server reuse is selected, in the field next to the check box, enter the maximum number of times a server can be reused. Select the maximum of clients accepted in a server process.

    A one-client server can be reused after its (single) client has disconnected. Reuse of servers enhances startup performance because it avoids the need to repeat initialization.

    This parameter is not available if the Limit server reuse parameter is not selected.

    This parameter is not available if the server mode value is singleClient.

  • Limit Concurrent clients per server: Select this to limit the number of clients that a server can accept for the current workspace process.

    If this is not selected, the number of clients is unlimited.

    If Limit concurrent clients per server is selected, in the field next to the check box, enter the maximum number of clients that a server process for the current workspace accepts. The default for this field is None, indicating that the number of clients for each server is unlimited. This field is available if the server mode value is multiClient or multiThreaded.

  • Specify Server Priority: Enter the server priority. For example, a workspace for applications with online transaction processing can be assigned a higher priority than a workspace that requires only query processing. The lower the number, the higher the priority. For example, workspaces with a priority of 1 are given a higher priority than workspaces with a priority of 2.

    Note: This is unavailable if Use default server priority is selected.

  • Use default server priority: Select this to set the priority to 0. There is no specific priority for this workspace. Clear this check box to set a priority in the Specify Server Priority parameter.

  • Keep when daemon ends: Select this to stop all servers started by that daemon when a daemon is shutdown, even if they are active. Select this if you want the servers for the workspace to remain active, even after the daemon has been shut down. If selected, it is the responsibility of the system operator or manager to ensure that the servers are eventually stopped. This must be done at the system level.

  • Number of prestarted servers in pool: Enter the number of server processes that are prestarted for this workspace when the daemon starts. 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.

  • Number of spare servers: Enter 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 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.

  • Number of sub-tasks: Enter the number of sub-tasks for a server that are prestarted for this workspace when the daemon starts. In addition to setting up a pool of server processes as described earlier, you can set additional server processes as sub-tasks by specifying this parameter. If you set 10 servers and 10 prestarted sub-tasks then 100 tasks are started (10 sub-tasks for each process).

Configuring a Binding Environment

Each binding configuration includes the following information:

  • Environment settings, which are used to configure the environment used by any of the adapters defined in the binding.

  • Application adapters on the current computer.

To configure environment settings in Oracle Studio, perform the following steps:

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

  2. In the Design perspective Configuration view, expand the Machine folder, then expand the machine where you want to configure the binding.

  3. Expand the Bindings folder. The binding available on this computer are listed.

  4. Right-click NAV and select Open.

  5. In the Environment tab, edit the environment settings as needed. To edit an environment setting, expand the property category and click the value to edit.

    The binding Environment tab is shown in the following figure:

    Figure 8-2 The Binding Properties tab

    The binding properties tab, lists all the properties.

The binding environment is divided into the following categories:

Debug

The following table lists the parameters that define debugging and logging operations:

Table 8-2 Debug Parameters

Parameter Description

ACX trace

Select this for the input xml sent to the back-end adapter and the output xml returned by the back-end adapter to be written to the log.

GDB Trace

This parameter is not applicable for use with OracleAS Adapter for IMS/TM.

General trace

Select this to log general trace information. The default writes only error messages to the log.

Note: Changing the default setting can degrade performance.

Query warnings

This parameter is not applicable for use with OracleAS Adapter for IMS/TM.

Add timestamp to traced events

Select this to add a time stamp on each event row in the log.

Query Processor trace

This parameter is not applicable for use with OracleAS Adapter for IMS/TM.

Binary XML Log Level

Select the binary XML log level from the list. The following logging levels are available:

  • None

  • API

  • Info

  • Debug

Log file

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

  • Error messages

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

Trace Directory

This parameter is not applicable for use with OracleAS Adapter for IMS/TM.

Optimizer trace

This parameter is not applicable for use with OracleAS Adapter for IMS/TM.

Transaction extended logging

Select this for the transaction manager to write additional information about transactions to the log.


General

The following table lists the parameters that define general operations where temporary files are written:

Table 8-3 General Parameters

Parameter Description

NAV_UTIL editor

This parameter is not applicable for use with OracleAS Adapter for IMS/TM.

Temporary Dir

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.

Year 2000 policy

Determines the way two-digit years are converted into four-digit years. When the year2000Policy parameter 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 four-digit year after 1900 that can be represented by a two-digit year. For example, if year2000Policy is set to 1905, the years 2000->2004 is represented by 00->04. All other two digits are mapped to 19xx.

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

The user probably changes 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 two-digit number. With each passing year the earliest year that can be represented by a two-digit number changes to a year later.

Cache buffer size

Enter the number of bytes to be used for a memory buffer on a client computer, which is used by the Oracle Connect client/server to store read-ahead data. The default is 200000.


Language

The following table lists the parameters that define globalization support:

Table 8-4 Language Settings Parameters

Parameter Description

Language

Identifies the application language. A default code page is selected based on the value specified for this parameter. For more information, see Appendix D, "Globalization Settings".

Code Page

For use with globalization support to identify the code page for the workspace. For more information, see Appendix D, "Globalization Settings".

NLS String

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

  • The name of the code page.

  • Whether the character set reads from right to left (as in middle eastern character sets).

The default is false.


Modeling

The Modeling parameters are not applicale with OracleAS Adapter for IMS/TM.

ODBC

The ODBC parameters are not applicable for use with OracleAS Adapter for IMS/TM.

OLEDB

The OLEDB parameters are not applicable for use with OracleAS Adapter for IMS/TM.

Optimizer

The Optimizer parameters are not applicable for use with OracleAS Adapter for IMS/TM.

Query Processor

The Query Processor parameters are not applicable for use with OracleAS Adapter for IMS/TM.

Parallel Processing

The Parallel Processing parameters are not applicable for use with OracleAS Adapter for IMS/TM.

Transactions

The following table lists the parameters that define transaction support:

Table 8-5 Transaction Parameters

Parameter Description

Transaction extended logging

Select this to write extended information about transactions to the transaction manager log files.

Commit on destroy

Select this to commit all single-phase commit transactions opened for a data source, if a connection closes while the transaction is still open.

Disable 2PC

Select this to disable two-phase commit capabilities, even in drivers that support two phase commit.

User commit confirm table

This parameter is not applicable for use with OracleAS Adapter for IMS/TM.

Transaction log file

The high-level qualifier and name of the log file that logs activity when using transactions. The logfile parameter can also include the keyword NORRS after a comma (so that the format is log,NORRS) when RRS is not running on the z/OS platform.

Recovery Delay

The number of minutes from the start of a transaction before any recovery operation on that transaction can be attempted. The default is 15 minutes.

Time limit

Enter the time to wait for a transaction to complete before an error is returned.

This parameter is also used when performing a RECOVERY, and it then indicates the number of minutes to wait before a forced activity can be performed, since the last transaction activity.

Conversions

Select one:

 
 

No conversion: Select this if you want all transactions to remain as sent. This is selected by default

Convert all to distributed: Select this to convert all simple transactions into distributed transactions.

Convert all to simple: Select this to convert all distributed transactions into simple transactions.


Tuning

The Tuning parameters are not applicable for use with OracleAS Adapter for IMS/TM.

XML

The following table lists the parameters that define XML support:

Table 8-6 XML Category Parameters

Parameter Description

COM maximum XML in memory

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

COM maximum XML size

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

Note: When you increase this value for this property, you may need to increase the value for the Maximum XML in memory property in the daemon. For more information on daemons, see "Control".

COM XML transport buffer size

Enter the maximum size of the internal communications buffer. The default value (-1) indicates there is no size limit.

XML date format

Enter the date format to use for XML. The options are:

  • ISO (the default): The date format is: YY-MM-DDThh:mm:ss[.ss..]

  • ODBC: The date format is: YYYY-MM-DD HH:MM:SS[.NNN...]

Replace invalid XML characters

Select this to replace invalid XML characters with a '?'. This property is used for diagnostic and troubleshooting purposes.

XML trim char columns

Select this to enable padded spaces to be trimmed from XML string columns when the record format is fixed. By default this is selected, and padded spaces are trimmed for fixed size character columns. If you do not want this behavior, clear this check box.


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, file names and paths that are specific to the source platform must be changed to valid files on the target platform.

To migrate an adapter configuration using Oracle Studio, perform the following steps:

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

  2. In the Design perspective, Configuration view, expand the Machines folder.

  3. In the Configuration Explorer, right-click the required computer, and select Export XML definitions.

  4. Specify the path and name of the XML file where the XML representation of the computer and its complete configuration is stored.

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

  6. Set up the target platform in Oracle Studio in the same way you set up the source platform, as described in Setting Up the IBM z/OS Platform in Oracle Studio.

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

  8. Import the XML file to the target platform.

Security Considerations

Oracle Connect works within the confines of the platform security system. For example, on an z/OS computer with RACF installed, and with the workspace server mode set to multi-tasking, a TRACROUTE VERIFY is performed for each task in the address space, according to the client connection.

In addition, Oracle Connect provides the following security:

  • A binary XML encryption mechanism, which is activated as follows:

    1. The client's first message to the server includes a pre-defined shared key, including the key name and value in the connection string. The server gets the key value for the key name passed from the client from the native object store (NOS).

    2. The server generates a random 128-bit RC4 session key which is returned encrypted to the client, using the shared key. If no predefined shared key is provided, then a predefined, hardcoded key is used (this key is hardcoded on the client and on the server).

    3. Passwords are always encrypted when passed over the wire, using an RC4, 128-bit session key, regardless of whether the entire session is encrypted or not.

    4. If a predefined shared key was provided, then the entire session is encrypted. Otherwise, only the password exchange is encrypted (using the hardcoded key).

  • Credentials: Passwords and user names exchanged over the network are encrypted using a pre-defined, hardcoded, 128-bit RC4 session key.

  • Design Time: Security within Oracle Studio to grant access to Oracle Studio itself and to grant access to computers, user profiles and workspaces.

  • Run time: Security used to access IMS/TM, including controlling the daemon for the access.

Setting Design Time Security

Set the design time security as 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 run time, 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.5 IMS/TM 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 port range entered in the Server section of the workspace Server Mode tab in Oracle Studio. For more information, see the explanation of the workspace Server Mode.

    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 Authorized Workspace Users section of the workspace Security tab in Oracle Studio. For more information, see the explanation of the workspace "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. Select these administrators in the workspace Security tab, as described in the explanation of workspace "Security".

Transaction Support

OracleAS Adapter for IMS/TM does not support global transactions.