美文网首页
Oracle创建空间索引报错ORA-13226,ORA-2985

Oracle创建空间索引报错ORA-13226,ORA-2985

作者: Yinawake | 来源:发表于2019-09-29 11:11 被阅读0次

最近在做根据空间范围查询时ORA-13226

image.png

于是对表创建图形索引


Create index T_INDEX on t_tx_test(shape) INDEXTYPE IS MDSYS.SPATIAL_INDEX;

image.png

网上百度解决,这里顺便纪录一下。

原因

空间表中有不规范的坐标信息造成的。

解决办法

删除不规范的数据


--1.创建测试表,用于存储分析结果数据

CREATE TABLE val_results (sdo_rowid ROWID, result varchar2(1000));

--2.执行分析过程

CALL SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT('T_TX_TEST','SHAPE','val_results');

--3.找出异常数据

SELECT * from val_results where length(result) < 10;

image.png

SELECT * from t_tx_TEST where rowid in (

'AAAaBUAAyAAAz3HAAf',

'AAAaBUAAyAAAz/SAAE'

)

image.png

删除不规范数据


DELETE from t_tx_TEST where rowid in (

'AAAaBUAAyAAAz3HAAf',

'AAAaBUAAyAAAz/SAAE'

)

重新创建索引


Create index T_TX_test_INDEX on t_tx_test(shape) INDEXTYPE IS MDSYS.SPATIAL_INDEX;

引用:

解决Oracle创建空间索引报错ORA-29855,ORA-13249,ORA-29400,ORA-01426

相关文章

网友评论

      本文标题:Oracle创建空间索引报错ORA-13226,ORA-2985

      本文链接:https://www.haomeiwen.com/subject/nmhfpctx.html