This chapter provides information specific to this release of the Oracle Transparent Gateway for DRDA. It includes the following sections:
The following is a list of the production components that are included in the product CDEROM:
Oracle Transparent Gateway for DRDA, Release 10.1.0.2.0
Oracle Net, release 10.2.1.0
Following is a list of changes and enhancements that are unique to this release of the gateway.
Gateway Password Encryption Tool
The Gateway Password Encryption tool (g4drpwd
) has been replaced by a generic feature which is now part of Heterogenous Services. Refer to Chapter 13, "Security Considerations" for more information.
Refer Chapter 14, "Migration and Coexistence with Existing Gateways" for information about migrating product configurations from previous releases for additional changes or requirements.
GARBAGES CONTAINED IN ERROR MESSAGE FROM TG4DRDA
TG4DRDA SELECT FOR UPDATE ERROR WITH G4DRSRVD
MEMORY LEAK IN G4DRSRV DOING SELECT STATEMENT
ORA-28500 ON SELECT FOR UPDATE FROM TG4DRDA
INDEX STATS MAY NOT BE QUERIED CORRECTLY
SETTING DRDA_OPTIMIZE_QUERY=TRUE DOES NOT GENERATE TABLE STATS
LINKING ERROR FOR G4DRSRV WHEN USING REDHAT AS V3
IU GUIDE DIDN'T SAY HOW TO CONFIG DRDA_CONNECT_PARM IN LINUX
ENGLISH NAME OF "TAIWAN" DOESN'T SEEM TO BE APPROPRIATE
QA - 10G - CAN NOT SELECT FROM DATA DICTIONARY TABLES
COUNT(COLNAME) NOT TRANSLATED TO COUNT(*)
ORA-1001 WITHOUT THE DETAIL RETURNS FROM TG4DRDA
GARBAGES CONTAINED IN ORA-1 ERROR MESSAGE FROM TG4DRDA
ORA-07445 [_MEMCPY()+772] REPEATABLE READ ISOLATION LEVEL IS NOT WORKING
PSR 9.2.0.5.0 BREAKS CALL DB2 STORED PROCEDURE WITH DECIMAL PARM. SQLCODE -310
TG4DRDA LOOPS IF QRWTSRVR JOB KILLED WHILE GATEWAY IS IN GDJCRCV
The problems that are documented in the following section are specific to the Oracle Transparent Gateway for DRDA and are known to exist in this release of the product. These problems will be fixed in a future gateway release. If you have any questions or concerns about these problems, then contact Oracle Support Services.
A current list of problems is available online. Contact your local Oracle office for information about accessing this online information.
The following restrictions are known to exist for the products in this release. Restrictions are not scheduled to change in future releases. Also refer to Chapter 12, "Developing Applications", for information about limitations when developing your applications.
If you need to access DB2 alias objects on a remote DB2 system, then you must specify DRDA_DESCRIBE_TABLE=FALSE
initialization parameter in the gateway initialization file.
When copying data from an Oracle server to a DRDA Server, the Oracle SQL command INSERT
is not supported. The SQL*Plus COPY
command must be used. Refer to Chapter 11, "Using the Gateway", for more information.
The owner of DD basic tables and views is OTGDB2. This cannot be changed.
SUBSTR Function PostEProcessed
The SUBSTR
function can be used with the Oracle Server in ways that are not compatible with a DRDA Server database such as DB2/OS390. Therefore, the SUBSTR
function is postEprocessed. However, it is possible to enable the server to process it natively using the "Native Semantics" feature. Refer to Chapter 12, "Developing Applications", for details.
APPC VTAM Support (AVS) has problems mapping user IDs that are sent using lowercase letters or special characters. Contact your IBM representative for additional information about this problem.
Support for DRDA Server Character Sets
Support (for character sets that are used by a DRDA Server) is configurable through the gateway Codepage Map Facility. Refer to Appendix D, "National Language Support" for more information.
Refer to "DRDA Data Type to Oracle Data Type Conversion" for detailed information about data types.
SAVEPOINT Command Is Not Supported
Oracle Transparent Gateway for DRDA does not support the Oracle command SAVEPOINT
.
Null Values and Stored Procedures
Null values are not passed into, or returned from, calls to stored procedures through the gateway.
String Concatenation of Numbers
String concatenation of numbers is not permitted in DB2/400, DB2/UDB, and DB2/OS390. For example, 2||2
is not permitted.
GLOBAL_NAMES Initialization Parameter
If GLOBAL_NAMES is set to TRUE in the Oracle server INIT.ORA file, then to be able to connect to the gateway, you must specify the Heterogeneous Services (HS) initialization parameters, HS_DB_DOMAIN
and HS_DB_NAME
, in the Gateway Initialization Parameter file to match the value of the Oracle server DB_DOMAIN
parameter. Refer to Chapter 10, "Configuring the Gateway", for more information.
Binding the DRDA Package on DB2/UDB
The DRDA gateway package must be bound on the DRDA Server before the gateway can perform any SQL operations. Because of a DB2/UDB restriction, the ORACLE2PC
table must be created in the DB2/UDB database before the package can be bound. For details, refer to Chapter 10, "Configuring the Gateway".
In general, the following types of SQL expression forms do not work correctly with the gateway because of DRDA Server limitations:
date + number number + date date - number date1 - date2
DRDA Servers do not permit number addition or subtraction with date data types. The date and number addition and subtraction (date + number, number + date, date - number)
forms are sent through to the DRDA Server where they are rejected.
Also, DRDA Servers do not perform date subtraction consistently. When you subtract two dates (date1 - date2)
, differing interpretations of date subtraction in the DRDA Servers cause the results to vary by server.
Note:
Avoid date arithmetic expressions in all gateway SQL until date arithmetic problems are resolved.Because of a restriction of the DRDA architecture, rows with aggregate length exceeding 32 K bytes in DRDA representation cannot be stored or retrieved.
SQL*Plus cannot fetch LONG columns from the Oracle Transparent Gateway for DRDA.
Dictionary Views Are Not Provided for DB2/VM
Currently, the Oracle Transparent Gateway for DRDA provides SQL for defining DB2/OS390, DB2/400, and DB2/UDB views that emulate parts of the Oracle Database dictionary. These are required for certain applications and tools that query dictionary tables. View definitions for DB2/VM are not provided in this release.
Single Gateway Instance per DRDA Network Interface
When installing the gateway, a proper DRDA network interface must be chosen. Only one DRDA network interface may be chosen and installed per gateway instance. If the gateway product is reinstalled, and if a network interface different from the previous installation is chosen, then the new choice will overlay the current installation. Reconfiguration of the gateway's initialization parameters must occur at this point to ensure proper gateway operation. If you want to have both SNA and TCP/IP DRDA Network Interfaces installed, then you must install two separate gateway homes.
Stored Procedures and transaction integrity
IBM DB2 has introduced a feature called Commit on Return for stored procedures. This feature enables DB2 to perform an automatic commit after a stored procedure runs successfully. This feature is enabled when the procedure is created. To ensure data integrity, this feature is not supported by the Oracle Transparent Gateway for DRDA in a heterogeneous environment. When attempting to call a stored procedure which has this feature enabled, through the gateway, the gateway will return an error message ORA-28526 or PLS-00201 (identifier must be declared).
Note:
This restriction applies to DB2 for MVS or z/OS as of v5.1 and DB2/UDB as of v8.1.Stored Procedure and User Defined Function Support
The gateway supports processing of stored procedures and user defined functions through the following DRDA Servers:
DB2/OS390 V4.1 or later
DB2/400 V3.1 or later
DB2/UDB V7.1 or later
The DB2 ROWID column is not compatible with the Oracle ROWID column. Because the ROWID column is not supported, the following restrictions apply:
UPDATE
and DELETE
are not supported with the WHERE CURRENT OF CURSOR
clause. To update or delete a specific row through the gateway, a condition style WHERE
clause must be used. (Bug No. 205538)
When UPDATE
and DELETE
statements are used, in precompiler and PL/SQL programs, they rely internally on the Oracle ROWID
function.
Snapshots between Oracle servers and DB2 are not supported.
Snapshots rely internally on the Oracle ROWID
column.
Oracle bind variables become SQL parameter markers when used with the gateway. Therefore, the bind variables are subject to the same restrictions as SQL parameter markers.
For example, the following statements are not permitted:
WHERE :x IS NULL WHERE :x = :y
Oracle Transparent Gateway for DRDA does not support CONNECT BY
in SELECT
statements.
The following DRDA server releases do not support all forms of the COUNT
function, specifically COUNT(colname)
and COUNT(ALL colnames)
:
DB2 OS/390 V6,
DB2/VM V6 and V7
The default for all DRDA server platforms (except DB2/VM) is for all forms of COUNT
to be passed to the DRDA server as it is. For DB2/VM, the forms COUNT(colname)
and COUNT(ALL colname)
have been disabled by default and will be post-processed.
If the gateway is to be used with one of the above releases of DRDA servers, then it may be necessary to disable the default usage of this form of COUNT
.
Refer to Mapping the COUNT Function and Native Semantics for details on how to disable or enable compatibility for these forms of COUNT
function.