解决Oracle创建空间索引报错ORA-29855,ORA-13249,ORA-29400,ORA-01426
问题描述
公司这边用了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的更多相关文章
- 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 ...
- Mysql备份迁移——MySqlBackup(.net)——(无法解决视图嵌视图报错)
这里是利用MySqlBackup,可以再nuget中下载. 无法解决视图嵌视图报错的问题,只导表跟数据比较合适,如果有视图嵌视图,请参照Mysql备份迁移——Mysqldump(.NET调用Mysql ...
- [转]ORACLE 11G 导出报错(EXP-00003)未找到段 (0,0) 的存储定义
http://blog.csdn.net/qq_19524879/article/details/51313205 ORACLE 11G 导出报错(EXP-00003)未找到段 (0,0) 的存储定义 ...
- 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 ...
- 解决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,重启 ...
- 解决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 ...
- 解决一个报表EdmFunction报错问题
最近测试组提了一个bug,说是某个报表点击查询报错,查看错误log,错误信息如下. 类型"Ticket.Data.SqlFuns"上指定的方法"Boolean C ...
- 安装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 ...
- 解决cookies存储中文报错问题
URLEncoder.encode("username", "UTF-8"); URLDecoder.decode("123", " ...
- 解决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. ...
随机推荐
- [转帖]Kubernetes 1.23:IPv4/IPv6 双协议栈网络达到 GA
https://kubernetes.io/zh-cn/blog/2021/12/08/dual-stack-networking-ga/#:~:text=Kubernetes%201.23%EF%B ...
- [转帖]sql server 索引阐述系列六 碎片查看与解决方案
https://www.cnblogs.com/MrHSR/p/9365720.html 一 . dm_db_index_physical_stats 重要字段说明 1.1 内部碎片:是avg_pag ...
- [转帖]Kafka中offsets.retention.minutes和log.retention.minutes之间的区别
https://www.cnblogs.com/lestatzhang/p/10771115.html 前言 在Kafka中,我们可能会发现两个与retention相关的配置: log.retenti ...
- [转帖]RocksDB 简介
https://docs.pingcap.com/zh/tidb/stable/rocksdb-overview RocksDB 是由 Facebook 基于 LevelDB 开发的一款提供键值存储与 ...
- [转帖][大数据]ETL之增量数据抽取(CDC)
https://www.cnblogs.com/johnnyzen/p/12781942.html 目录 1 CDC 概念 1.1 定义 1.2 需求背景 1.3 考察指标 2 CDC 常见解决方案 ...
- [转帖]Linux—解压缩命令总结(tar/zip)
https://www.jianshu.com/p/1ad5d852d13b 1 tar 1.2 tar介绍 tar命令是linux系统中对文件和目录解压缩命令.tar命令可以用于对后缀名为.ta ...
- [转帖]sendfile“零拷贝”、mmap内存映射、DMA
https://www.jianshu.com/p/7863667d5fa7 KAFKA推送消息用到了sendfile,落盘技术用到了mmap,DMA贯穿其中. 先说说零拷贝 零拷贝并不是不需要拷贝, ...
- [转帖]Centos7 nginx访问日志文件割接
一.yum安装nginx 二.各文件路径( /etc/nginx/nginx.conf) 1.访问日志路径:access_log /var/log/nginx/access.log main; 2.p ...
- [转帖]RPC 框架总结与进阶
https://www.cnblogs.com/xiaojiesir/p/15579418.html 框架总结 Netty 服务端启动 Netty 提供了 ServerBootstrap 引导类作为程 ...
- TypeScript接口的讲解-强制约束-可选属性-任意多个属性-只读属性
接口 接口:可以描述类的一部分抽象行为, 也可以描述数据的结构形状 接口一般首字母大写, 接口中 可以定义为 强制约束 可选属性 只读属性 任意属性 # 强制约束 // 定义接口 interface ...