【发布时间】:2017-12-23 09:32:30
【问题描述】:
当尝试在任何 SDO_GEOMETRY 列上创建空间索引时(从多个用户尝试,包括 SYS),Oracle 失败并显示以下语句:
Error at line 1
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-00913: too many values
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
数据库已经很老了,过去创建空间索引是可行的(已经存在可用的)。我们使用的创建索引的示例:
CREATE TABLE TEST_SPATIAL_INDEX (FID NUMBER, GEOM SDO_GEOMETRY);
INSERT INTO USER_SDO_GEOM_METADATA
VALUES ( 'TEST_SPATIAL_INDEX', 'GEOM',
MDSYS.SDO_DIM_ARRAY(
MDSYS.SDO_DIM_ELEMENT('X', 601000, 619000, 0.1),
MDSYS.SDO_DIM_ELEMENT('Y', 6116000, 6142000, 0.1),
MDSYS.SDO_DIM_ELEMENT('Z', -200, 200, 0.1)),
NULL);
COMMIT;
create index TEST_SPATIAL_INDEX_1 on TEST_SPATIAL_INDEX(GEOM) indextype is mdsys.spatial_index;
运行语句:
select * from registry$history;
返回:
25-02-2015 11:54:06.449000
APPLY SERVER
11.2.0.3 0
Patchset 11.2.0.2.0
PSU
我们在一台服务器下有两个实例 (SID)(两者都使用相同的 ORACLE HOME),而另一个可以工作。我们在 NLS 参数或 Oracle 版本等方面找不到任何明显的差异,这会使它们与众不同。有什么想法可能是错的吗?
【问题讨论】: