实际上只有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
1<func>
2failed, rc=<rc>, errno=<errno>
3Solution:
4There is a configuration or operational problem at the
5Gateway or the remote host. The <rc> and <errno>
6combinations are platform specific.
7References:
8===========
9The most common causes for each platform are listed in the
10platform specific Installation and Configuration Guides (ICG).
115\. RC=-9101 when running TG4DRDA g4drutl BIND utility
12Problem: GDBERR: Following error occurred during BIND
13processing. RC=-9101: TG4DRDA v3.1.0.1.0 grc=0,
14drc=-30081 (839C,0001), errp= GDJICRD
15errmc=Initialize_Conversation(CMINIT) 24 0
16or similar errors produced during BIND processing.
17Solution:
18These errors generally indicate a Gateway or network
19configuration problem, or a physical network problem.
20There are many possible causes of the RC=-9101 error, some
21things to check are:
22a) That there are no leading or trailing spaces on any of
23the gateway configuration file entries.
24b) That ORA_NLS is configured in the gateway .gtwboot
25file, and that the value is an explicit full pathname.
26substitution variables are not allowed or interpreted.
27c) That the package name is not longer than the package
28name limit imposed by the remote database.
29d) That the decimal separator configured in the Gateway
30matches that used by the remote database.
31e) That DRDA_DISABLE_CALL=TRUE if the remote database is
32an AS/400.
33References:
34===========
35BUG:452199, BUG:474194, BUG:517156
36Some of the drc codes are documented in the gateway IUG.
37Some of the errmc codes are the same for the Procedural Gateway as for APPC.
38The PG4APPC ICG documents the more common codes for each platform.
39All of the errmc primary return codes can be found in the IBM CPI-C Reference.
40The errmc secondary codes are platform specific and not documented.
416\. ORA-01002 when using any Gateway
42Problem: ORA-01002 Fetch out of sequence received when you
43try to execute code similar to:
44DECLARE cursor for select from table@gateway
45OPEN cursor
46loop
47FETCH cursor
48do anything
49COMMIT
50endloop
51Solution:
52While this code will execute against an Oracle database,
53it will not work with any Oracle Transparent Gateway.
54The Gateways implement the ANSI behavior for cursors which
55means the COMMIT closes the cursor. To make the code work
56you must move the COMMIT outside the loop.
577\. Configuration of TG4Sybase
58Problem: How do you configure the Oracle Transparent Gateway
59for Sybase?
60Solution:
61The Installation and Configuration Guide explains this
62in detail. It also includes useful troubleshooting
63information for the most common configuration errors such as:
64ORA-12203 and ORA-12500. References:
65===========
66NOTE:47666.1 Describes installation and configuration of
67version 4.0 on Sun Solaris. 8. ORA-12500 with TG4Sybase
68Problem: ORA-12500 TNS:listener failed to start a dedicated
69server process
70Solution:
71This can be caused by Gateway or SQL*Net configuration errors.
72References:
73===========
74IUG pages 10 through 6 and pages 10 through 9
759\. Configuration of TG4Informix
76Problem:
77How do you configure the Oracle Transparent Gateway
78for Informix?
79Solution:
80The Installation and Configuration Guide explains this
81very well and includes useful troubleshooting information
82for the most common configuration errors, such as ORA-12203
83and ORA-12500.
84References:
85===========
86NOTE:47414.1
87Describes installation and configuration of
88version 4.0. It also describes some of the common
89problems and the documentation required by the Support
90Center to diagnose problems. 10. ORA-12500 with TG4Informix
91Problem: ORA-12500 TNS:listener failed to start a dedicated
92server process
93Solution:
94This can be caused by gateway or SQL*Net configuration errors.
95References:
96===========
97IUG pages 9 through 13 NOTE:47414.1
98Describes installation and configuration of
99version 4.0. It also describes some of the common
100problems and the documentation required by the Support
101Center to diagnose problems.
10211\. Configuration of TG4MSQL
103Problem: How do you configure the Oracle Transparent Gateway
104for Microsoft SQL Server?
105Solution: See NOTE:44021.1 for detailed instructions.
10612\. SQL0969 and ORA-12699 using Access Manager for AS/400
107Problem: First use of STRSQL in a single AS/400 signon
108session with Access Manager works fine.
109Second use of STRSQL appears to work fine but
110there are errors in the joblog.
111Third use of STRSQL fails with SQL0969 Error
112occurred while passing request to ard program.
113Solution:
114This is a problem with commitment control in Access Manager
115versions 1.2 and 1.3. The problem only occurs when using
116Access Manager with STRSQL, it does not happen with compiled
117applications.
118There is a fix available, known as version 1.3.0.3.0, and it
119is included in version 1.3.1
120References:
121===========
122BUG:515996
12313\. Using the SQL*PLus COPY command with Transparent Gateways
124Problem: To copy data from Oracle to a remote database
125through a Transparent Gateway you cannot insert
126into remote@gateway select * from local;
127If you try this you'll receive an ORA-02025 error.
128Instead, you have to use the SQL*Plus COPY command,
129but the syntax required by the Gateway is not the
130standard syntax for the COPY command.
131Solution: The syntax to use is:
132COPY FROM username/password@alias -
133INSERT remote@dblink - USING SELECT * FROM local
134Where . alias is an entry in your TNSNAMES.ORA for the
135local Oracle database
136. remote is the table in the foreign database
137. dblink is a database link to the foreign database
138through the gateway . local contains the data to be copied
139Note that the '-' (minus sign) is needed at the end of each line as
140a continuation character.</errno></rc></errno></rc></func>