Oracle® Application Server CDC Adapters for Adabas User's Guide 11g Release 1 (11.1.1) Part Number E16090-01 |
|
|
View PDF |
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:
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 the daemon and the daemon workspace parameters to control the allocation of server processes and their management in a pool.
You can also have several daemon workspace configurations. This lets you create individual workspaces for use with different adapters.
Use Oracle Studio to add a new daemon configuration. You can set up different daemon configurations for different situations.
Carry out the following to add a new daemon workspace configuration:
From the Start menu, select Programs, Oracle, and then select Studio.
In the Design Perspective Configuration view, expand the Machines folder and then expand the machine where you want to add the workspace.
Expand the Daemons folder. The daemon available on this computer are listed.
Right-click IRPCD and select New Workspace. The New Daemon Workspace screen is displayed.
Enter a name for the new workspace and then enter a description, if desired.
Select whether to use default settings or copy the properties of an existing workspace.
To copy the properties of an existing workspace, click the Browse button and select the workspace from which you want to copy the properties.
Click Next. The Select Scenario screen is displayed.
Select Application Server using connection pooling and click Next.
Continue through the wizard, entering the required values for the workspace.
Click Finish.
The workspace is displayed under the IRPCD daemon node.
You edit a workspace by using the tabs described in the following table:
Table 7-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:
From the Start menu, select Programs, Oracle, and then select Studio.
In the Design perspective Configuration view, expand the Machines folder and then expand the machine where you want to edit the workspace.
Expand the Daemons node. The daemon configurations available on this computer are listed.
Expand the IRPCD node. The daemon workspaces are listed.
Right-click the required workspace and select Open.
Select the tab that contains the information you want to edit. For full details of the tabs and the fields in these tabs, see Workspaces.
After editing the workspace, click Save.
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:
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 the check box 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 the check box 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: Set the priority for servers. 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 the check box 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 the check box 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: 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).
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:
From the Start menu, select Programs, Oracle, and then select Studio.
In the Design perspective Configuration view, expand the Machine folder, then expand the machine where you want to configure the binding.
Expand the Bindings folder. The binding available on this computer are listed.
Right-click NAV and select Open.
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:
The binding environment is divided into the following categories:
The following table lists the parameters that define debugging and logging operations:
Table 7-2 Debug Parameters
Parameter | Description |
---|---|
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. |
|
This parameter is not applicable for use with OracleAS CDC Adapter for Adabas. |
|
Select this to log general trace information. The default writes only error messages to the log. Note: Changing the default setting can degrade performance. |
|
This parameter is not applicable for use with OracleAS CDC Adapter for Adabas. |
|
Select this to add a time stamp on each event row in the log. |
|
This parameter is not applicable for use with OracleAS CDC Adapter for Adabas. |
|
Select the binary XML log level from the list. The following logging levels are available:
|
|
The high-level qualifier of the log file for messages. The following type of message are written to the log:
|
|
This parameter is not applicable for use with OracleAS CDC Adapter for Adabas. |
|
This parameter is not applicable for use with OracleAS CDC Adapter for Adabas. |
|
Select this for the transaction manager to write additional information about transactions to the log. |
The following table lists the parameters that defines operations in the directory where temporary files are written.
Table 7-3 General Parameters
Parameter | Description |
---|---|
This parameter is not applicable for use with OracleAS Adapter for Adabas. |
|
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. |
|
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:
|
|
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 |
The following table lists the parameters that define globalization support:
Table 7-4 Language Parameters
Parameter | Description |
---|---|
Identifies the application language. A default code page is selected based on the value specified for this parameter. For more information, see Appendix E, "Globalization Settings". |
|
For use with globalization support to identify the code page for the workspace. For more information, see Appendix E, "Globalization Settings". |
|
Specifies the code page used by a field whose data type is defined as
The default is |
The following parameters enable you to customize the performance:
Optimizer goal: The optimization policy. Select one of the following from the list to the right:
none (default): All row optimization is used.
first: First row optimization is performed based on the assumption that the results produced by the query are used as the rows are retrieved. The query optimizer uses a strategy that retrieves the first rows as fast as possible, which might result in a slower overall time to retrieve all the rows.
all: Optimization is performed based on the assumption that the results produced by the query are used after all the rows have been retrieved. The query optimizer uses a strategy that retrieves all the rows as fast as possible, which might result in a slower time to retrieve the first few rows.
Aggregate queries automatically use all row optimization, regardless of the value of this parameter.
All other optimizer parameters are not applicable for use with the OracleAS CDC Adapter for Adabas.
The following list shows the parallel processing properties. The parallel processing properties control how parallel processes are handled in the binding.
Table 7-5 Parallel Processing Parameters
Parameter | Description |
---|---|
Select this to disable multi-threading. If this is selected, the following properties are disabled:
|
The following table lists the parameters that enable you to fine tune how queries are processed:
Table 7-6 Query Processor Parameters
Parameter | Description |
---|---|
Select this to disable Query Processor caching the executed state of a query for reuse. |
|
Select this to disable caching data source properties. |
|
Select this to disable parameterization constants in INSERT statements. |
|
Select this to disable caching object metadata. If this is selected, the object metadata is taken from the from the original data source instead of the cache. |
|
Select this to not convert constants into parameters when accessing data sources. |
|
Select this for OLE DB |
|
Compile after load |
Select this to compile an Oracle Connect procedure or view after it is read. |
This property determines how Oracle Connect responds when the execution of one segment of a segmented data source fails:
|
|
Select this to configure Oracle Connect to prompt the user for security information when accessing a data source. |
|
Select this to use the @ symbol instead of a colon (:) when connecting to multiple data sources. |
|
Select this to enable the use of tables that have filter expressions specified in their metadata. |
|
Select this to replace empty strings in a SET clause of an UPDATE statement or in a VALUES list of an INSERT statement with null values. |
|
Select this to use optimistic locking as the default locking behavior on queries with a FOR UPDATE clause. |
|
Select this to disable saving successfully compiled statements in the cache. |
|
Enter the maximum number of SQL queries that can be stored in cache memory. This property's value is ignored if Disable compilation cache is selected. The default is 3. |
|
Enter the maximum size allowed for an SQL query after compilation. The default is 150. |
|
Enter the maximum number of columns that a query can reference. The default is 500. |
|
Enter the maximum number of open threads allowed, when working with segmented databases. |
|
Enter the minimum number of parameters that can be used in a query. |
|
Enter the number of seconds that the query processor waits before executing a query again, when no records are returned. The default is 2. |
|
Enter the number of seconds that the query processor continues to issue queries, when no records are returned. The default is 3600 (one hour), which indicates that after an hour without new messages the continuous query ends. Enter 0 to indicate that there is no timeout and the continuous query does not end automatically. |
|
Enter a prefix to replace the $$ prefix that is used to identify the continuous query special columns. For example, if you enter ##, then the continuous query alias is '##StreamPosition' and the control command alias is '##ControlCommand'. |
|
Enter an integer determine the precision scale factor for floating decimal position. The default is 0, which indicates that the exact arithmetic function is not used. When the value is set to a small positive integer, the special precise floating point arithmetic is used in the query processor. The value determines the precision scale factor (for example, a value of 2 indicates two digits decimal precision). Setting this parameter can be done at a workspace level and it affects all queries running in that workspace with no change to the query or to the underlying data source. The query processor ADD(), SUBTRACT() and SUM() functions that currently use double arithmetic for both floating and decimal types use this logic. When the value is set to the default, 0, the exact arithmetic function is not used. This property is used to set the Exact Arithmetic function. The |
|
The maximum depth of the expression tree. The default is 500 |
|
Enter the maximum length of a string in an SQL query. The minimum value is 64. The default value is 350. |
|
Enter the commit rate to use when executing an INSERT-FROM-SELECT operation. If a value more than 0 is entered, a commit is performed automatically after inserting the indicated number of rows. For example, if the value is 5,a commit is performed every time 5 rows are inserted. |
|
Select this to always read compiled Oracle Connect procedures and views from a disk. In this case, they are not saved in the cache. |
|
Enter the number of stored queries created with a CREATE PROCEDURE statement that can be kept in cache memory. This property's value is ignored if Disable SQS cache size is selected. |
|
Expose XML fields: Select this to display data returned for a query as XML, representing the true structure of the result. This is useful when querying a data source table that contains arrays or variants.
|
The following table lists the parameters that define transaction support:
Table 7-7 Transaction Parameters
Parameter | Description |
---|---|
Select this to write extended information about transactions to the transaction manager log files. |
|
Select this to commit all single-phase commit transactions opened for a data source, if a connection closes while the transaction is still open. |
|
Select this to disable two-phase commit capabilities, even in drivers that support two phase commit. |
|
This parameter is not applicable for use with OracleAS CDC Adapter for Adabas. |
|
The high-level qualifier and name of the log file that logs activity when using transactions. The Transaction log file parameter can also include the keyword |
|
The number of minutes from the start of a transaction before any recovery operation on that transaction can be attempted. The default is |
|
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. |
|
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. |
The following table lists the parameters that define the tuning:
Table 7-8 Tuning Parameters
Parameter | Description |
---|---|
Enter the maximum size of a cache memory. This cache is used when memory is required on a temporary basis (as when Oracle Connect sorts data for a query output, for a subquery, or for aggregate queries). This cache size is not used for hash joins and lookup joins (see the |
|
Enter the maximum size of the sort buffers. Use this parameter instead of |
|
Enter the maximum size of the index cache. This cache is not used for hash joins and lookup joins. The default value is |
|
Enter the maximum number of files that can be opened in the file pool. The default is 10. |
|
Enter the size of the file in the pool. The default is 3. |
|
Select this if you want the File Pool to close when a transaction is committed. |
|
Select this to use a global file pool. When the workspace server mode parameter is set to multiClient or reusable, this parameter also indicates whether the file pool closes upon the client disconnection. |
|
Enter the amount of cache memory that is available for each hash join or lookup join. The default is |
|
Enter the maximum number of files that a query can open simultaneously for use when performing hash joins. The number assigned to this parameter must not exceed the system maximum. The default isset to Note: The hash join optimization strategy results in several files being opened to perform the join. The larger the table size, the more files are opened. By adjusting this parameter you can disable hash joins on very large tables, while allowing hash joins for small tables. |
|
Enter the primary extent size. |
|
Enter the secondary extent size. |
|
Select this for the QP to store the first hash bucket in memory instead of a sequential file. |
The following table lists the parameters that define XML support:
Table 7-9 XML Parameters
Parameter | Description |
---|---|
Specifies the maximum size of an XML document held in memory. The default is |
|
Specifies the maximum size of an XML document passed to another computer. The default is 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. |
|
Enter the maximum size of the internal communications buffer. The default value ( |
|
Enter the date format to use for XML. The options are:
|
|
Select this to replace invalid XML characters with a |
|
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. |
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:
From the Start menu, select Programs, Oracle, and then select Studio.
In the Design perspective, Configuration view, expand the Machines folder.
Right-click the required computer, and select Export XML definitions.
In the File name field, type the path and name of the XML file where the XML representation of the computer and its complete configuration is stored.
Edit any paths in the XML definition to the paths required on the target platform. For example, the setting for the serverLogFile parameter may require changing, depending on the platform.
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.
In the Configuration Explorer, right-click the target computer and select Import XML definitions.
Import the XML file to the target platform.
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 RACROUTE 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:
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).
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).
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.
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 Adabas, including controlling the daemon for the access.
The following sections describe how to set design time security:
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.
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 Adabas 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 tab.
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 theAdministrator provileges section of the daemon Security tab in Oracle Studio. For more information, see explanation of the daemon Security tab.
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 the workspace Security.OracleAS CDC Adapter for Adabas supports global transactions and can fully participate in a distributed transaction if you access the Adabas data under CICS.
Notes:
To use OracleAS CDC Adapter for Adabas with global transactions, you must have RRS installed and configured.
The rollback event is not supported, instead compensating records are supplied.
To work with global transactions, select Convert all to distributed in the Transaction section of the binding environemtal properties. For more information, see Transactions in the Configuring a Binding Environment section.
To use global transactions capability to access data on the z/OS computer, define every library in the ATTSRVR JCL as an APF-authorized library.
To define a DSN as APF-authorized, in the SDSF screen, enter the following command:
"/setprog apf,add,dsn=instroot.library,volume=ac002"
Where ac002 is the volume where you installed Oracle Connect and INSTROOT is the high level qualifier where Oracle Connect is installed.
If the Oracle Connect installation volume is managed by SMS, when defining APF-authorization, then enter the following command in the SDSF screen:
"/setprog apf,add,dsn=instroot.library,SMS"
Ensure that the library is APF-authorized, even after an IPL (restart) of the computer.
If RRS is not running, then OracleAS Adapter for Adabas can participate in a distributed transaction, as the only one-phase commit resource, if you enter the keyword NORRS
, as shown in the in the Transaction log file property. The Transaction log file property is in the Transactions section in the Configuring a Binding Environment section.
Note:
If a no log file is entered, then the format for the Transaction log file parameter when RRS is not running is:,NORRS
.