实际上只有13个!
Oracle TRANSPARENT GATEWAYS
---------------------------
TOP 20 ISSUES FOR ALL GATEWAYS
------------------------------
CONTENTS:
=========
1. ORA-12203 when Accessing TG4DB2/400
2. ORA-12500 when accessing TG4DB2/400
3. ORA-03114 when accessing TG4DB2/400
4. PGA-29010 when using PG4APPC
5. RC=-9101 when running TG4DRDA g4drutl BIND Utility
6. ORA-01002 when using ANY Gateway
7. Configuration of TG4Sybase
8. ORA-12500 when using TG4Sybase
9. Configuration of TG4Informix
10. ORA-12500 when using TG4Informix
11. Configuration of TG4MSQL
12. SQL0969 and ORA-12699 when using Access Manager for AS/400
13. Using the SQL*Plus COPY command with Transparent Gateways
PROBLEMS & SOLUTIONS:
=====================
1. ORA-12203 when accessing TG4DB2/400
Problem:
ORA-12203 Unable to connect to destination
Solution:
The actual error message depends on the exact version of
SQL*Net. In approximately 100% of cases, the cause is a
TCP/IP configuration error on the AS/400. The
configuration error will not stop telnet, FTP, ping, or
any other TCP/IP applications from working, but it will
stop the Gateway from working.
You MUST have a fully qualified host name for the AS/400 in
it's host names table.
References:
===========
Installation and User's Guide (IUG); pages 5 through 15
2. ORA-12500 when accessing TG4DB2/400
Problem:
TNS:listener failed to start a dedicated server process
Solution:
This usually results from an authorization or device
configuration problem. It is also more likely to occur
where a Gateway has been running sUCcessfully for a while
and something in OS/400 has been changed.
Stop and restart the Gateway subsystem. Look for error
messages in the QSYSOPR message queue and the STARTUP job
log about devices called ORACLEL and ORACLES, where ORACLE
is the Gateway subsystem name. If there are no error
messages, then try a select through the Gateway and look
in the LISTENER job log for error messages.
The error
messages should identify what is wrong and indicate what
is required to fix the problem.
In some circumstances, there can be problems with the IBM
CPI-C code in the QSYS2 library. This stops the LISTENER
from talking to the server jobs and can be recognized by
the LISTENER and/or server jobs sticking in CPCW state.
3. ORA-03114 when accessing TG4DB2/400
Problem: ORA-03114 not connected to Oracle, received when
you try to connect to the gateway.
Solution:
You cannot connect directly to TG4DB2/400, nor any other
Oracle Transparent Gateway. Instead, you must define a
database link, and access data in the remote database
through the database link.
For example, if you have an alias called as400 in your
tnsnames.ora file then you cannot perform:
sqlplus user/passWord@as400
Instead, you should create database link as400 connect to
user identified by password using 'as400' as follows:
select * from library.file@as400;
References:
===========
IUG pages 6 through 13
4. PGA-29010 when using PG4APPC
Problem: PGA-20910 communication error: CPI-C <func>
failed, rc=<rc>, errno=<errno>
Solution:
There is a configuration or operational problem at the
Gateway or the remote host. The <rc> and <errno>
combinations are platform specific.
References:
===========
The most common causes for each platform are listed in the
platform specific Installation and Configuration Guides (ICG).
5. RC=-9101 when running TG4DRDA g4drutl BIND utility
Problem: GDBERR: Following error occurred during BIND
processing. RC=-9101: TG4DRDA v3.1.0.1.0 grc=0,
drc=-30081 (839C,0001), errp= GDJICRD
errmc=Initialize_Conversation(CMINIT) 24 0
or similar errors produced during BIND processing.
Solution:
These errors generally indicate a Gateway or network
configuration problem, or a physical network problem.
There are many possible causes of the RC=-9101 error, some
things to check are:
a) That there are no leading or trailing spaces on any of
the gateway configuration file entries.
b) That ORA_NLS is configured in the gateway .gtwboot
file, and that the value is an eXPlicit full pathname.
substitution variables are not allowed or interpreted.
c) That the package name is not longer than the package
name limit imposed by the remote database.
d) That the decimal separator configured in the Gateway
matches that used by the remote database.
e) That DRDA_DISABLE_CALL=TRUE if the remote database is
an AS/400.
References:
===========
BUG:452199, BUG:474194, BUG:517156
Some of the drc codes are documented in the gateway IUG.
Some of the errmc codes are the same for the Procedural Gateway as for APPC.
The PG4APPC ICG documents the more common codes for each platform.
All of the errmc primary return codes can be found in the IBM CPI-C Reference.
The errmc secondary codes are platform specific and not documented.
6. ORA-01002 when using any Gateway
Problem: ORA-01002 Fetch out of sequence received when you
try to execute code similar to:
DECLARE cursor for select from table@gateway
OPEN cursor
loop
FETCH cursor
do anything
COMMIT
endloop
Solution:
While this code will execute against an Oracle database,
it will not work with any Oracle Transparent Gateway.
The Gateways implement the ANSI behavior for cursors which
means the COMMIT closes the cursor. To make the code work
you must move the COMMIT outside the loop.
7. Configuration of TG4Sybase
Problem: How do you configure the Oracle Transparent Gateway
for Sybase?
Solution:
The Installation and Configuration Guide explains this
in detail. It also includes useful troubleshooting
information for the most common configuration errors such as:
ORA-12203 and ORA-12500. References:
===========
NOTE:47666.1 Describes installation and configuration of
version 4.0 on Sun Solaris. 8. ORA-12500 with TG4Sybase
Problem: ORA-12500 TNS:listener failed to start a dedicated
server process
Solution:
This can be caused by Gateway or SQL*Net configuration errors.
References:
===========
IUG pages 10 through 6 and pages 10 through 9
9. Configuration of TG4Informix
Problem:
How do you configure the Oracle Transparent Gateway
for Informix?
Solution:
The Installation and Configuration Guide explains this
very well and includes useful troubleshooting information
for the most common configuration errors, such as ORA-12203
and ORA-12500.
References:
===========
NOTE:47414.1
Describes installation and configuration of
version 4.0. It also describes some of the common
problems and the documentation required by the Support
Center to diagnose problems. 10. ORA-12500 with TG4Informix
Problem: ORA-12500 TNS:listener failed to start a dedicated
server process
Solution:
This can be caused by gateway or SQL*Net configuration errors.
References:
===========
IUG pages 9 through 13 NOTE:47414.1
Describes installation and configuration of
version 4.0. It also describes some of the common
problems and the documentation required by the Support
Center to diagnose problems.
11. Configuration of TG4MSQL
Problem: How do you configure the Oracle Transparent Gateway
for Microsoft SQL Server?
Solution: See NOTE:44021.1 for detailed instructions.
12. SQL0969 and ORA-12699 using Access Manager for AS/400
Problem: First use of STRSQL in a single AS/400 signon
session with Access Manager works fine.
Second use of STRSQL appears to work fine but
there are errors in the joblog.
Third use of STRSQL fails with SQL0969 Error
occurred while passing request to ard program.
Solution:
This is a problem with commitment control in Access Manager
versions 1.2 and 1.3. The problem only occurs when using
Access Manager with STRSQL, it does not happen with compiled
applications.
There is a fix available, known as version 1.3.0.3.0, and it
is included in version 1.3.1
References:
===========
BUG:515996
13. Using the SQL*PLus COPY command with Transparent Gateways
Problem: To copy data from Oracle to a remote database
through a Transparent Gateway you cannot insert
into remote@gateway select * from local;
If you try this you'll receive an ORA-02025 error.
Instead, you have to use the SQL*Plus COPY command,
but the syntax required by the Gateway is not the
standard syntax for the COPY command.
Solution: The syntax to use is:
COPY FROM username/password@alias -
INSERT remote@dblink - USING SELECT * FROM local
Where . alias is an entry in your TNSNAMES.ORA for the
local Oracle database
. remote is the table in the foreign database
. dblink is a database link to the foreign database
through the gateway . local contains the data to be copied
Note that the '-' (minus sign) is needed at the end of each line as
a continuation character.