【问题标题】:Errors in creating spatial index on SDO_GEOMETRY column in oracle 11g在 oracle 11g 的 SDO_GEOMETRY 列上创建空间索引时出错
【发布时间】:2017-09-28 11:49:57
【问题描述】:

我正在使用 Oracle 11g (Oracle 数据库 11g 企业版版本 11.1.0.7.0 - 64 位生产),并且我有一个具有 SDO_GEOMETRY 类型列的表。我想在此列上创建一个空间索引 (NEW_SHAPE)。我的查询如下:

CREATE INDEX GIS_GEOM_SRID3857_SPTIDX ON GIS_GEOM_SRID3857_LOOKUP ( NEW_SHAPE )
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
/

我收到以下错误:

Error starting at line : 23 in command -
CREATE INDEX GIS_GEOM_SRID3857_SPTIDX ON GIS_GEOM_SRID3857_LOOKUP ( NEW_SHAPE )
INDEXTYPE IS MDSYS.SPATIAL_INDEX
Error report -
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13249: SRID 3857 does not exist in MDSYS.CS_SRS table
ORA-29400: data cartridge error
Error - OCI_NODATA 
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
29855. 00000 -  "error occurred in the execution of ODCIINDEXCREATE routine"
*Cause:    Failed to successfully execute the ODCIIndexCreate routine.
*Action:   Check to see if the routine has been coded correctly.

我已经搜索了这些错误的分配,但没有发现任何有用的信息。如果您能指出正确的方向并帮助确定我面临的问题,我将不胜感激。这将节省我分配的时间。非常感谢您的帮助。

【问题讨论】:

  • 存在一个已知问题:“从 11.1.0.7 升级后,11.2.0.3 中缺少 SRID 3857。”
  • 我还没有升级。我使用的版本是:“Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production”

标签: oracle oracle11g spatial-index oracle-spatial


【解决方案1】:

首先,您的数据必须实际上为 SRID 3857 并且 sdo_geom.srid 必须为表的所有行设置为 3857,以便将来进行处理。

现在,由于出现错误,因此在 user_sdo_geom_metadata 中将 srid 设置为 3857。所以问题是:数据库的 SRID 中是否存在 SRID 3857
如果没有,您必须插入它,删除空间索引(通常会创建失败的索引)并重新创建它。

如果您在上述任何方面需要任何帮助,请告诉我...

【讨论】:

    猜你喜欢
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 2016-07-18
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多