Oracle Spatial创建空间索引时遇到的ORA-29855问题
过程描述:
执行的SQL语句:CREATE INDEX GC_ROAD_SEGMENT_CH_SIDX ON GC_ROAD_SEGMENT_CH(GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
抛出的异常: ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
创建索引:
a:如果都是一个类型,可以使用如下创建索引,提高速度。
CREATE INDEX geometry_index ON ix_poi(geometry) INDEXTYPE IS MDSYS.SPATIAL_INDEX
PARAMETERS ('LAYER_GTYPE=POINT');
b:重建索引
ALTER INDEX customers_sidx REBUILD ;
问题分析:
(1)使用以下语句查看创建索引结果:
select INDEX_NAME,TABLE_OWNER,TABLE_NAME,STATUS,ITYP_OWNER,ITYP_NAME,DOMIDX_STATUS,DOMIDX_OPSTATUS from user_indexes where ITYP_NAME is not null;
找到相应的记录,或者在上述查询中加入相应的条件(指定表名和索引类型)DOMIDX_OPSTATUS对应的为FAILED,说明创建空间索引失败。
oracle11g是有记录,但是无效,可以使用drop index GC_ROAD_SEGMENT_CH_SIDX; 删除索引
(2)使用以下语句查看相应元数据:
select * from user_sdo_geom_metadata
可以在查询条件中加入表名条件,缩小搜索范围,发现元数据表中无记录。
原 因:
当时创建空间表时没有创建相应的空间元数据。
解决办法:
(1)先在user_sdo_geom_metadata中使用以下语句创建相应的元数据 (SDO_DIM_ELEMENT值是固定的)
insert into user_sdo_geom_metadata(table_name,COLUMN_NAME, DIMINFO, SRID)
values(
'GC_ROAD_SEGMENT_CH',
'GEOMETRY',
MDSYS.SDO_DIM_ARRAY(
MDSYS.SDO_DIM_ELEMENT('X',-180,180,0.005),
MDSYS.SDO_DIM_ELEMENT('Y',-90,90,0.005)
),
8307
)
(2)再执行空间索引创建语句:
CREATE INDEX GC_ROAD_SEGMENT_CH_SIDX ON GC_ROAD_SEGMENT_CH(GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
无错误提示,问题得到解决。
总 结:
在创建空间索引时先创建相应的元数据。
相关推荐
第二者用于空间索引的定义和存储,决定数据查询 分析的效率;第三者以前两者为基础,提供相应的查询和分析算 子函数,第四者主要负责数据的管理,以前三者为基础,其中数据 库的效率由前两者决定。 Oracle Spatial将...
如何用SQL语句创建Oracle Spatial的图层-MyGIS软件工作室-James MapInfo技术论坛.txt
主要将了ArcGIS与Oracle Spatial之间的连接问题,解决了ArcGIS对于Oracle Spatial数据的读写问题
[Packt Publishing] Oracle Spatial 应用扩展 (英文版) [Packt Publishing] Applying and Extending Oracle Spatial (E-Book) ☆ 图书概要:☆ Overview Understand how to develop Oracle Spatial data models ...
《Oracle Spatial空间信息管理:Oracle Database 11g》是世界级Oracle Spatial专家Ravi Kothuri、Albert Godfrind和Euro Beinat自力作,旨在向您提供空间信息管理方面的概念知识和实用技能,帮助您成为该领域的专家。...
《Oracle Spatial空间信息管理:Oracle Database 11g》是世界级Oracle Spatial专家Ravi Kothuri、Albert Godfrind和Euro Beinat自力作,旨在向您提供空间信息管理方面的概念知识和实用技能,帮助您成为该领域的专家...
本书是世界级Oracle Spatial专家Ravi Kothuri、Albert Godfrind和Euro Beinat的力作,旨在向您提供空间信息管理方面的概念知识和实用技能,帮助您成为该领域的专家。书中涵盖了Oracle数据库中空间信息管理的所有内容...
基于Oracle Spatial的空间数据索引.pdf
oracle spatial 空间 笔记
Oracle Spatial 11g GeoRaster Oracle Spatial 11g GeoRaster Oracle Spatial 11g GeoRaster Oracle Spatial 11g GeoRaster
01-Spatial China Seminar-Spatial公司简介-Kochi.pps01-Spatial China Seminar-Spatial公司简介-Kochi.pps01-Spatial China Seminar-Spatial公司简介-Kochi.pps
基于Oracle Spatial的矢量空间数据管理机制.pdf
xtreme for java连接oracle spatial 空间数据库
介绍了如何使用Oracle Spatial操作通过ArcSDE存储到Oracle数据库中的空间数据
oracle spatial 介绍,应用,案例,实用说明等相关介绍
Pro Oracle Spatial for Oracle Database 11g shows how to take advantage of Oracle Database's built-in feature set for working with location-based data. A great deal of the information used in business ...
OracleSpatial_OCI一书中的代码,学习oci很好的起步基础
To address these problems, this article proposes a novel spatial modulation assisted multi-antenna NOMA technique, which avoids the use of successive interference cancellation and is able to ...
oracle spatial的开发文档,其中包括单独的GeoRaster开发文档。有助于对oracle spatial空间数据库的更深入的了解。
学习Oracle Spatial的入门书