Trouble Loading ST_GEOMETRY Libraries to Oracle Database Server

12-14-2011 11:44 AM
New Contributor II

I'm setting up a new SDE configuration with a Linux SDE 10 application server and separate Linux Oracle database server.

I followed the directions of moving the library from the SDE installation on the SDE server to the database server. The files were put in the /lib directory of the ORACLE_HOME (Have also tried the ORACLE_HOME directory and the ORACLE_HOME/bin directory).

I ran the CREATE OR REPLACE LIBRARY command in SQL seemingly successfully, and when running 'SELECT library_name, file_spec FROM user_libraries;', it returns the correct path of those libraries on the database server.

When I try to run the pre-requisite check during the SDE Setup, I get the following error:

Checking ST_GEOMETRY configuration setup ...
Current instance is not correctly setup for ST_GEOMETRY configuration.
Unable to determine current version of ST_SHAPELIB
The latest ST_GEOMETRY and dependent libraries need to be copied to the correct software location.

So as I mentioned above I have tried moving the library to different directories in the ORACLE_HOME, played around with file system permissions for the file, etc. with no luck.

I should also note that we tried to upgrade another from a 9.3.1 database using binary storage to 10 using ST_GEOMETRY, and had the same problems.

Am I missing something obvious here? Has anyone had any similar problems when trying to install these libraries?

Thanks in advance...
4 Replies
New Contributor III
Although you placed the .so file in the Oracle Home bin directory, I believe you still have to set up the ExtProc in the listener and tnsnames files.

Check out this link and see if it helps:

That being said, you may not want to put that .so file in the Oracle Home directory.  This seems the same as creating tables in the SYS or SDE schema.

Esri Esteemed Contributor
I'm with Travis on this.  Even if you don't want to install "application software" on the database
machine, you really ought to have a full install of the database extension package on the database
server (if nothing else, you can be sure to patch the DLLs with a single installer, rather than having
to keep track of what was been copied where).  

The proper place for DLLs on Linux is in a "lib" directory.  You should use the ldd utility to confirm
that the can resolve all dependencies (if your Oracle is 64-bt, your ArcSDE lib
must also be 64-bit, or even though it's in the path, it won't be resolved).

If you follow the Linux listener configuration instructions, you should get the listener enabled for
ST_GEOMETRY, but that's only *most* of the battle -- You also need to configure the SQL*Net
on the ArcGIS client (with the same or higher Oracle rev as  the server) so that ArcGIS can find
the ST_GEOMETRY listener extproc.

Even if your database does have ST_GEOMETRY (which doesn't apply to your situation), it's not
strictly necessary for the ST_GEOMETRY listener to be set up correctly for ArcGIS to interact with
the geometries.

- V
New Contributor
Because of a policy not to install "application software" on the database (Oracle 11g) machine, I am constrained to do a remote install of ArcSDE 10 from Windows (Server 2008) to Linux (Suse Enterprise - 64bit).  We would like to use ST_Geometry.  The ArcSDE 10 Oracle 11g (32 bit) sp 1 "installation" has been done on the Windows machine and the TNS Names file has been configured and I have confirmed that it connects to the Oracle 11g instance on the Linux machine.  It also includes the "extproc" reference that will be needed to access the ST_Geometry library.  Execute privileges have been granted to "public" on dbms_pipe, dbms_lock,dbms_utility,dbms_sql, and utl_raw and the "sde" user has been created with the required permissions.  And, finally, I have my ArcSDE license file ready to go.  In theory, I should be able to do the remote install.  Has anyone tried this? 

My questions are:  Does the (extracted from the Linux installation media) need to be on the Linux machine before the post_installation is run or can it be done after post_installation?  And, what does the setup_st_geometry.exe in the sdehome bin directory do? 

Any advise, tips, or warnings would be much appreciated. 

0 Kudos
Esri Esteemed Contributor
ArcSDE isn't just "application software" -- it's also a database application extension package.
If you don't configure and deploy the application server, it's *only* a database extension.

- V