AnsweredAssumed Answered

ArcSde could not perform intersection

Question asked by geonetadmin on Oct 1, 2012
Original User: camilopenuelaun

I try to perform an intersection between a polygon layer and a point by executing this query:

select ci.ID_LAYER from LAYER_INTERSETCION ci where sde.st_intersects (ci.SHAPE, sde.st_geometry('POINT ( ' || TO_CHAR(-74.05132048299964,'99999D99999','NLS_NUMERIC_CHARACTERS = ''.,'' ') || ' ' || TO_CHAR(4.6735023130004265,'99999D99999','NLS_NUMERIC_CHARACTERS = ''.,'' ') || ' )', 2)) = 1

The database server is Oracle 11g2 64 bits, running under Ms Windows 7 professional, ArcSde 10, I'm sure this query is right because I executed it in another server with the same oracle and arcsde (Ms Windows Server 2008 R2 64 bits), and it works fine.

The returned message is:

Error SQL: ORA-29902: error al ejecutar la rutina ODCIIndexStart()
ORA-01405: el valor de la columna recuperada es NULL
ORA-06512: en "SDE.ST_GEOMETRY_SHAPELIB_PKG", línea 943
ORA-06512: en "SDE.SPX_UTIL", línea 2925
ORA-06512: en "SDE.SPX_UTIL", línea 3190
ORA-06512: en "SDE.ST_DOMAIN_METHODS", línea 296
29902. 00000 -  "error in executing ODCIIndexStart() routine"
*Cause:    The execution of ODCIIndexStart routine caused an error.
*Action:   Examine the error messages produced by the indextype code and
           take appropriate action.

I tried to solve this by installing the arcsde service pack 5, initially, after the installation, the arcsde service couldn't start, the message was:

Error starting esri_sde service(0)
Could not start ArcSDE -- Check Network, $SDEHOME disk, DBMS settings and dbinit.sde

I uninstalled and reinstalled arcsde and the service pack several times, finally the service could start, however the problem persists.

Edit: I fixed it by uninstalling and making a clean install of oracle, arcsde and its service pack.