Oracle CREATE spatial INDEX 失败并显示 "too many values"

Oracle CREATE spatial INDEX fails with "too many values"

尝试在任何 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;

returns:

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 版本等方面找到任何明显的差异来区分它们。有什么想法可能是错误的吗?

这可能是由第 3 方备份软件引起的 - "IBM Tivoli Storage Manager for Databases"。有些版本在线备份数据库后处于无效状态。 但是在重新启动 oracle 服务索引后可以创建,直到备份再次中断它。