English

Bug: Unable to create a partitioned local st_spatial_index in parallel in Oracle

Description

Creating a partitioned local st_spatial_index in parallel fails with the following Oracle error:

"ORA-12801: error signaled in parallel query server P000"

and Oracle error:

"ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine".

The following is an example on how to create a partitioned local st_spatial_index index with the parallel argument set to a value of 2:

Code:
CREATE INDEX st_shape_index
ON parcels (shape)
INDEXTYPE IS sde.st_spatial_index
LOCAL (PARTITION quarter1 PARAMETERS('st_srid=1 st_grids=280 TABLESPACE q1_idx'),
PARTITION quarter2 PARAMETERS('st_srid=1 st_grids=280 TABLESPACE q2_idx'),
PARTITION quarter3 PARAMETERS('st_srid=1 st_grids=280 TABLESPACE q3_idx'),
PARTITION quarter4 PARAMETERS('st_srid=1 st_grids=280 TABLESPACE q4_idx'),
PARTITION qunknown PARAMETERS('st_srid=1 st_grids=280 TABLESPACE qunknown_idx'))
PARALLEL 2

Cause

An internal error in the sde.spx_util package (a unique constraint violation), during the creation of the partitioned local st_spatial_index, prevents the indexes from being created in parallel.

Workaround

Do not create the partitioned local st_spatial_index in parallel. Remove the parallel clause from the CREATE INDEX statement.