External Procedures - Troubleshooting ORA-28575 Errors
(Doc ID 70638.1)
Last updated on JANUARY 29, 2022
Applies to:Oracle Database Cloud Schema Service - Version N/A and later
Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine) - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Information in this document applies to any platform.
This article provides brief overview of the Oracle external procedure architecture and provides a number of suggestions for troubleshooting the "ORA-28575 unable to open RPC connection to external procedure agent" error. Although the emphasis of this bulletin is on the UNIX environment, many of the concepts also apply to windows environments as well.
This article does not address all aspects of the external procedures. It just provides enough background information to troubleshooting the ORA-28575 error.
A list of the essential components for executing an external procedure is included below, along with a brief description of the role of each component.
- From 11g release and above, the Oracle database spawns the extproc agent by default when an application calls the external procedure. Prior to 11gR1, the Oracle listener needs to be configured for spawning the extproc agent.
- Stores information about the shared library (.so/.sl in the case of UNIX) or dynamic link library and the PL/SQL call specification, to be passed to the extproc agent.
- The Oracle listener can also be configured to spawn the extproc agent instead of database. This is done by editing the listener.ora and tnsnames.ora.
- The Oracle listener configuration is needed when using:
- The AGENT or AGENT IN clause with the PL/SQL library or PL/SQL call specification.
- When Multi-Threaded extproc (MTA) is configured.
Otherwise default configuration is recommended.
- Oracle has provided an agent "extproc" which loads the shared library (.so/.sl in the case of UNIX) or dynamic link library (.dll in the case of Windows) and then runs the routine published through the PL/SQL call specification, passing any parameters.
Shared or Dynamic link library (In case of Windows):
- Contains the user-written function that implements the desired functionality.
External procedure call specification:
- Contains information about what shared libary or dynamic link library to load and the name of the routine in the library to be run along with parameters information.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document