ERROR
When creating an ST_Geometry spatial index, sde.st_spatial_index, the following Oracle error may display: "ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine".
The following example demonstrates the CREATE INDEX statement and the Oracle error when creating a st_spatial_index on the BUILDINGS table's shape attribute.
Code:
SQL> CREATE INDEX shape_idx ON buildings (shape) INDEXTYPE IS
2 sde.st_spatial_index PARAMETERS ('ST_GRIDS=500 ST_SRID=38
3 ST_COMMIT_ROWS=10000 PCTFREE 0 INITRANS 4');
CREATE INDEX shape_idx ON buildings (shape) INDEXTYPE IS
*
ERROR at line 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at "SDE.SPX_UTIL", line 182
ORA-06512: at "SDE.SPX_UTIL", line 680
ORA-06512: at "SDE.ST_DOMAIN_METHODS", line 925
A carriage return is included in the parameters clause, which is passed to the sde.spx_util procedure used for parsing the parameters string.
The procedure's role is to parse the parameters clause and extract each token as an argument for the creation of the st_spatial_index.
When carriage returns are present, this additional character causes the parsing routines to fail while converting a string to a number.
The carriage returns are created each time a new line is inserted in the parameters clause.
Code:
SQL> CREATE INDEX shape_idx ON buildings (shape) INDEXTYPE IS
2 sde.st_spatial_index PARAMETERS ('ST_GRIDS=500 ST_SRID=38
3 ST_COMMIT_ROWS=10000 PCTFREE 0 INITRANS 4');
Code:
SQL> CREATE INDEX shape_idx ON buildings (shape) INDEXTYPE IS
2 sde.st_spatial_index PARAMETERS ('ST_GRIDS=500 ST_SRID=38 ST_COMMIT_ROWS=10000 PCTFREE 0 INITRANS 4');
Index created.
Article ID: 000009830
Get help from ArcGIS experts
Download the Esri Support App