美文网首页
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