Problem: Unable to create spatial indexes after upgrading to Oracle 12c
Adding a spatial index through the ArcCatalog GUI returns the following error message:
Error: Failed to add spatial index. Underlying DBMS error.
If using the Add Spatial Index geoprocessing tool, these errors are returned instead:
Error: ERROR 000622: Failed to execute (AddSpatialIndex). Parameters are not valid.
Error: ERROR 000732: Input Features: does not exist or is not supported.
This issue occurs if the SDE user does not have the INHERIT PRIVILEGES privilege required in Oracle 12c. During the import, there are invalid packages, and spatial indexes are not created on the data.
Solution or Workaround
Grant the SDE user the INHERIT PRIVILEGES privilege, to allow the invoker and its privileges (SYSTEM or SYS running the import) to pass through to be used when creating SDE objects. In the import case, this is the SDE.ST_SPATIAL_INDEX index type.
- Run the following command if the SDE user does not exist yet:
GRANT INHERIT PRIVILEGES ON USER "<USER>" TO PUBLIC;
- Run the following if the SDE user exists and has other necessary permissions:
GRANT INHERIT PRIVILEGES ON USER "<USER>" TO "SDE" OR GRANT INHERIT ANY PRIVILEGES TO "SDE";
Note: "<USER>" runs the import. For example: SYS or SYSTEM. Restore the database once permission is granted. Import the SDE schema first, followed by the rest of the schemas.