【问题标题】:Failed to successfully execute the ODCIIndexCreate routine. - Oracle Spatial Indexing未能成功执行 ODCIIndexCreate 例程。 - Oracle 空间索引
【发布时间】:2017-04-28 12:25:49
【问题描述】:

我有两个oracle空间表,分别是restaurantspersons。这两个表的结构是:

CREATE TABLE restaurants(
 id NUMBER PRIMARY KEY,
 name VARCHAR2(32),
 shape SDO_GEOMETRY
);

CREATE TABLE persons(
 p_id NUMBER PRIMARY KEY,
 p_name VARCHAR2(32),
 p_shape SDO_GEOMETRY
);

然后,在填充每个表之后,我想为每个表创建空间索引。 restaurants 表的以下指令执行成功。

CREATE INDEX restaurants_spatial_idx
ON restaurants(shape)
INDEXTYPE IS mdsys.spatial_index;

但是,当我为persons 表写信时:

CREATE INDEX persons_spatial_idx
ON persons(p_shape)
INDEXTYPE IS mdsys.spatial_index;

这在 sql developer 3.2.20 中给了我以下错误:

从命令中的第 340 行开始出错:

创建索引 people_spatial_idx

ON 人(p_shape)

INDEXTYPE 是 mdsys.spatial_index

命令行错误:340 列:14

错误报告: SQL 错误:ORA-00955:名称已被现有对象使用 00955. 00000 - “名称已被现有对象使用”

原因:
行动:

因为这是说我已经和索引命名为persons_spatial_idx,所以我删除了这个索引使用:DROP INDEX persons_spatial_idx; 然后当我尝试再次创建索引时,它产生了以下错误:

从命令中的第 340 行开始出错:

创建索引 people_spatial_idx ON 人(p_shape) INDEXTYPE 是 mdsys.spatial_index

命令行错误:340 列:14

错误报告:

SQL 错误:ORA-29855:执行 ODCIINDEXCREATE 例程时出错

ORA-13249:空间索引内部错误:[mdidxrbd]

ORA-13249:空间索引错误:索引构建失败

ORA-13249:空间索引错误:[mdrcrtxfergm]

ORA-13249:空间索引错误:[mdpridxtxfergm]

ORA-13200:空间索引存在内部错误 [ROWID:AAAFGnAABAAALHpAAA]。

ORA-13206: 创建空间索引时发生内部错误 []

ORA-13365: 层 SRID 与几何 SRID 不匹配

ORA-06512:在“MDSYS.SDO_INDEX_METHOD_10I”,第 10 行

  1. 00000 - “执行 ODCIINDEXCREATE 例程时出错”

*原因:未能成功执行 ODCIIndexCreate 例程。

*操作:检查例程是否已正确编码。

感谢阅读。

【问题讨论】:

  • 消息很清楚:它表示您已经有一个名为 PERSONS_SPATIAL_IDX 的对象。这有什么问题?
  • 是的,当我看到索引表时,我看到了 PERSONS_SPATIAL_IDX 的条目。然后我从索引表中删除了每个条目。然后,我再次运行它。但它给了我同样的错误。
  • “删除条目”是什么意思?你DROP 现有索引了吗?
  • 我用这个删除了DROP INDEX persons_spatial_idx;
  • 请编辑您的问题并在问题本身中包含与问题有关的所有信息。谢谢。

标签: oracle indexing spatial


【解决方案1】:

消息表明名称为PERSONS_SPATIAL_IDX 的对象已存在。 您可以使用以下查询来查找现有索引:

select *
from all_indexes
where index_name = 'PERSONS_SPATIAL_IDX'

【讨论】:

  • 是的,我看到它在那里。然后我把它丢给了DROP INDEX persons_spatial_idx;。然后我尝试重新运行该指令,但这次我得到了一个不同的错误:Error started at line 340 in command: CREATE INDEX people_spatial_idx ON people(p_shape) INDEXTYPE IS mdsys.spatial_index Error at Command Line:340 Column :14 错误报告:SQL 错误:ORA-29855:执行 ODCIINDEXCREATE 例程时发生错误..... ..... *原因:未能成功执行 ODCIIndexCreate 例程。 *操作:检查例程是否已正确编码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-14
  • 2019-10-31
  • 2018-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多