问题描述

公司这边用了Oracle Spatial来存储GIS数据信息,今天在某表上创建空间索引时报了下面的错:

此处举例说明:

假如有表TEST,其中有一列SHAPE存储维度信息。

CREATE INDEX IDX_TEST_SHAPE ON TEST(SHAPE) INDEXTYPE IS MDSYS.SPATIAL_INDEX;

在百度根本找不到相关解决方案,后来FQ到谷歌上查了几圈发现都不是很匹配,最后在Oracle官方社区找到了解决方案:

https://community.oracle.com/thread/2435630

原因分析

就是说该表中存储的维度信息有部分是非法的,导致域索引无法创建成功。

解决问题

办法就是利用Oracle的SDO_GEOM包中的VALIDATE_LAYER_WITH_CONTEXT方法来找出异常数据并删除,然后重建域索引就好了!

SDO_GEOM包相关参考:

http://docs.oracle.com/cd/E11882_01/appdev.112/e11830/sdo_objgeom.htm#BGHIAAIF

具体操作步骤SQL:

--1.创建测试表,用于存储分析结果数据
CREATE TABLE val_results (sdo_rowid ROWID, result varchar2(1000));
--2.执行分析过程
CALL SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT('TEST','SHAPE','VAL_RESULTS');
--3.找出异常数据
SQL> SELECT * from val_results where length(result) < 10; SDO_ROWID
------------------
RESULT
------------------------
AAABXNAABAAAK+YAAC 13011 (这一列就是异常代码,前面拼上ORA-百度一下就能查出具体异常描述) ---此处我查出:
ORA-13011: value is out of range..
Cause: A specified dimension value is outside the range
defined for that dimension. Action: Make sure that all values to be encoded are within
the defined dimension range. --意思就是这条数据中存储的维度值超出了范围 --4.删除前面创建失败的索引(虽然创建时候报错了,但字典里已经有了该索引信息只不过是FAILED状态不可用)
drop index idx_test_shape force; --5.删除这条数据
delete from test where rowid='AAABXNAABAAAK+YAAC';
commit; --6.再次创建索引
CREATE INDEX IDX_TEST_SHAPE ON TEST(SHAPE) INDEXTYPE IS MDSYS.SPATIAL_INDEX;

特此奉上,希望大家碰到了少走弯路!不谢!

解决Oracle创建空间索引报错ORA-29855,ORA-13249,ORA-29400,ORA-01426的更多相关文章

  1. Oracle创建dblink报错:ORA-01017、ORA-02063解决

    Oracle环境:oracle 10.2.0.1 创建的 public dblink 连接oracle 11.2.0.3 ORA-01017: invalid username/password; l ...

  2. Mysql备份迁移——MySqlBackup(.net)——(无法解决视图嵌视图报错)

    这里是利用MySqlBackup,可以再nuget中下载. 无法解决视图嵌视图报错的问题,只导表跟数据比较合适,如果有视图嵌视图,请参照Mysql备份迁移——Mysqldump(.NET调用Mysql ...

  3. [转]ORACLE 11G 导出报错(EXP-00003)未找到段 (0,0) 的存储定义

    http://blog.csdn.net/qq_19524879/article/details/51313205 ORACLE 11G 导出报错(EXP-00003)未找到段 (0,0) 的存储定义 ...

  4. Oracle Online Patching报错"This is not a RAC setup. OPatch cannot determine the local node name"

    Oracle Online Patching报错"This is not a RAC setup. OPatch cannot determine the local node name&q ...

  5. 解决vue安装less报错Failed to compile with 1 errors的问题

    1.创建vue项目后安装less,执行 npm install less less-loader --save-dev 下载版本为:less-loader@6.1.0 , less@3.11.3,重启 ...

  6. 解决eclipse spring配置报错:cvc-elt.1: Cannot find the declaration of element

    解决eclipse spring配置报错:cvc-elt.1: Cannot find the declaration of element 'beans'.Referenced file conta ...

  7. 解决一个报表EdmFunction报错问题

        最近测试组提了一个bug,说是某个报表点击查询报错,查看错误log,错误信息如下. 类型"Ticket.Data.SqlFuns"上指定的方法"Boolean C ...

  8. 安装Oracle 11gR2,报错:[INS-06101] IP address of localhost could not be determined

    安装Oracle 11gR2,报错:[INS-06101] IP address of localhost could not be determined 出现这种错误是因为主机名和/etc/host ...

  9. 解决cookies存储中文报错问题

    URLEncoder.encode("username", "UTF-8"); URLDecoder.decode("123", " ...

  10. 解决element-ui upload组件报错 Avoid using non-primitive value as key, use string/number value instead

    到底是啥错呢,就是要求你的key必须是string或者number类型 那么解决就是找到这个报错的key(在node_modules/element-ui/lib/element-ui.common. ...

随机推荐

  1. Django应用中的静态文件处理

    在日常开发中,我们都是把Django的Debug模式打开,方便调试,在这个模式下,由Django内置的Web服务器提供静态文件服务,不过需要进行一些配置,才能正确访问. 配置settings # St ...

  2. IL合集二

    引言 在第一篇关于IL的文章中,我们写了一些IL的相加,创建对象,循环以及实现TryCatch的一些功能,接下来,为大家带上后续关于IL的更新,其中包括,类型转换,以及条件判断,还有定义字段,定义属性 ...

  3. 使用Grafana 监控 minio 的部分改进

    使用Grafana 监控 minio 的部分改进 部署minio开启监控metrics的脚本 mkdir -p /data/minio/data cat << EOF > /etc/ ...

  4. [转帖]解决Harbor在服务器重启后无法自启动的问题

    问题 当部署Harbor的服务器在重启之后,可能会出现Harbor无法跟随系统自启动 解决方案 现假设Harbor的安装目录位置为/usr/local/harbor,在Harbor安装完成之后,在此目 ...

  5. [转帖]badboy与jmeter的结合使用

    https://blog.csdn.net/weixin_41754309/article/details/107106855 欢迎关注[无量测试之道]公众号,回复[领取资源], Python编程学习 ...

  6. [转帖]Nginx惊群效应引起的系统高负载

    https://zhuanlan.zhihu.com/p/401910162 原创:蒋院波 导语:本文从进程状态,进程启动方式,网络io多路复用纬度等方面知识,分享解决系统高负载低利用率的案例 前言: ...

  7. [转帖]理解 postgresql.conf 的work_mem 参数配置

    https://developer.aliyun.com/article/401250 简介: 主要是通过具体的实验来理解 work_mem 今天我们着重来了解 postgresql.conf 中的 ...

  8. [转帖]如何部署windows版本的oswatcher

    2017-02-22 没有评论 windows上也有os watcher:OSWFW. 目前支持的windows版本是: Windows XP (x86 & x64)Windows 7 (x8 ...

  9. [转帖]07-rsync企业真实项目备份案例实战(需求收集--服务器配置---客户端配置---报警机制---数据校验---邮件告警)

    https://developer.aliyun.com/article/885820?spm=a2c6h.24874632.expert-profile.279.7c46cfe9h5DxWK 简介: ...

  10. [转帖]009 Linux 文件大小统计与排序 (du 于 df 和 sort)

    https://my.oschina.net/u/3113381/blog/5463932 01 du 与 df 作用与区别? Linux 最有用最常用的统计文件大小命令是什么?无疑就是 du 和 d ...