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

2019-09-29  本文已影响0人  Yinawake

最近在做根据空间范围查询时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

上一篇 下一篇

猜你喜欢

热点阅读