Oracle Heterogeneous Services Release 8.1.7 Part Number A88714-01 |
Library | Service | Contents | Index

# A
Heterogeneous Services Initialization Parameters

Heterogeneous Services parameters are distinct from Oracle database server initialization parameters. Set Heterogeneous Services parameters by editing the Oracle Transparent Gateway initialization file, or by using the DBMS_HS package to set them in the data dictionary. String values for Heterogeneous Services parameters must be lowercase.

This appendix contains the following topics:

- HS_COMMIT_POINT_STRENGTH

- HS_DB_DOMAIN

- HS_DB_INTERNAL_NAME

- HS_DB_NAME

- HS_DESCRIBE_CACHE_HWM

- HS_FDS_CONNECT_INFO

- HS_FDS_SHAREABLE_NAME

- HS_FDS_TRACE_LEVEL

- HS_FDS_TRACE_FILE_NAME

- HS_LANGUAGE

- HS_NLS_DATE_FORMAT

- HS_NLS_DATE_LANGUAGE

- HS_NLS_NCHAR

- HS_OPEN_CURSORS

- HS_ROWID_CACHE_SIZE

- HS_RPC_FETCH_REBLOCKING

- HS_RPC_FETCH_SIZE

## HS_COMMIT_POINT_STRENGTH

Default value: | 0
Range of values: | 0 to 255

Specifies a value that determines the commit point site in a heterogeneous distributed transaction. HS_COMMIT_POINT_STRENGTH is similar to COMMIT_POINT_STRENGTH, described in the Oracle8i Reference.

Set HS_COMMIT_POINT_STRENGTH to a value relative to the importance of the site that is the commit point site in a distributed transaction. The Oracle database server or non-Oracle system with the highest commit point strength becomes the commit point site. To ensure that a non-Oracle system never becomes the commit point site, set the value of HS_COMMIT_POINT_STRENGTH to zero.

HS_COMMIT_POINT_STRENGTH is important only if the non-Oracle system can participate in the two-phase protocol as a regular two-phase commit partner and as the commit point site. This is only the case if the transaction model is two-phase commit confirm (2PCC).

See Also: Chapter 2, "Managing Heterogeneous Services" for more information about heterogeneous distributed transactions.

## HS_DB_DOMAIN

Default value: | WORLD
Range of values: | 1 to 119 characters

Specifies a unique network sub-address for a non-Oracle system. HS_DB_DOMAIN is similar to DB_DOMAIN, described in the Oracle8i Administrator's Guide and the Oracle8i Reference. HS_DB_DOMAIN is required if you use the Oracle Names server. HS_DB_NAME and HS_DB_DOMAIN define the global name of the non-Oracle system.

Note: HS_DB_NAME and HS_DB_DOMAIN must combine to form a unique address.

## HS_DB_INTERNAL_NAME

Default value: | 01010101
Range of values: | 1 to 16 hexadecimal characters

Specifies a unique hexadecimal number identifying the instance to which the Heterogeneous Services agent is connected. This parameter's value is used as part of a transaction ID when global name services are activated. Specifying a non-unique number can cause problems when two-phase commit recovery actions are necessary for a transaction.

## HS_DB_NAME

Default value: | HO
Range of values: | 1 to 8 lowercase characters

Specifies a unique alphanumeric name for the data store given to the non-Oracle system. This name identifies the non-Oracle system within the cooperative server environment. HS_DB_NAME and HS_DB_DOMAIN define the global name of the non-Oracle system.

## HS_DESCRIBE_CACHE_HWM

Default value: | 100
Range of values: | 1 to 4000

Specifies the maximum number of entries in the describe cache used by Heterogeneous Services. This limit is known as the describe cache high water mark. The cache contains descriptions of the mapped tables that Heterogeneous Services reuses so that it does not have to re-access the non-Oracle data store.

If you are accessing many mapped tables, then increase the high water mark to improve performance. Note that increasing the high water mark improves performance at the cost of memory usage.

## HS_FDS_CONNECT_INFO

Default value: | none
Range of values: | not applicable

Specifies the information needed to bind to the data provider, that is, the non-Oracle system. For generic connectivity, you can bind to an ODBC-based data source or to an OLE DB-based data source. The information that you provide depends on the platform and whether the data source is ODBC or OLE DB-based.

This parameter is required if you are using generic connectivity.

##### ODBC-based Data Source on Windows:

You can use either a file DSN or a System DSN as follows:

- When connecting using a File DSN the parameter format is:

      HS_FDS_CONNECT_INFO=FILEDSN=file_dsn

- When connecting using a System DSN the parameter format is:

      HS_FDS_CONNECT_INFO=system_dsn

If you are connecting to the data source through the driver for that data source, then precede the DSN by the name of the driver, followed by a semi-colon (;).

##### ODBC-based Data Source on UNIX:

Use a DSN with the following format:

    HS_FDS_CONNECT_INFO=dsn

##### OLE DB-based Data Source (Windows NT Only):

Use a universal data link (UDL) with the following formats:

- HS_FDS_CONNECT_INFO="UDLFILE=data_link"

- HS_FDS_CONNECT_INFO="data_link_provider;db[,CATALOG=catalog]"

  which allows you to specify the connection details directly, and where:

  - data_link_provider is the case-sensitive name of the provider as it appears in the registry

  - db is the name of the database

  - catalog is the name of the catalog

    Note: Whenever the parameter value includes an equal sign (=), it must be enclosed in quotation marks.

## HS_FDS_SHAREABLE_NAME

Default value: | none
Range of values: | not applicable

Specifies the full path name to the ODBC library. This parameter is required when you are using generic connectivity to access data from an ODBC provider on a UNIX machine.

## HS_FDS_TRACE_LEVEL

Default value: | OFF
Range of values: | ON or OFF

Specifies whether error tracing is enabled or disabled for generic connectivity. Enable the tracing to see which error messages occur when you encounter problems. The results are written to a generic connectivity log file, in the `/log` directory under the `$ORACLE_HOME` directory.

## HS_FDS_TRACE_FILE_NAME

Default value: | none
Range of values: | not applicable

Specifies the name of the trace file to which generic connectivity error messages are written, if TRACE is enabled. The trace file is located in the `LOG` directory under the `$ORACLE_HOME` directory.

## HS_LANGUAGE

Default value: | System-specific
Range of values: | Any valid language name (up to 255 characters)

Provides Heterogeneous Services with character set, language, and territory information of the non-Oracle data source. The value must use the following format:

    language[_territory.character_set]

Note: The national language support initialization parameters affect error messages, the data for the SQL Service, and parameters in distributed external procedures.

#### Character sets

Ideally, the character sets of the Oracle database server and the non-Oracle data source are the same. If they are not the same, Heterogeneous Services attempts to translate the character set of the non-Oracle data source to the Oracle database character set, and back again. The translation can degrade performance. In some cases, Heterogeneous Services cannot translate a character from one character set to another.

Note: The specified character set must be a superset of the operating system character set on the platform where the agent is installed.

#### Language

The language component of the HS_LANGUAGE initialization parameter determines:

- Day and month names of dates

- AD, BC, PM, and AM symbols for date and time

- Default sorting mechanism

Note that HS_LANGUAGE does not determine the language for error messages for the generic Heterogeneous Services messages (ORA-25000 through ORA-28000). These are controlled by the session settings in the Oracle database server.

Note: Use the HS_NLS_DATE_LANGUAGE initialization parameter to set the day and month names, and the AD, BC, PM, and AM symbols for dates and time independently from the language.

#### Territory

The territory clause specifies the conventions for day and week numbering, default date format, decimal character and group separator, and ISO and local currency symbols. Note that:

- You can override the date format using the initialization parameter HS_NLS_DATE_FORMAT.

- The level of National Language Support between the Oracle database server and the non-Oracle data source depends on how the driver is implemented. See the installation documentation for your platform for more information about the level of National Language Support.

## HS_NLS_DATE_FORMAT

Default value: | Value determined by HS_LANGUAGE parameter
Range of values: | Any valid date format mask (up to 255 characters)

Defines the date format for dates used by the target system. This parameter has the same function as the NLS_DATE_FORMAT parameter for an Oracle database server. The value of can be any valid date mask listed in the Oracle8i Reference, but must match the date format of the target system. For example, if the target system stores the date February 14, 1995 as 1995/02/14, set the parameter to yyyy/mm/dd. Note that characters must be lowercase.

## HS_NLS_DATE_LANGUAGE

Default value: | Value determined by HS_LANGUAGE parameter
Range of values: | Any valid NLS_LANGUAGE value (up to 255 characters)

Specifies the language used in character date values coming from the non-Oracle system. Date formats can be language independent. For example, if the format is dd/mm/yyyy, all three components of the character date are numbers. In the format dd-mon-yyyy, however, the month component is the name abbreviated to three characters. The abbreviation is very much language dependent. For example, the abbreviation for the month April is "apr", which in French is "avr" (Avril).

Heterogeneous Services assumes that character date values fetched from the non-Oracle system are in this format. Also, Heterogeneous Services sends character date bind values in this format to the non-Oracle system.

## HS_NLS_NCHAR

Default value: | Value determined by HS_LANGUAGE parameter
Range of values: | Any valid national character set (up to 255 characters)

Informs Heterogeneous Services of the value of the national character set of the non-Oracle data source. This value is the non-Oracle equivalent to the NATIONAL CHARACTER SET parameter setting in the Oracle CREATE DATABASE statement. The HS_NLS_NCHAR value should be the character set ID of a character set supported by the Oracle NLSRTL library.

See Also: HS_LANGUAGE.

## HS_OPEN_CURSORS

Default value: | 50
Range of values: | 1 - value of Oracle's OPEN_CURSORS initialization parameter

Defines the maximum number of cursors that can be open on one connection to a non-Oracle system instance.

The value never exceeds the number of open cursors in the Oracle database server. Therefore, setting the same value as the OPEN_CURSORS initialization parameter in the Oracle database server is recommended.

## HS_ROWID_CACHE_SIZE

Default value: | 3
Range of values: | 1 to 32767

Specifies the size of the Heterogeneous Services cache containing the non-Oracle system equivalent of ROWIDs. The cache contains non-Oracle system ROWIDs needed to support the WHERE CURRENT OF clause in a SQL statement or a SELECT FOR UPDATE statement.

When the cache is full, the first slot in the cache is reused, then the second, and so on. Only the last HS_ROWID_CACHE_SIZE non-Oracle system ROWIDs are cached.

## HS_RPC_FETCH_REBLOCKING

Default value: | ON
Range of values: | OFF, ON

Controls whether Heterogeneous Services attempts to optimize performance of data transfer between the Oracle database server and the HS agent connected to the non-Oracle data store.

The following values are possible:

- OFF disables reblocking of fetched data so that data is immediately sent from agent to server

- ON enables reblocking, which means that data fetched from the non-Oracle system is buffered in the agent and is not sent to the Oracle database server until the amount of fetched data is equal or higher than HS_RPC_FETCH_SIZE. However, any buffered data is returned immediately when a fetch indicates that no more data exists or when the non-Oracle system reports an error.

## HS_RPC_FETCH_SIZE

Default value: | 4000
Range of values: | Decimal integer (byte count)

Tunes internal data buffering to optimize the data transfer rate between the server and the agent process.

Increasing the value can reduce the number of network round trips needed to transfer a given amount of data, but also tends to increase data bandwidth and to reduce response time or latency as measured between issuing a query and completion of all fetches for the query. Nevertheless, increasing the fetch size can increase latency for the initial fetch results of a query, because the first fetch results are not transmitted until additional data is available.

See Also: Chapter 4, "Developing Applications with Heterogeneous Services" for more information.

| Copyright © 1996-2001 Oracle Corporation. All Rights Reserved. |
Library | Service | Contents | Index