B Initialization Parameters

The Oracle database initialization parameters in the init.ora file are distinct from gateway initialization parameters. Set the gateway parameters in the initialization parameter file using an agent-specific mechanism, or set them in the Oracle data dictionary using the DBMS_HS package. The gateway initialization parameter file must be available when the gateway is started. Changes made to the initialization parameters only take effect in the next gateway session.

This appendix contains a list of the gateway initialization parameters that can be set for each gateway and their description. It also describes the initialization parameter file syntax. It includes the following sections:

B.1 Initialization Parameter File Syntax

The syntax for the initialization parameter file is as follows:

  1. The file is a sequence of commands.

  2. Each command should start on a separate line.

  3. End of line is considered a command terminator (unless escaped with a backslash).

  4. If there is a syntax error in an initialization parameter file, none of the settings take effect.

  5. Set the parameter values as follows:

    [SET][PRIVATE] parameter=value


    parameter is an initialization parameter name. It is a string of characters starting with a letter and consisting of letters, digits and underscores. Initialization parameter names are case sensitive.

    value is the initialization parameter value. It is case-sensitive. An initialization parameter value is either:

    1. A string of characters that does not contain any backslashes, white space or double quotation marks (")

    2. A quoted string beginning with a double quotation mark and ending with a double quotation mark. The following can be used inside a quoted string:

      • backslash (\) is the escape character

      • \n inserts a new line

      • \t inserts a tab

      • \" inserts a double quotation mark

      • \\ inserts a backslash

      A backslash at the end of the line continues the string on the next line. If a backslash precedes any other character then the backslash is ignored.

    For example, to enable tracing for an agent, set the HS_FDS_TRACE_LEVEL initialization parameter as follows:


    SET and PRIVATE are optional keywords. You cannot use either as an initialization parameter name. Most parameters are needed only as initialization parameters, so you usually do not need to use the SET or PRIVATE keywords. If you do not specify either SET or PRIVATE, the parameter is used only as an initialization parameter for the agent.

    SET specifies that, in addition to being used as an initialization parameter, the parameter value is set as an environment variable for the agent process. Use SET for parameter values that the drivers or non-Oracle system need as environment variables.

    PRIVATE specifies that the initialization parameter should be private to the agent and should not be uploaded to the Oracle database. Most initialization parameters should not be private. If, however, you are storing sensitive information like a password in the initialization parameter file, then you may not want it uploaded to the server because the initialization parameters and values are not encrypted when uploaded. Making the initialization parameters private prevents the upload from happening and they do not appear in dynamic performance views. Use PRIVATE for the initialization parameters only if the parameter value includes sensitive information such as a username or password.

    SET PRIVATE specifies that the parameter value is set as an environment variable for the agent process and is also private (not transferred to the Oracle database, not appearing in dynamic performance views or graphical user interfaces).

B.3 Initialization Parameter Description

The following sections describe all the initialization file parameters that can be set for gateways.


Property Description
Default value None
Range of values Not applicable

Specifies the remote functions that can be referenced in SQL statements. The value is a list of remote functions and their owners, separated by semicolons, in the following format:


For example:


If an owner name is not specified for a remote function, the default owner name becomes the user name used to connect to the remote database (specified when the Heterogeneous Services database link is created or taken from user session if not specified in the DB link).

The entries for the owner names and the function names are case-sensitive.


Property Description
Default value WORLD
Range of values 1 to 199 characters

Specifies a unique network sub-address for a non-Oracle system. The HS_DB_DOMAIN initialization parameter is similar to the DB_DOMAIN initialization parameter, described in the Oracle Database Reference. The HS_DB_DOMAIN initialization parameter is required if you use the Oracle Names server. The HS_DB_NAME and HS_DB_DOMAIN initialization parameters define the global name of the non-Oracle system.


The HS_DB_NAME and HS_DB_DOMAIN initialization parameters must combine to form a unique address in a cooperative server environment.


Property Description
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 nonunique number can cause problems when two-phase commit recovery actions are necessary for a transaction.


Property Description
Default value HO
Range of values 1 to 8 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. The HS_DB_NAME and HS_DB_DOMAIN initialization parameters define the global name of the non-Oracle system.


Property Description
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, increase the high water mark to improve performance. Increasing the high water mark improves performance at the cost of memory usage.


Property Description
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:



The globalization support initialization parameters affect error messages, the data for the SQL Service, and parameters in distributed external procedures.

B.3.6.1 Character Sets

Ideally, the character sets of the Oracle database 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.


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

B.3.6.2 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 Oracle 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.


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.

B.3.6.3 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 the level of globalization support between the Oracle database and the non-Oracle data source depends on how the gateway is implemented.


Property Description
Default value 50
Range of values 1 to the value of OPEN_CURSORS initialization parameter of Oracle database

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. Therefore, setting the same value as the OPEN_CURSORS initialization parameter in the Oracle database is recommended.


Property Description
Default value ON
Range of values OFF or ON

Controls whether Heterogeneous Services attempts to optimize performance of data transfer between the Oracle database and the Heterogeneous Services 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 until the amount of fetched data is equal or higher than the value of HS_RPC_FETCH_SIZE initialization parameter. 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.


Property Description
Default value 50000
Range of values 1 to 10000000

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


Property Description

Specifies the type of transaction model that is used when the non-Oracle database is updated by a transaction.

The following values are possible:

  • COMMIT_CONFIRM provides read and write access to the non-Oracle database and allows the gateway to be part of a distributed update. To use the commit-confirm model, the following items must be created in the non-Oracle database:

    • Transaction log table. The default table name is HS_TRANSACTION_LOG. A different name can be set using the HS_FDS_TRANSACTION_LOG parameter. The transaction log table must be granted SELECT, DELETE, and INSERT privileges set to public.

    • Recovery account. The account name is assigned with the HS_FDS_RECOVERY_ACCOUNT parameter.

    • Recovery account password. The password is assigned with the HS_FDS_RECOVERY_PWD parameter.

      COMMIT_CONFIRM does not apply to Oracle Database Gateway for ODBC. The default value for Oracle Database Gateway for ODBC is SINGLE_SITE.

  • READ_ONLY provides read access to the non-Oracle database.

  • SINGLE_SITE provides read and write access to the non-Oracle database. However, the gateway cannot participate in distributed updates.


Property Description
Default Value 100
Range of Values Any integer between 1 and 1000

HS_FDS_FETCH_ROWS specifies the fetch array size. This is the number of rows to be fetched from the non-Oracle database and to return to Oracle database at one time. This parameter will be affected by the HS_RPC_FETCH_SIZE and HS_RPC_FETCH_REBLOCKING parameters.

B.3.12 IFILE

Property Description
Default value None
Range of values Valid parameter file names

Use the IFILE initialization parameter to embed another initialization file within the current initialization file. The value should be an absolute path and should not contain environment variables. The three levels of nesting limit does not apply.


Property Description
Default Value TRUE
Range of Values {TRUE|FALSE}

DRDA_CACHE_TABLE_DESC directs the gateway to cache table descriptions once per transaction. This can reduce the number of table lookups requested by Oracle database and can speed up the execution of SQL statements. You may wish to disable this option if you would be altering the structure of a remote table and if you would be examining it within the same transaction.


Property Description
Default Value None
Range of Values Refer to Chapter 4, "Developing Applications"

DRDA_CAPABILITY specifies which mapped functions of Oracle database will be treated natively. In other words, no special pre processing or post processing will be done for these functions. They will be passed through to the DRDA Server unmodified.


Property Description
Default Value codepage.map
Range of Values Any valid file path
Syntax DRDA_CODEPAGE_MAP=codepage.map

DRDA_CODEPAGE_MAP specifies the location of the codepage map. You may specify only the filename, which will be searched for within the $ORACLE_HOME/dg4drda/admin directory, or you may specify the full path name of the file.


Property Description
Default Value 32767
Range of Values 512 through 32767

DRDA_COMM_BUFLEN specifies the communications buffer length. This is a number indicating the TCP/IP buffer size in bytes.


Property Description
Default Value DRDACON1:446
Range of Values Any alphanumeric string 1 to 255 characters in length
Syntax DRDA_CONNECT_PARM={hostname|ip_address}{:port}

DRDA_CONNECT_PARM specifies the TCP/IP hostname or IP Address of the DRDA Server and, as an option, the Service Port number on which the DRDA Server is listening.

The DRDA standard specifies that port 446 be used for DRDA services. However, if several DRDA servers are operating on the same system, then they will need to provide service on different ports. Therefore, the port number that is used by each DRDA server will need to be extracted from the configuration of each individual DRDA server. DB2 for OS/390 and DB2/400 typically use the DRDA standard port number, 446, whereas DB2/UDB typically uses 50000 as the port number. Refer to IBM DB2 Administrator and Installation guides for locating and changing these port numbers for your DRDA server. For additional information, consult your DB2 DBA or System Administrator.


Property Description
Default Value None
Range of Values Any supported DRDA Server CCSID

DRDA_DEFAULT_CCSID specifies the default CCSID or character set codepage for character set conversions when the DRDA Server database indicates that a character string has a CCSID of 65535. DRDA Servers use CCSID 65535 for columns specified as "FOR BIT DATA". In most cases, this parameter should not be specified, allowing CCSID 65535 to be treated as an Oracle RAW data type.

This parameter is for supporting databases (in particular, DB2/400) that use CCSID 65535 as the default for all tables created. Allowing CCSID 65535 to be treated as another CCSID can save such sites from having to modify every table.


Specifying any value for DRDA_DEFAULT_CCSID causes all "FOR BIT DATA" columns to be handled as text columns that need character set conversion and, therefore, any binary data in these columns can encounter conversion errors (ORA-28527).


Property Description
Default Value TRUE
Range of Values {TRUE|FALSE}

DRDA_DESCRIBE_TABLE directs the gateway to use the DRDA operation Table Describe to return the description of tables. This is an optimization that reduces the amount of time and resources that are used to look up the definition of a table.


This feature is not compatible with DB2 Aliases or Synonyms. If you use DB2 aliases, then be sure to disable this option.


Property Description
Default Value TRUE
Range of Values {TRUE|FALSE}

DRDA_DISABLE_CALL controls stored procedure usage, and is also used to control how the package is bound on the target database. This parameter should be set to FALSE only for supported target DRDA servers and should be set to TRUE otherwise.


Any change to this parameter requires you to rebind.


Property Description
Default Value SESSION
Range of Values {SESSION|COMMIT}

DRDA_FLUSH_CACHE specifies when the cursor cache is to be flushed. With DRDA_FLUSH_CACHE=COMMIT, the cursor cache is flushed whenever the transaction is committed. With DRDA_FLUSH_CACHE=SESSION, the cache is not flushed until the session terminates.


Property Description
Default Value 4
Range of Values 1 through 4

DRDA_GRAPHIC_CHAR_SIZE is used to define the character conversion size to be used for GRAPHIC data types. It is a tuning parameter which affects the maximum size of a GRAPHIC data type when the column is described.


Property Description
Default Value 0
Range of Values 0 through 127

DRDA_GRAPHIC_PAD_SIZE is used to pad the size of a Graphic column as described by the DRDA Server. This is sometimes necessary depending upon the character set of the DRDA database and Oracle database. If the Oracle database is based on EBCDIC and the DRDA database is based on ASCII, then a pad size of 2 may be needed.


Property Description
Default Value FALSE
Range of Values {TRUE|FALSE}

DRDA_GRAPHIC_LIT_CHECK directs the gateway to evaluate string literals within INSERT SQL statements in order to determine if they need to be converted to double-byte format for insertion into a Graphic column at the DRDA Server database. This is done by querying the column attributes of the table in the SQL statement to determine if a string literal is being applied to a column with a Graphic data type. If the table column is Graphic, and if this parameter is TRUE, then the gateway will rewrite the SQL statement with the literal converted to double-byte format. Existing double-byte characters in the string will be preserved, and all single-byte characters will be converted to double-byte characters.


Property Description
Default Value FALSE
Range of Values {TRUE|FALSE}

DRDA_GRAPHIC_TO_MBCS directs the gateway to convert graphic data that has been fetched from the DRDA Server into Oracle multi-byte data, translating double-byte characters into single-byte characters where possible.


Property Description
Default Value CHG for DB2/400, CS for DB2/OS390, DB2/UDB
Range of Values {CHG|CS|RR|ALL|NC}

DRDA_ISOLATION_LEVEL specifies the isolation level that is defined to the package when it is created. All SQL statements that are sent to the remote DRDA database are executed with this isolation level. Isolation level seriously affects performance of applications. Use caution when specifying an isolation level other than the default. For information on isolation levels, refer to your IBM database manuals.

The following table lists the isolation levels and their descriptions. The levels are specified in ascending order of control, with CHG having the least reliable cursor stability and RR having the most. Note that higher stability uses more resources on the server and can lock those resources for extended periods.

Table B-1 Isolation Levels and Their Descriptions

Level Description


Change (default for DB2/400)


Cursor Stability (default for DB2/UDB, and DB2/OS390)


Repeatable Read




No Commit


Any change to this parameter requires you to rebind.


Property Description
Default Value AIX_RS6K
Range of Values any alphanumeric string 1 to 8 characters in length

DRDA_LOCAL_NODE_NAME specifies the name by which the gateway will be known to the DRDA Server. This name is used internally by the DRDA Server to identify the local node.


Property Description
Default Value FALSE
Range of Values {TRUE|FALSE}

DRDA_MBCS_TO_GRAPHIC directs the gateway to convert multi-byte data (that has been sent from Oracle to the DRDA database) into pure double-byte characters. This parameter is primarily intended to be used with bind variables in order to ensure that the data is properly formatted and will therefore be acceptable to the DRDA Server. It applies only to INSERT SQL statements that are using bind variables. When used in combination with the DRDA_GRAPHIC_LIT_CHECK parameter, this parameter can help ensure that data that is being inserted into a Graphic column is handled correctly by the target DRDA Server.


Property Description
Default Value TRUE
Range of Values {TRUE|FALSE}

DRDA_OPTIMIZE_QUERY enables or disables the distributed query optimizer (DQO) capability. The DQO capability is useful for optimizing queries that access large amount of data, but it can add overhead to small queries.

This parameter is valid only if the DRDA Server is DB2/OS390. If the DRDA Server is DB2/400 or DB2/UDB, then you must set the value to FALSE.


Property Description
Default Value ORACLE
Range of Values An alphanumeric string 1 to 18 characters in length
Syntax DRDA_PACKAGE_COLLID=collection_id

DRDA_PACKAGE_COLLID specifies the package collection ID. Note that in DB2/400, the collection ID is actually the name of an AS/400 library.


Any change to this parameter requires you to rebind the package.


Property Description
Default Value None, use the sample provided
Range of Values A 16-digit hexadecimal number

DRDA_PACKAGE_CONSTOKEN specifies the package consistency token. This is a 16-digit hexadecimal representation of an 8-byte token. Oracle recommends that you do not change the consistency token. The consistency token used at runtime must match the one used when the package is bound. The value depends on the DRDA Server being used.


Any change to this parameter requires you to rebind the package.


Property Description
Default Value G2DRSQL
Range of Values An alphanumeric string 1 to 18 characters in length

DRDA_PACKAGE_NAME specifies the package name. Note that the package is stored in the DRDA Server under this name as a SQL resource. Refer to the DRDA Server documentation for length limitations package names. Many typical implementations restrict the length to 8 characters.


Any change to this parameter requires that you rebind the package.


Property Description
Default Value None
Range of Values Any valid user ID

DRDA_PACKAGE_OWNER specifies the database user ID that owns the package. This enables the owner to be a user other than the connected user ID when the package is created. The package owner must be the same user as the owner of the ORACLE2PC table.


Any change to this parameter requires you to rebind the package.


Property Description
Default Value 100
Range of Values Any integer between 1 and 65535

DRDA_PACKAGE_SECTIONS specifies the number of cursors declared at the remote database when the package is bound. This is the maximum number of open cursors permitted at any one time. Change this parameter only if an application needs more than 100 open concurrent cursors.


Any change to this parameter requires you to rebind the package.


Property Description
Default Value FALSE
Range of Values {TRUE|FALSE}

DRDA_READ_ONLY specifies whether the gateway runs in a read-only transaction mode. In this mode, SQL statements that modify data are not permitted.


Property Description
Default Value none
Range of Values any valid password

DRDA_RECOVERY_PASSWORD is used with the DRDA_RECOVERY_USERID. The recovery user connects to the IBM database if a distributed transaction is in doubt.


Property Description
Default Value ORARECOV
Range of Values Any valid user ID

DRDA_RECOVERY_USERID specifies the user ID that is used by the gateway if a distributed transaction becomes in doubt. This user ID must have execute privileges on the package and must be defined to the IBM database.

If a distributed transaction becomes in doubt, then the Oracle database determines the status of the transaction by connecting to the IBM database, using the DRDA_RECOVERY_USERID. If this parameter is missing, then the gateway attempts to connect to a user ID of ORARECOV.


Property Description
Default Value DB2V2R3
Range of Values An alphanumeric string 1 to 18 characters in length

DRDA_REMOTE_DB_NAME specifies the DRDA Server location name. This is an identifying name that is assigned to the server for DRDA purposes. A technique for determining this name by using a SQL SELECT statement is discussed in each of the server-specific installation sections in Chapter 14, "Configuring Oracle Database Gateway for DRDA" in Oracle Database Gateway Installation and Configuration Guide for AIX 5L Based Systems (64-Bit), HP-UX PA-RISC (64-Bit), Solaris Operating System (SPARC 64-Bit), Linux x86, and Linux x86-64 and Oracle Database Gateway Installation and Configuration Guide for Microsoft Windows.


Property Description
Default Value TG4DRDA_DB2MVS
Range of Values Refer to the list below for valid values

FDS_CLASS specifies the capability classification used by Oracle database and the gateway. These values may change from release to release, depending on whether the gateway capabilities change.

The valid default values for FDS_CLASS are as follows:

For a DB2/OS390 database: TG4DRDA_DB2MVS

For a DB2/400 databaseTG4DRDA_DB2400

For a DB2/UDB database: TG4DRDA_DB2UDB


Property Description
Default Value None
Range of Values Any valid character set specification
Syntax HS_NLS_NCHAR=character_set

HS_NLS_NCHAR specifies the character set that the gateway will use to interact with the DRDA Server when accessing Graphic data. Set this parameter to the same value as the character set component of the HS_LANGUAGE parameter. For additional details, refer to Appendix C, "Globalization Support for DRDA" and to the Oracle Database Heterogeneous Connectivity Administrator's Guide.


Property Description
Default Value $ORACLE_HOME/dg4drda/log/gateway sid_pid.log
Range of Values Any valid file path
Syntax LOG_DESTINATION=logpath

LOG_DESTINATION specifies the destination for gateway logging and tracing. This parameter should specify a file. If the file already exists, it will be overwritten.

After any failure to open the logpath, a second attempt to open the default is made.

Usually, LOG_DESTINATION should specify a directory. If it is specified as a file, and if two or more users simultaneously use the same instance of the gateway, then they are writing to the same log. The integrity of this log is not guaranteed. If you do not specify this parameter, then the default is assumed.


Property Description
Default Value 4712-12-31
Range of Values Any valid date less than 4712-12-31
Syntax ORA_MAX_DATE=yyyy-mm-dd

ORA_MAX_DATE specifies the gateway maximum date value. If the fetched date value is larger than 4712-12-31, the gateway replaces the date value with the value defined by the ORA_MAX_DATE parameter. Any date between January 1, 4712 BC and December 31, 4712 AD is valid.

B.3.43 ORA_NLS11

Property Description
Default Value $ORACLE_HOME/nls/data
Range of Values Any valid Globalization Support directory path
Syntax SET ORA_NLS11=nlspath

ORA_NLS11 specifies the directory to which the gateway loads its character sets and other language data. Normally this parameter does not need to be set. Some configurations, however, may require that it be set.


Property Description
Default Value None
Range of Values Any valid file path
Syntax ORACLE_DRDA_TCTL=tracecontrolpath

ORACLE_DRDA_TCTL specifies the path to the DRDA internal trace control file. This file contains module tracing commands. A sample file is stored in $ORACLE_HOME/dg4drda/admin/debug.tctl. This parameter is used for diagnostic purposes.


Property Description
Default Value value specified for LOG_DESTINATION
Range of Values any valid file path
Syntax ORACLE_DRDA_TRACE=logpath

ORACLE_DRDA_TRACE is used to specify a different log path for DRDA internal tracing. This tracing is separate from the rest of the gateway tracing, as specified by the LOG_DESTINATION parameter. By default, this parameter will append the DRDA internal trace to the gateway trace. This parameter is used for diagnostic purposes.


Property Description
Default Value 0
Range of Values 0-255
Syntax TRACE_LEVEL=number

TRACE_LEVEL specifies a code tracing level. This value determines the level of detail which is logged to the gateway logfile during execution. This parameter is primarily used for diagnostics.


Property Description
Default value Value determined by the HS_LANGUAGE initialization 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 initialization parameter has the same function as the NLS_DATE_FORMAT initialization parameter for an Oracle database. The value can be any valid date mask listed in the Oracle Database SQL Language Reference, but must match the date format of the target system. For example, if the target system stores the date February 14, 2001 as 2001/02/14, set the parameter to yyyy/mm/dd. Note that characters must be lowercase.


Property Description
Default value Value determined by the HS_LANGUAGE initialization 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 numeric. In the format dd-mon-yyyy, however, the month component is the name abbreviated to three characters. The abbreviation is 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.


Property Description
Default value Value determined by the HS_LANGUAGE initialization parameter
Range of values Any valid NLS_NUMERIC_CHARACTERS value (any two valid numeric characters)

Specifies the characters to use as the group separator and the decimal character. The group separator separates integer groups (such as thousands, millions, and billions). The decimal character separates the integer portion of a number from the decimal portion.