Oracle 11g ORA-13226:没有空间索引

时间:2017-09-30 11:31:56

标签: oracle oracle11g spatial-index

我正在尝试运行此查询:

select count (st.STANDID) as "stand view"
from STANDT st
where mdsys.sdo_filter(st.STANDGEOM,
mdsts.sdo_geometry(2003,null,null,
mdsys.sdo_elem_info_array(1,3,3),
mdsys.sdo_ordinate_array(0,0,20,20)),
'querytype=window') = 'TRUE';

在这张桌子上:

create table StandT(
StandId number constraint StandId primary key,
StandGeom mdsys.sdo_geometry,
StandName varchar2(20)
);

我收到了这个错误:

Error report -
ORA-13226: interface not supported without a spatial index
ORA-06512: at "MDSYS.MD", line 1723
ORA-06512: at "MDSYS.MDERR", line 8
ORA-06512: at "MDSYS.SDO_3GL", line 1224

正如消息告诉我的那样,我正在尝试创建空间索引:

create index f_ind_STANDT on STANDT(STANDGEOM)
indextype is mdsys.spatial_index
parameters('sdo_level=4, sdo_numtiles=4');

然后我收到了这个错误:

Error report -
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13249: internal error in Spatial index: [mdidxrbd]
ORA-13249: Error in Spatial index: index build failed
ORA-13206: internal error [Tessellate] while creating the spatial index
ORA-13249: Error in spatial index: [mdpridxtessellate]
ORA-13200: internal error [ROWID:AAAVM/AABAAAXLZAAA] in spatial indexing.
ORA-13019: coordinates out of bounds
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.

但现在可以在ALL_INDEXES表格中看到它:

SELECT INDEX_NAME FROM ALL_INDEXES WHERE TABLE_NAME = 'STANDT';

enter image description here

有谁知道,我如何修复这些错误以使我的查询有效?

0 个答案:

没有答案