We have an ARCSDE 10.0 geodatabase in Oracle 11.2, using both sdo_geometry and st_geometry (in different tables).
The extproc listener is configured and the st_geometry functions work correctly - for example:
SDEPROD> select sde.st_astext(shape) from cgdweb.crashes where rownum < 2;
SDE.ST_ASTEXT(SHAPE)
----------------------------------------------------------------------------
POINT ( 694076.36722689 6093035.09159664)
However the xml modules do not work. Querying the gdb_items_vw view where xml blobs are mapped to clobs with the sde.sdexmltotext operator fails as shown below:
SDEPROD> select definition from gdb_items_vw
2 where definition is not null;
ERROR:
ORA-06521: PL/SQL: Error mapping function
ORA-06522: ld.so.1: extproc: fatal: SDEXML_To_Text: can't find symbol
ORA-06512: at "SDE.ST_GEOMETRY_SHAPELIB_PKG", line 1339
ORA-06512: at "SDE.ST_GEOM_UTIL", line 760
Not all modules in st_geom_util fail, for example:
declare
mysrid number;
begin
sde.st_geom_util.validate_geom_srid
(owner => 'cgdweb',
table_name => 'crashes',
column_name => 'shape',
srid => mysrid);
dbms_output.put_line(mysrid);
end;
/
30
but the modules which seem to make external callouts do fail, including st_geom_util.sdexml_to_text_f as above, and st_geom_util.checklibraryversion and st_geom_util.getlibraryversion:
SDEPROD> select st_geom_util.getlibraryversion from dual;
select st_geom_util.getlibraryversion from dual
*
ERROR at line 1:
ORA-06521: PL/SQL: Error mapping function
ORA-06522: ld.so.1: extproc: fatal: getVersion: can't find symbol
ORA-06512: at "SDE.ST_GEOM_UTIL", line 646
ORA-06512: at "SDE.ST_GEOM_UTIL", line 682
Our library has cksum:
$ cksum /app/oracle/db/11.2.0/lib/libst_shapelib.so
3989627067 167888 /app/oracle/db/11.2.0/lib/libst_shapelib.so
Might this be a faulty library? It seems to have definitions of some functions and procedures but not others.