Question: I tried to use external C
procedure from the database and I aam getting the ORA-28575 error at
run time:
28575. 00000 - "unable to open RPC connection to external procedure
agent"
How to I fox the ORA-28575 error?.
Answer: First, if the C program contains
Oracle SQL, you must use the
Pro*C
precompiler as a compile step:
First, use the
oerr utility to look-up the 28575. 00000 - "unable to
open RPC connection to external procedure agent" error:
ORA-28575: unable to open RPC
connection to external procedure agent
Cause: Initialization of a
network connection to the extproc agent did not succeed.
This
problem can be caused by network problems, incorrect listener
configuration, or incorrect transfer code.
Action: Check listener
configuration in LISTENER.ORA and TNSNAMES.ORA, or check Oracle
Names Server.
Start by ensuring that your EXTPROC is present in tnsnames.ora
and listener.ora:
Here are how to add extproc entries to tnsnames.ora and
listener.ora:
TNSNAMES.ORA EXTPROC:
Add this line in $ORACLE_HOME/network/admin/tnsnames.ora
extproc_connection_data
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=your_key))
(CONNECT_DATA=(SID=extproc)))
LISTENER.ORA EXTPROC
Add/edit this line in $ORACLE_HOME/network/admin/listener.ora
LISTENER =
(ADDRESS_LIST
(ADDRESS=(PROTOCOL=ipc)(KEY=yourkey)))
SID_LIST_LISTENER = (SID_LIST
(SID_DESC=(SID_NAME=mydb)(ORACLE_HOME=/myhome/oracle))
(SID_DESC=(SID_NAME=extproc)(ORACLE_HOME=/myhome/orac
le)
(PROGRAM=extproc)))
After verifying the EXTPROC entries, tart with these obvious
diagnostic steps for the ORA-28575 error:
1 - Ensure that your extproc entry exists in your
tnsnames.ora and listener.ora.
2 - Then check the Oracle doc "Network
Configuration Guide" for your OS platform for details on creating an
entry for extproc.
3 - If you add extproc to your listener.ora,
bounce the listener
If that does not fix your ORA-28575 error, try these
steps to troubleshoot your network connectivity:
1 - try changing your IP Address to your Host
name
2 - See if the listener is running with "lsntctl
stat"
3 - Check with "ping" using the IP address ("ping
198.11.34.43" )
4 - Check with "ping" using DNS name (e.g.
"tnsping uranus")
5 - Try telnet to the IP on port 1521 (telnet
1.2.3.4 1521)
6 - Check with "tnsping" using TNS service name (EXTPROC_CONNECTION_DATA1.world)
7 - Invoke SQL*Plus from the OS command line
"sqlplus fred@flintstone". If this fails, check to ensure that your
listener is the flintstone service defined.
8 - Sign-on to SQL*Plus and connect with the TNS
name ("connect
fred/flintstome@service_name"
9 - Within SQL*Plus, try a select from
table@remote_db_link
******************************************************
|
|
Get the Complete
Oracle SQL Tuning Information
The landmark book
"Advanced Oracle
SQL Tuning The Definitive Reference" is
filled with valuable information on Oracle SQL Tuning.
This book includes scripts and tools to hypercharge Oracle 11g
performance and you can
buy it
for 30% off directly from the publisher.
|