I'm upgrading an environment from ArcGIS Enterprise 10.5 with Oracle 11.2.0.4 to ArcGIS Enteprise 10.8 with Oracle 19c (19.3.0.0) (SO: Windows) and I'm getting a problem when using the SHAPELIB library. I followed the steps to install it as the documentation below:
Configure the extproc to access ST_Geometry in Oracle—ArcMap | Documentation
Resuming the steps I did:
But when I try to use the library like a simple query like this:
select sde.st_astext(sde.st_geometry('POINT (10 10)',0)) from dual;
I get this 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.
Does anyone knows how to solve this problem?
Solved! Go to Solution.
Oracle 19c has a Bug when the database was installed using a virtual user. https://docs.oracle.com/cd/F19136_01/rnrdm/database-release-notes.pdf
Bug 29426320 ORA-28575 "Unable to open RPC connection to external procedure agent" error occurs when running external procedures or Oracle Database Extensions for .NET procedures with a virtual user account. Workaround#1 Restart the Oracle listener service and the OracleClrAgent service using a non-virtual user account.
Workaround#2 Reinstall Oracle Database 19c and select a non-virtual user account.
Workaround#3 If you require a virtual user account, then set sqlnet.authentication_services to NONE in SQLNET.ORA.
Therefore the above mentioned tipp by @Serguei Sokolov about setting the sqlnet.authentication_services = (NONE) helps and solved the issue for us.
When you ran the update library command who were you connected as, i.e. SDE, SYS, etc.?
What does this SQL return?
SELECT file_spec FROM user_libraries WHERE library_name = 'ST_SHAPELIB';
Hi, George!
I was connected as SDE when I ran the create library.
Connected as SDE the query you asked returns the DLL path correctly.
Did you recompile the package?
ALTER PACKAGE sde.st_geometry_shapelib_pkg COMPILE REUSE SETTINGS;
Yes, Kathryn.. the ESRI documentation says it`s necessary when changing... But I'm trying it by so many different ways that now, every time I create the library I use this command to recompile and then I reconnect to test if it works 😕
Did you by chance make any changes to the listener or TNS files for this?
Yes, but only to test configuring the listener to spawn extproc, reverting after failure.
I run into the exact same issue/error. I was configuring Windows 64bit + ArcGIS Enterprise 10.8.1 + Oracle 19.3 Standard (all supported by the product versions). I have configured extproc.ora file to point to the ST_Geometry library that was installed with the ArcGIS Server. I fixed the issue by updating both tnsnames.ora and listener.ora files . I replaced "localhost" references (HOST=localhost) with the fully qualified name of the server. I hope this helps
Thank you for your reply.
My DBA consultant told me that the configuration files you mentioned are already with FQN, and even if not, he tells me that oracle are using IPC protocol not a network one, so this configuration isn't relevant in our case...
At this point, I would recommend working Esri technical support on this issue. They have Geodata specialist who can dig in a little deeper.